From 35b255bd2c9451e49ca5dc7620627d1591930e18 Mon Sep 17 00:00:00 2001
From: lcy <1459594991@qq.com>
Date: 星期五, 24 四月 2026 16:47:24 +0800
Subject: [PATCH] 262 幻境阁 支持解锁途径5形象解锁,对应头像解锁
---
Main/System/PhantasmPavilion/PhantasmPavilionManager.cs | 19 +++++++++++++++++--
Main/System/PhantasmPavilion/PhantasmPavilionUnlockButton.cs | 9 +++++++++
2 files changed, 26 insertions(+), 2 deletions(-)
diff --git a/Main/System/PhantasmPavilion/PhantasmPavilionManager.cs b/Main/System/PhantasmPavilion/PhantasmPavilionManager.cs
index 27f384c..7cc4e63 100644
--- a/Main/System/PhantasmPavilion/PhantasmPavilionManager.cs
+++ b/Main/System/PhantasmPavilion/PhantasmPavilionManager.cs
@@ -214,7 +214,7 @@
int unlockValue = GetUnlockValue(type, id);
int resourceType = GetResourceType(type, id);
string resourceValue = GetResourceValue(type, id);
- if ((UnlockWay == 3 || UnlockWay == 4) && resourceValue == "")
+ if ((UnlockWay == 3 || UnlockWay == 4 || UnlockWay == 5) && resourceValue == "")
{
int skinID = 0;
if (UnlockWay == 3)
@@ -226,6 +226,12 @@
else if (UnlockWay == 4)
{
skinID = unlockValue; // UnlockValue 鐩存帴灏辨槸 skinID
+ }
+ else if (UnlockWay == 5)
+ {
+ int modelID = unlockValue; // UnlockValue 鏄� ModelID
+ if (!ModelConfig.HasKey(modelID)) return;
+ skinID = ModelConfig.Get(modelID).SkinID; // 鎷垮埌褰㈣薄瀵瑰簲鐨勭毊鑲D
}
if (!HeroSkinConfig.HasKey(skinID)) return;
@@ -551,6 +557,9 @@
case PhantasmPavilionUnlockWay.Skin:
bool hasSkin = HeroUIManager.Instance.IsHeroSkinActive(HeroConfig.GetHeroIDBySkinID(unlockValue), unlockValue);
return hasSkin;
+ case PhantasmPavilionUnlockWay.Model:
+ // 濡傛灉瀵瑰簲鐨勫舰璞″凡瑙i攣锛屽垯璇ュご鍍忎篃瑙i攣
+ return IsUnlock(PhantasmPavilionType.Model, unlockValue);
default:
return false;
}
@@ -594,6 +603,10 @@
: PhantasmPavilionState.Locked;
case PhantasmPavilionUnlockWay.Skin:
return HeroUIManager.Instance.IsHeroSkinActive(HeroConfig.GetHeroIDBySkinID(unlockValue), unlockValue)
+ ? PhantasmPavilionState.Activated
+ : PhantasmPavilionState.Locked;
+ case PhantasmPavilionUnlockWay.Model:
+ return IsUnlock(PhantasmPavilionType.Model, unlockValue)
? PhantasmPavilionState.Activated
: PhantasmPavilionState.Locked;
default:
@@ -941,7 +954,9 @@
Activate = 1, // 榛樿(鍒涜鑹插氨鍙互鐢ㄧ殑)
Item, // 閬撳叿
Hero, // 姝﹀皢
- Skin, // 鐨偆
+ Skin, // 鐨偆
+ Model, // 褰㈣薄
+
}
/// 骞诲闃佺墿鍝佺殑鐘舵��
diff --git a/Main/System/PhantasmPavilion/PhantasmPavilionUnlockButton.cs b/Main/System/PhantasmPavilion/PhantasmPavilionUnlockButton.cs
index 78d9b25..9945047 100644
--- a/Main/System/PhantasmPavilion/PhantasmPavilionUnlockButton.cs
+++ b/Main/System/PhantasmPavilion/PhantasmPavilionUnlockButton.cs
@@ -49,6 +49,15 @@
return;
}
}
+ else if (unlockWay == 5) // 濡傛灉鏄舰璞¤В閿�
+ {
+ bool hasModel = manager.IsUnlock(PhantasmPavilionType.Model, unlockValue);
+ if (!hasModel)
+ {
+ SysNotifyMgr.Instance.ShowTip("UnLockFail1"); // 鍙互鏍规嵁闇�瑕佹崲鎴愬搴旂殑璇█鍖� Key锛屽 "褰㈣薄鏈В閿�"
+ return;
+ }
+ }
manager.SendOPPack(type, PhantasmPavilionOperation.Activate, (uint)id);
SysNotifyMgr.Instance.ShowTip("UnLockSuccess");
});
--
Gitblit v1.8.0