From d2dd33cc0ca421e276d50abc46688f5db83aa42b Mon Sep 17 00:00:00 2001
From: client_Zxw <826696702@qq.com>
Date: 星期二, 13 十一月 2018 19:45:39 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.87:10010/r/snxxz_scripts
---
System/Treasure/TreasureExhibitionBehaviour.cs | 2
System/Chat/ChatCenter.cs | 2
System/Compose/New/ComposeEquipWin.cs | 7
System/Treasure/FairyTreasureWin.cs | 70 ++
Core/SFX/SFXPlayUtility.cs | 5
System/MainInterfacePanel/PowerAddWin.cs | 2
System/Treasure/TreasureBaseWin.cs | 288 +++++++++++
System/MainInterfacePanel/CoinTaskTipModel.cs | 4
UI/Common/UI3DShowHero.cs | 24
System/Treasure/TreasureDemonBehaviour.cs | 5
System/Treasure/DemonTreasureWin.cs | 70 ++
Fight/Stage/StageManager.cs | 41 +
System/Treasure/TreasureSelectWin.cs | 2
System/Treasure/FairyTreasureCollectPanel.cs | 18
System/Achievement/AchievementModel.cs | 30
System/Treasure/TreasureCollectBriefInfoBehaviour.cs | 2
System/GeneralConfig/GeneralDefine.cs | 6
System/Treasure/DemonTreasureWin.cs.meta | 12
System/Treasure/TreasureLevelUpWin.cs | 315 ++----------
System/MainInterfacePanel/FlyingShoesTask.cs | 4
System/Store/StoreModel.cs | 254 ++++++++++
System/WindowJump/WindowJumpMgr.cs | 8
System/MainInterfacePanel/PlayerTaskDatas.cs | 2
System/WorldMap/LocalMapTreasure.cs | 2
Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0310_tagRoleSkillChange.cs | 3
System/Treasure/FairyTreasureCollectPanelPattern3.cs | 4
System/Treasure/FairyTreasureCollectPanelPattern5.cs | 8
Core/ResModule/AssetBundle/AssetBundleUtility.cs | 41 +
Core/ResModule/InstanceResourcesLoader.cs | 217 ++++++++
System/BossShow/BossShowModel.cs | 4
System/Treasure/FairyTreasureWin.cs.meta | 12
System/Treasure/UI3DTreasureSelectStage.cs | 1
System/Treasure/TreasureBaseWin.cs.meta | 12
33 files changed, 1,138 insertions(+), 339 deletions(-)
diff --git a/Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0310_tagRoleSkillChange.cs b/Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0310_tagRoleSkillChange.cs
index af0faa5..616e43a 100644
--- a/Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0310_tagRoleSkillChange.cs
+++ b/Core/NetworkPackage/DTCFile/ServerPack/H03_MainCharacter/DTC0310_tagRoleSkillChange.cs
@@ -68,7 +68,8 @@
{
SkillHelper.Instance.OnSpSkillChange(vNetData.NewSkillID, 1);
}
+
+ InstanceResourcesLoader.PreloadSkillEffect(vNetData.NewSkillID);
}
}
-
}
diff --git a/Core/ResModule/AssetBundle/AssetBundleUtility.cs b/Core/ResModule/AssetBundle/AssetBundleUtility.cs
index e2b4702..9919ef1 100644
--- a/Core/ResModule/AssetBundle/AssetBundleUtility.cs
+++ b/Core/ResModule/AssetBundle/AssetBundleUtility.cs
@@ -8,6 +8,8 @@
public class AssetBundleUtility : SingletonMonobehaviour<AssetBundleUtility>
{
private List<AssetBundleInfo> m_AssetBundleInfoList = new List<AssetBundleInfo>();
+ private List<string> m_LoadingAssetBundleList = new List<string>();
+ private List<string> m_LoadingAssetList = new List<string>();
private Dictionary<string, AssetInfo> m_AssetInfoDict = new Dictionary<string, AssetInfo>();
private Dictionary<string, AssetBundle> m_AssetBundleDict = new Dictionary<string, AssetBundle>();
private Dictionary<string, Dictionary<string, UnityEngine.Object>> m_AssetDict = new Dictionary<string, Dictionary<string, UnityEngine.Object>>();
@@ -187,6 +189,18 @@
yield break;
}
+ if (m_LoadingAssetBundleList.Contains(assetBundleName))
+ {
+ while (!m_AssetBundleDict.ContainsKey(assetBundleName))
+ {
+ // Debug.Log(Time.frameCount + " ] 姝e湪鍔犺浇AssetBundle: " + assetBundleName + ", 璇风瓑寰�...");
+ yield return null;
+ }
+ yield break;
+ }
+
+ m_LoadingAssetBundleList.Add(assetBundleName);
+
var _assetBundleInfo = GetAssetBundleInfo(assetBundleName);
if (_assetBundleInfo == null)
{
@@ -211,6 +225,8 @@
}
CacheAssetBundle(assetBundleName, _request.assetBundle);
+
+ m_LoadingAssetBundleList.Remove(assetBundleName);
}
private IEnumerator Co_LoadAssetBundleDependenice(AssetBundleInfo assetBundleInfo)
@@ -242,11 +258,35 @@
private IEnumerator Co_DoLoadAsset(string assetBundleName, string assetName, Action<bool, UnityEngine.Object> callBack = null)
{
+#if UNITY_5
+ assetBundleName = assetBundleName.ToLower();
+#endif
+
#if UNITY_EDITOR
RunTimeABLoadLog.AddLog(assetBundleName, assetName, UnityEngine.SceneManagement.SceneManager.GetActiveScene().name);
#endif
yield return Co_LoadAssetBundle(assetBundleName);
+
+ string _checkTag = assetBundleName + "@" + assetName;
+ if (m_LoadingAssetList.Contains(_checkTag))
+ {
+ while (!m_AssetDict.ContainsKey(assetBundleName)
+ || !m_AssetDict[assetBundleName].ContainsKey(assetName))
+ {
+ // Debug.Log(Time.frameCount + " ] 姝e湪鍔犺浇Asset: " + _checkTag + ", 璇风瓑寰�...");
+ yield return null;
+ }
+
+ if (callBack != null)
+ {
+ callBack(true, m_AssetDict[assetBundleName][assetName]);
+ }
+
+ yield break;
+ }
+
+ m_LoadingAssetList.Add(_checkTag);
var request = m_AssetBundleDict[assetBundleName].LoadAssetAsync(assetName);
while (!request.isDone)
@@ -270,6 +310,7 @@
}
}
+ m_LoadingAssetList.Remove(_checkTag);
}
private IEnumerator Co_DoLoadAsset(AssetInfo assetInfo, Action<bool, UnityEngine.Object> callBack = null)
diff --git a/Core/ResModule/InstanceResourcesLoader.cs b/Core/ResModule/InstanceResourcesLoader.cs
index 1a3d2f9..df3f2ce 100644
--- a/Core/ResModule/InstanceResourcesLoader.cs
+++ b/Core/ResModule/InstanceResourcesLoader.cs
@@ -29,25 +29,25 @@
public static RuntimeAnimatorController LoadDefaultMobAnimatorController_Fight()
{
return AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix,
- GeneralDefine.ModeDefaultConfig[1][1]);
+ GeneralDefine.ModeDefaultConfig[1][1].Replace("Prefab_Race_", ""));
}
public static RuntimeAnimatorController LoadDefaultMobAnimatorController_Func()
{
return AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix,
- GeneralDefine.ModeDefaultConfig[0][1]);
+ GeneralDefine.ModeDefaultConfig[0][1].Replace("Prefab_Race_", ""));
}
public static RuntimeAnimatorController LoadDefaultMobAnimatorController_Horse()
{
return AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix,
- GeneralDefine.ModeDefaultConfig[3][1]);
+ GeneralDefine.ModeDefaultConfig[3][1].Replace("Prefab_Horse_", ""));
}
public static RuntimeAnimatorController LoadDefaultMobAnimatorController_Pet()
{
return AnimatorControllerLoader.LoadMobController(AnimatorControllerLoader.controllerSuffix,
- GeneralDefine.ModeDefaultConfig[2][1]);
+ GeneralDefine.ModeDefaultConfig[2][1].Replace("Prefab_Race_", ""));
}
public static GameObject LoadDefaultFightNPC()
@@ -60,6 +60,25 @@
{
return LoadMob(GeneralDefine.ModeDefaultConfig[0][0],
GeneralDefine.ModeDefaultConfig[0][1]);
+ }
+
+ public static void AsyncLoadDefaultFuncNpc(Action<bool, UnityEngine.Object> callBack)
+ {
+ AsyncLoadNpc(GeneralDefine.ModeDefaultConfig[0][0],
+ GeneralDefine.ModeDefaultConfig[0][1],
+ callBack);
+ }
+ public static void AsyncLoadDefaultFightNpc(Action<bool, UnityEngine.Object> callBack)
+ {
+ AsyncLoadNpc(GeneralDefine.ModeDefaultConfig[1][0],
+ GeneralDefine.ModeDefaultConfig[1][1],
+ callBack);
+ }
+ public static void AsyncLoadDefaultPet(Action<bool, UnityEngine.Object> callBack)
+ {
+ AsyncLoadNpc(GeneralDefine.ModeDefaultConfig[2][0],
+ GeneralDefine.ModeDefaultConfig[2][1],
+ callBack);
}
public static GameObject LoadDefaultHorse()
@@ -228,6 +247,84 @@
return prefab;
}
+ public static void AsyncLoadModelRes(int id, Action<bool, UnityEngine.Object> callback = null)
+ {
+ ModelResConfig _m = Config.Instance.Get<ModelResConfig>(id);
+
+ if (_m == null)
+ {
+ return;
+ }
+
+ string _name = _m.ResourcesName;
+ int _index = _name.IndexOf('/');
+ if (_index != -1)
+ {
+ _name = _name.Substring(_index + 1);
+ }
+
+ string _suffix = string.Empty;
+
+ if (_m.Type == (int)E_ModelResType.Suit)
+ {
+ _suffix = raceSuffix;
+ }
+ else if (_m.Type == (int)E_ModelResType.Horse)
+ {
+ _suffix = horseSuffix;
+ }
+ else if (_m.Type == (int)E_ModelResType.Wing)
+ {
+ _suffix = wingSuffix;
+ }
+ else if (_m.Type == (int)E_ModelResType.Weapon)
+ {
+ _suffix = weaponSuffix;
+ }
+ else if (_m.Type == (int)E_ModelResType.Secondary)
+ {
+ _suffix = secondarySuffix;
+ }
+ else if (_m.Type == (int)E_ModelResType.Hand)
+ {
+ _suffix = handSuffix;
+ }
+
+ if (AssetSource.mobFromEditor)
+ {
+#if UNITY_EDITOR
+ string _resourcePath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
+ "Mob/",
+ _suffix + _name,
+ ".prefab");
+
+ var _gameObject = AssetDatabase.LoadAssetAtPath<GameObject>(_resourcePath);
+
+ if (_gameObject)
+ {
+ if (callback != null)
+ {
+ callback(true, _gameObject);
+ }
+ }
+ else
+ {
+ if (callback != null)
+ {
+ callback(false, null);
+ }
+ }
+#endif
+ }
+ else
+ {
+ string _bundleName = StringUtility.Contact(ResourcesPath.MOB_FOLDER_NAME, "prefab_race_" + _name.Replace("_UI", ""));
+ string _assetName = _suffix + _name;
+
+ AssetBundleUtility.Instance.Co_LoadAsset(_bundleName, _assetName, callback);
+ }
+ }
+
public static GameObject LoadMob(string assetBundleName, string assetName)
{
GameObject _gameObject = null;
@@ -301,8 +398,7 @@
return _gameObject;
}
-
- public static void LoadEffectAsync(int _id, Action<bool, UnityEngine.Object> _callBack)
+ public static void LoadEffectAsync(int _id, Action<bool, UnityEngine.Object> _callBack = null)
{
GameObject gameObject = null;
var config = Config.Instance.Get<EffectConfig>(_id);
@@ -334,4 +430,113 @@
AssetBundleUtility.Instance.Co_LoadAsset(bundleName, config.fxName, _callBack);
}
}
+
+ public static void AsyncLoadNpc(int npcID, Action<bool, UnityEngine.Object> callBack = null)
+ {
+ NPCConfig _m = Config.Instance.Get<NPCConfig>(npcID);
+
+ if (_m == null || _m.MODE.Equals("0"))
+ {
+ if (callBack != null)
+ {
+ callBack(false, null);
+ }
+ }
+
+ string _assetName;
+ string _assetBundleName;
+
+ if (GAMgr.Instance.s_NpcID2Assetname.TryGetValue(npcID, out _assetName))
+ {
+ _assetBundleName = GAMgr.Instance.s_NpcID2BundleName[npcID];
+ }
+ else
+ {
+ _assetName = StringUtility.Contact(raceSuffix, _m.MODE);
+ _assetBundleName = StringUtility.Contact(ResourcesPath.MOB_FOLDER_NAME, _assetName);
+ GAMgr.Instance.s_NpcID2Assetname[npcID] = _assetName;
+ GAMgr.Instance.s_NpcID2BundleName[npcID] = _assetBundleName;
+ }
+
+ AsyncLoadNpc(_assetBundleName, _assetName, callBack);
+ }
+
+ public static void AsyncLoadNpc(string assetBundleName, string assetName, Action<bool, UnityEngine.Object> callBack = null)
+ {
+ if (AssetSource.mobFromEditor)
+ {
+#if UNITY_EDITOR
+ string _resourcePath = StringUtility.Contact(ResourcesPath.ResourcesOutAssetPath,
+ "Mob/",
+ assetName,
+ ".prefab");
+
+ var _p = AssetDatabase.LoadAssetAtPath<GameObject>(_resourcePath);
+ if (callBack != null)
+ {
+ callBack(true, _p);
+ }
+#endif
+ }
+ else
+ {
+ AssetBundleUtility.Instance.Co_LoadAsset(assetBundleName, assetName, callBack);
+ }
+ }
+
+ public static void PreloadSkillEffect(int id)
+ {
+ var _skillInfo = SkillHelper.Instance.Get(id);
+ // 鎶�鑳界壒鏁堥鍔犺浇
+ if (_skillInfo.config.EffectName > 0)
+ {
+ InstanceResourcesLoader.LoadEffectAsync(_skillInfo.config.EffectName);
+ }
+ if (_skillInfo.config.BuffEffectID > 0)
+ {
+ InstanceResourcesLoader.LoadEffectAsync(_skillInfo.config.EffectName);
+ }
+
+ var _soSkill = _skillInfo.soFile;
+ if (_soSkill != null)
+ {
+ for (int i = 0; i < _soSkill.animationEventList.Count; ++i)
+ {
+ if (_soSkill.animationEventList[i].frameEventType == E_FrameEventType.OnPlayEffect)
+ {
+ if (_soSkill.animationEventList[i].intParam > 0)
+ {
+ InstanceResourcesLoader.LoadEffectAsync(_soSkill.animationEventList[i].intParam);
+ }
+ }
+ else if (_soSkill.animationEventList[i].frameEventType == E_FrameEventType.OnSkillEvent)
+ {
+ var _param = _soSkill.animationEventList[i].intParam;
+ var _type = SoSkill.GetAttactType(_param);
+ var _id = SoSkill.GetFrameEventId(_param);
+ if (_type == SoSkill.E_AttackType.Sweep)
+ {
+ var _config = ScriptableObjectLoader.LoadSoSweepHit(_id);
+ if (_config.hitEffectId > 0)
+ {
+ InstanceResourcesLoader.LoadEffectAsync(_config.hitEffectId);
+ }
+ }
+ else if (_type == SoSkill.E_AttackType.FlyObject)
+ {
+ var _config = ScriptableObjectLoader.LoadSoFlyObject(_id);
+ if (_config.hitEffectId > 0)
+ {
+ InstanceResourcesLoader.LoadEffectAsync(_config.hitEffectId);
+ }
+
+ if (_config.ammoEffectId > 0)
+ {
+ InstanceResourcesLoader.LoadEffectAsync(_config.hitEffectId);
+ }
+ }
+ }
+ }
+ }
+ }
}
diff --git a/Core/SFX/SFXPlayUtility.cs b/Core/SFX/SFXPlayUtility.cs
index 1733ea4..485c57e 100644
--- a/Core/SFX/SFXPlayUtility.cs
+++ b/Core/SFX/SFXPlayUtility.cs
@@ -18,7 +18,6 @@
public SFXController PlayEffectAsync(int id, Transform parent, float scale = 1)
{
var config = Config.Instance.Get<EffectConfig>(id);
- Debug.LogFormat("[{0}] 寮�濮嬪紓姝ュ姞杞�: {1}", System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), config.fxName);
var bundleName = StringUtility.Contact(ResourcesPath.EFFECT_Folder_Name, config.packageName);
if (AssetSource.effectFromEditor || AssetBundleUtility.Instance.JudgeExistAsset(bundleName, config.fxName))
{
@@ -41,7 +40,6 @@
}
else
{
- Debug.LogFormat("[{0}] 寮�濮嬪紓姝ュ姞杞�: {1}", System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), config.fxName);
AssetBundleUtility.Instance.Co_LoadAsset(bundleName, config.fxName, OnEffectLoaded);
return null;
}
@@ -55,7 +53,6 @@
if (_prefab)
{
GameObjectPoolManager.Instance.CacheGameObject(_prefab, 1, false);
- Debug.LogFormat("[{0}] 寮傛鍔犺浇: {1} 瀹屾瘯", System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), _prefab.name);
}
}
}
@@ -134,7 +131,7 @@
}
else
{
- Debug.LogFormat("[{0}] 寮�濮嬪紓姝ュ姞杞�: {1}", System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), config.fxName);
+ // Debug.LogFormat("[{0}] 寮�濮嬪紓姝ュ姞杞�: {1}", System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), config.fxName);
AssetBundleUtility.Instance.Co_LoadAsset(bundleName, config.fxName, OnEffectLoaded);
return null;
}
diff --git a/Fight/Stage/StageManager.cs b/Fight/Stage/StageManager.cs
index 803999b..28b6234 100644
--- a/Fight/Stage/StageManager.cs
+++ b/Fight/Stage/StageManager.cs
@@ -8,7 +8,7 @@
[XLua.LuaCallCSharp]
public class StageManager : Singleton<StageManager>
-
+
{
private Stage m_CurrentStage;
@@ -19,32 +19,40 @@
public event Action<float> loadingProgressEvent;
bool m_IsServerPreparing = false;
- public bool isServerPreparing {
+ public bool isServerPreparing
+ {
get { return m_IsServerPreparing; }
set { m_IsServerPreparing = value; }
}
- public Stage.E_StageType StageType {
- get {
+ public Stage.E_StageType StageType
+ {
+ get
+ {
return m_StageType;
}
}
- public Stage CurrentStage {
- get {
+ public Stage CurrentStage
+ {
+ get
+ {
return m_CurrentStage;
}
}
int m_CurrentMapId;
- public int currentMapId {
+ public int currentMapId
+ {
get { return m_CurrentMapId; }
private set { m_CurrentMapId = value; }
}
int m_CurrentMapResID;
- public int currentMapResId {
- get {
+ public int currentMapResId
+ {
+ get
+ {
return m_CurrentMapResID;
}
private set { m_CurrentMapResID = value; }
@@ -55,9 +63,11 @@
float m_LoadingProgress = 0f;
- float loadingProgress {
+ float loadingProgress
+ {
get { return m_LoadingProgress; }
- set {
+ set
+ {
m_LoadingProgress = value;
if (loadingProgressEvent != null)
{
@@ -584,6 +594,15 @@
_hero.RequestLight();
PlayerDatas.Instance.hero = _hero;
+
+ var _preloadEffectList = GeneralDefine.PreloadSkillEffect[_hero.JobSetup.Job - 1];
+ if (_preloadEffectList != null && _preloadEffectList.Length > 0)
+ {
+ foreach (var _id in _preloadEffectList)
+ {
+ InstanceResourcesLoader.PreloadSkillEffect(_id);
+ }
+ }
}
private string GetAssetBundleNameByStageId(int stageID, int mapResID)
diff --git a/System/Achievement/AchievementModel.cs b/System/Achievement/AchievementModel.cs
index dd15d84..91c9b4a 100644
--- a/System/Achievement/AchievementModel.cs
+++ b/System/Achievement/AchievementModel.cs
@@ -179,7 +179,7 @@
switch (config.Type)
{
case 3:
- WindowCenter.Instance.Close<TreasureLevelUpWin>();
+ WindowCenter.Instance.Close<TreasureBaseWin>();
WindowCenter.Instance.Open<MainInterfaceWin>();
var hasTask = taskmodel.GetQuestState(config.Condition[0]) != -1;
@@ -234,7 +234,7 @@
else
{
taskmodel.DailyBountyMove();
- WindowCenter.Instance.Close<TreasureLevelUpWin>();
+ WindowCenter.Instance.Close<TreasureBaseWin>();
WindowCenter.Instance.Open<MainInterfaceWin>();
}
}
@@ -243,7 +243,7 @@
case 1:
if (PlayerDatas.Instance.baseData.LV < GeneralDefine.achievementEarlierStageLevel)
{
- WindowCenter.Instance.Close<TreasureLevelUpWin>();
+ WindowCenter.Instance.Close<TreasureBaseWin>();
WindowCenter.Instance.Open<MainInterfaceWin>();
taskmodel.AutomaticTripToTask(taskmodel.currentMission);
}
@@ -257,7 +257,7 @@
break;
case 4:
case 86:
- WindowCenter.Instance.Close<TreasureLevelUpWin>();
+ WindowCenter.Instance.Close<TreasureBaseWin>();
var mapModel = ModelCenter.Instance.GetModel<MapModel>();
var pointId = mapModel.GetRecommendHangPoint();
var mapEventConfig = Config.Instance.Get<MapEventPointConfig>(pointId);
@@ -265,12 +265,12 @@
WindowCenter.Instance.Open<LocalMapWin>();
break;
case 36:
- WindowCenter.Instance.Close<TreasureLevelUpWin>();
+ WindowCenter.Instance.Close<TreasureBaseWin>();
WindowCenter.Instance.Open<MainInterfaceWin>();
MapTransferUtility.Instance.MoveToNPC(config.Condition[0]);
break;
case 37:
- WindowCenter.Instance.Close<TreasureLevelUpWin>();
+ WindowCenter.Instance.Close<TreasureBaseWin>();
WindowCenter.Instance.Open<MainInterfaceWin>();
MapTransferUtility.Instance.MoveToLocalMapPosition(config.Condition2.Vector3Parse());
break;
@@ -292,7 +292,7 @@
{
if (PlayerDatas.Instance.baseData.LV < GeneralDefine.achievementEarlierStageLevel)
{
- WindowCenter.Instance.Close<TreasureLevelUpWin>();
+ WindowCenter.Instance.Close<TreasureBaseWin>();
WindowCenter.Instance.Open<MainInterfaceWin>();
taskmodel.AutomaticTripToTask(taskmodel.currentMission);
}
@@ -333,7 +333,7 @@
else
{
AchievementGoto.guideAchievementId = _achievementId;
- WindowCenter.Instance.Close<TreasureLevelUpWin>();
+ WindowCenter.Instance.Close<TreasureBaseWin>();
playerPack.SetLookIndex(guid82);
WindowCenter.Instance.Close<MainInterfaceWin>();
@@ -358,7 +358,7 @@
{
AchievementGoto.guideAchievementId = _achievementId;
playerPack.SetLookIndex(guid83);
- WindowCenter.Instance.Close<TreasureLevelUpWin>();
+ WindowCenter.Instance.Close<TreasureBaseWin>();
WindowCenter.Instance.Close<MainInterfaceWin>();
WindowCenter.Instance.Open<KnapSackWin>();
}
@@ -379,7 +379,7 @@
}
else
{
- WindowCenter.Instance.Close<TreasureLevelUpWin>();
+ WindowCenter.Instance.Close<TreasureBaseWin>();
playerPack.SetLookIndex(guid84);
WindowCenter.Instance.Close<MainInterfaceWin>();
@@ -402,7 +402,7 @@
}
else
{
- WindowCenter.Instance.Close<TreasureLevelUpWin>();
+ WindowCenter.Instance.Close<TreasureBaseWin>();
playerPack.SetLookIndex(guid85);
WindowCenter.Instance.Close<MainInterfaceWin>();
@@ -417,7 +417,7 @@
}
else
{
- WindowCenter.Instance.Close<TreasureLevelUpWin>();
+ WindowCenter.Instance.Close<TreasureBaseWin>();
playerPack.SetLookIndex(guid90);
WindowCenter.Instance.Close<MainInterfaceWin>();
@@ -425,7 +425,7 @@
}
break;
case 109:
- WindowCenter.Instance.Close<TreasureLevelUpWin>();
+ WindowCenter.Instance.Close<TreasureBaseWin>();
var skillId = SkillConfig.FindSkillByJob(config.Condition, PlayerDatas.Instance.baseData.Job);
if (skillId != 0)
@@ -483,7 +483,7 @@
}
treasureModel.currentCategory = TreasureCategory.Human;
treasureModel.selectedTreasure = treasureId;
- if (!WindowCenter.Instance.IsOpen<TreasureLevelUpWin>())
+ if (!WindowCenter.Instance.IsOpen<TreasureBaseWin>())
{
WindowJumpMgr.Instance.WindowJumpTo(JumpUIType.TreasureCollectSoul);
}
@@ -491,7 +491,7 @@
}
break;
default:
- WindowCenter.Instance.Close<TreasureLevelUpWin>();
+ WindowCenter.Instance.Close<TreasureBaseWin>();
WindowCenter.Instance.Open<MainInterfaceWin>();
break;
diff --git a/System/BossShow/BossShowModel.cs b/System/BossShow/BossShowModel.cs
index 502a120..98eef9d 100644
--- a/System/BossShow/BossShowModel.cs
+++ b/System/BossShow/BossShowModel.cs
@@ -80,10 +80,10 @@
ActiveBossShowCam(true);
CameraController.Instance.CameraObject.enabled = false;
- if (WindowCenter.Instance.IsOpen<TreasureLevelUpWin>())
+ if (WindowCenter.Instance.IsOpen<TreasureBaseWin>())
{
WindowJumpMgr.Instance.ClearJumpData();
- WindowCenter.Instance.CloseImmediately<TreasureLevelUpWin>();
+ WindowCenter.Instance.CloseImmediately<TreasureBaseWin>();
WindowCenter.Instance.CloseImmediately<TreasureSelectWin>();
WindowCenter.Instance.Open<MainInterfaceWin>();
}
diff --git a/System/Chat/ChatCenter.cs b/System/Chat/ChatCenter.cs
index 20cc9ed..1e11ab1 100644
--- a/System/Chat/ChatCenter.cs
+++ b/System/Chat/ChatCenter.cs
@@ -779,7 +779,7 @@
private void CheckChatFloatOpen()
{
if (WindowCenter.Instance.ExitAnyFullScreenOrMaskWin() && !WindowCenter.Instance.IsOpen<LoadingWin>()
- && StageManager.Instance.CurrentStage is DungeonStage && !WindowCenter.Instance.IsOpen<TreasureLevelUpWin>())
+ && StageManager.Instance.CurrentStage is DungeonStage && !WindowCenter.Instance.IsOpen<TreasureBaseWin>())
{
if (!WindowCenter.Instance.IsOpen<ChatFloatWin>())
{
diff --git a/System/Compose/New/ComposeEquipWin.cs b/System/Compose/New/ComposeEquipWin.cs
index 2a55d14..d4b0585 100644
--- a/System/Compose/New/ComposeEquipWin.cs
+++ b/System/Compose/New/ComposeEquipWin.cs
@@ -323,6 +323,7 @@
if (preSecondType != curSecondType)
{
+ isIncreaseRate = false;
preSecondType = curSecondType;
curComposeEquipIndex = -1;
selectModel.ClearSelectModel();
@@ -352,6 +353,7 @@
if (preThirdType != curThirdType)
{
+ isIncreaseRate = false;
preThirdType = curThirdType;
}
curComposeEquipIndex = -1;
@@ -572,13 +574,14 @@
composeBtn.gameObject.SetActive(true);
onekeyPutBtn.gameObject.SetActive(true);
UpdateComposeMat();
+ RefreshComposeSuccessRate();
}
-
- RefreshComposeSuccessRate();
}
public void RefreshComposeSuccessRate()
{
+ if (compoundModel == null) return;
+
successRate = 0;
int increaseRate = 0;
if (compoundModel != null)
diff --git a/System/GeneralConfig/GeneralDefine.cs b/System/GeneralConfig/GeneralDefine.cs
index 5394965..08c720e 100644
--- a/System/GeneralConfig/GeneralDefine.cs
+++ b/System/GeneralConfig/GeneralDefine.cs
@@ -122,6 +122,7 @@
public static List<int> dogzNoRebornRemindMaps = null;
public static string[][] ModeDefaultConfig { get; private set; }
+ public static int[][] PreloadSkillEffect { get; private set; }
public static int[] RealmGroup { get; private set; }
public static float PrefightAtkRange { get; private set; }
@@ -529,6 +530,11 @@
fairyLandBuffCondition = GetInt("XjmjAddHarm", 1);
fairyLandBuffId = GetInt("XjmjAddHarm", 2);
achievementEarlierStageLevel = GetInt("AchieveLV");
+
+ func = Config.Instance.Get<FuncConfigConfig>("PreloadSkillEffect");
+ PreloadSkillEffect = new int[2][];
+ PreloadSkillEffect[0] = GetIntArray("PreloadSkillEffect");
+ PreloadSkillEffect[1] = GetIntArray("PreloadSkillEffect", 2);
}
catch (Exception ex)
{
diff --git a/System/MainInterfacePanel/CoinTaskTipModel.cs b/System/MainInterfacePanel/CoinTaskTipModel.cs
index 6c62199..408416c 100644
--- a/System/MainInterfacePanel/CoinTaskTipModel.cs
+++ b/System/MainInterfacePanel/CoinTaskTipModel.cs
@@ -114,7 +114,7 @@
private IEnumerator PopupPanel()
{
yield return WaitingForSecondConst.WaitMS1500;
- if (NewBieCenter.Instance.inGuiding || ModelCenter.Instance.GetModel<TreasureModel>().newGotShowing || WindowCenter.Instance.IsOpen<TreasureLevelUpWin>())
+ if (NewBieCenter.Instance.inGuiding || ModelCenter.Instance.GetModel<TreasureModel>().newGotShowing || WindowCenter.Instance.IsOpen<TreasureBaseWin>())
{
yield break;
}
@@ -136,7 +136,7 @@
private IEnumerator FairyAuTaskPanel()
{
yield return WaitingForSecondConst.WaitMS1500;
- if (NewBieCenter.Instance.inGuiding || ModelCenter.Instance.GetModel<TreasureModel>().newGotShowing || WindowCenter.Instance.IsOpen<TreasureLevelUpWin>())
+ if (NewBieCenter.Instance.inGuiding || ModelCenter.Instance.GetModel<TreasureModel>().newGotShowing || WindowCenter.Instance.IsOpen<TreasureBaseWin>())
{
yield break;
}
diff --git a/System/MainInterfacePanel/FlyingShoesTask.cs b/System/MainInterfacePanel/FlyingShoesTask.cs
index 6f4d306..175840b 100644
--- a/System/MainInterfacePanel/FlyingShoesTask.cs
+++ b/System/MainInterfacePanel/FlyingShoesTask.cs
@@ -189,7 +189,7 @@
{
treasureModel.selectedTreasure = _treasureId;
treasureModel.openFromTaskId = Task_ID;
- WindowCenter.Instance.Open<TreasureLevelUpWin>();
+ WindowCenter.Instance.Open<TreasureBaseWin>();
}
return;
}
@@ -211,7 +211,7 @@
{
treasureModel.selectedTreasure = _treasureId;
treasureModel.openFromTaskId = Task_ID;
- WindowCenter.Instance.Open<TreasureLevelUpWin>();
+ WindowCenter.Instance.Open<TreasureBaseWin>();
}
}
break;
diff --git a/System/MainInterfacePanel/PlayerTaskDatas.cs b/System/MainInterfacePanel/PlayerTaskDatas.cs
index fd76410..e70ecba 100644
--- a/System/MainInterfacePanel/PlayerTaskDatas.cs
+++ b/System/MainInterfacePanel/PlayerTaskDatas.cs
@@ -1295,7 +1295,7 @@
yield break;
}
- if (WindowCenter.Instance.IsOpen<TreasureLevelUpWin>())
+ if (WindowCenter.Instance.IsOpen<TreasureBaseWin>())
{
yield break;
}
diff --git a/System/MainInterfacePanel/PowerAddWin.cs b/System/MainInterfacePanel/PowerAddWin.cs
index acb494c..a5b9a37 100644
--- a/System/MainInterfacePanel/PowerAddWin.cs
+++ b/System/MainInterfacePanel/PowerAddWin.cs
@@ -121,7 +121,7 @@
void CheckPosition()
{
var type = WindowType.None;
- if (WindowCenter.Instance.IsOpen<TreasureLevelUpWin>())
+ if (WindowCenter.Instance.IsOpen<TreasureBaseWin>())
{
type = WindowType.TreasureLevelUp;
}
diff --git a/System/Store/StoreModel.cs b/System/Store/StoreModel.cs
index e26af1d..a58834a 100644
--- a/System/Store/StoreModel.cs
+++ b/System/Store/StoreModel.cs
@@ -109,6 +109,260 @@
isLogin = false;
}
+ #region 瑙f瀽鏈湴鏁版嵁
+ public Dictionary<int, List<int>> storeRedRuleDict { get; private set; } //绾㈢偣绫诲瀷 1,鍏嶈垂鍟嗗搧 2,蹇呬拱鍟嗗搧 3,鍧愰獞鐏靛疇 4,鍙喘涔扮墿鍝侊紙绉垎鍏戞崲锛�
+ public Dictionary<int, List<int>> storePushDict { get; private set; } //1锛屾瘡鏃ュ脊1娆�2,鍙脊1娆�
+ private void ParseFuncConfig()
+ {
+ storeRedRuleDict = new Dictionary<int, List<int>>();
+ storePushDict = new Dictionary<int, List<int>>();
+ FuncConfigConfig storeRedRules = Config.Instance.Get<FuncConfigConfig>("StoreRedRules");
+ if(storeRedRules != null)
+ {
+ JsonData redRules = JsonMapper.ToObject(storeRedRules.Numerical1);
+ foreach(var type in redRules.Keys)
+ {
+ int redType = 0;
+ int.TryParse(type,out redType);
+ JsonData shops = redRules[type];
+ if (!storeRedRuleDict.ContainsKey(redType))
+ {
+ List<int> shopIdlist = new List<int>();
+ if(shops.IsArray)
+ {
+ for(int i = 0; i < shops.Count; i++)
+ {
+ int shopId = 0;
+ int.TryParse(shops[i].ToString(),out shopId);
+ shopIdlist.Add(shopId);
+ }
+ }
+ storeRedRuleDict.Add(redType,shopIdlist);
+ }
+ }
+
+ JsonData pushRules = JsonMapper.ToObject(storeRedRules.Numerical2);
+ foreach(var type in pushRules.Keys)
+ {
+ int pushType = 0;
+ int.TryParse(type,out pushType);
+ JsonData shops = pushRules[type];
+ if (!storePushDict.ContainsKey(pushType))
+ {
+ List<int> shopIdlist = new List<int>();
+ if (shops.IsArray)
+ {
+ for (int i = 0; i < shops.Count; i++)
+ {
+ int shopId = 0;
+ int.TryParse(shops[i].ToString(), out shopId);
+ shopIdlist.Add(shopId);
+ }
+ }
+ storePushDict.Add(pushType, shopIdlist);
+ }
+ }
+ }
+ }
+
+ public Dictionary<int,List<StoreConfig>> storeTypeDict { get; private set; }
+ private void ParseStoreConfig()
+ {
+ storeTypeDict = new Dictionary<int, List<StoreConfig>>();
+ List<StoreConfig> storeConfigs = Config.Instance.GetAllValues<StoreConfig>();
+ for(int i = 0; i < storeConfigs.Count; i++)
+ {
+ var config = storeConfigs[i];
+ if(config.ShopType != 0)
+ {
+ if(!storeTypeDict.ContainsKey(config.ShopType))
+ {
+ List<StoreConfig> configs = new List<StoreConfig>();
+ configs.Add(config);
+ storeTypeDict.Add(config.ShopType,configs);
+ }
+ else
+ {
+ storeTypeDict[config.ShopType].Add(config);
+ }
+ }
+ }
+
+ foreach(var type in storeTypeDict.Keys)
+ {
+ var configs = storeTypeDict[type];
+ configs.Sort(CompareByShopSort);
+ }
+ }
+
+ public int CompareByShopSort(StoreConfig start, StoreConfig end)
+ {
+ int sort1 = start.ShopSort;
+ int sort2 = end.ShopSort;
+ if (sort1.CompareTo(sort2) != 0) return sort1.CompareTo(sort2);
+
+ return 0;
+ }
+ #endregion
+
+ #region 鑾峰彇鏁版嵁
+ public bool TryGetRedTypeByShopId(int shopId, out int type)
+ {
+ type = 0;
+ foreach (var key in storeRedRuleDict.Keys)
+ {
+ List<int> idlist = storeRedRuleDict[key];
+ if (idlist.Contains(shopId))
+ {
+ type = key;
+ return true;
+ }
+ }
+ return false;
+ }
+
+ public bool TryGetPushTypeByShopId(int shopId, out int type)
+ {
+ type = 0;
+ foreach (var key in storePushDict.Keys)
+ {
+ List<int> idlist = storePushDict[key];
+ if (idlist.Contains(shopId))
+ {
+ type = key;
+ return true;
+ }
+ }
+ return false;
+ }
+
+ private Dictionary<int, List<StoreConfig>> showStoreTypeDict = new Dictionary<int, List<StoreConfig>>();
+ public void UpdateShowStore()
+ {
+ showStoreTypeDict.Clear();
+ foreach(var type in storeTypeDict.Keys)
+ {
+ var configs = storeTypeDict[type];
+ List<StoreConfig> showConfigs = new List<StoreConfig>();
+ if(!showStoreTypeDict.ContainsKey(type))
+ {
+ for (int i = 0; i < configs.Count; i++)
+ {
+ var config = configs[i];
+ int remainNum = 0;
+ bool isSellOut = TryGetIsSellOut(config, out remainNum);
+ if(isSellOut && config.TheOnlyShop == 1)
+ {
+
+ }
+ }
+ }
+ }
+ }
+
+ public bool TryGetIsSellOut(StoreConfig storeConfig, out int remainCnt)
+ {
+ int canBuyCnt = 0;
+ int addBuyCnt = 0;
+ remainCnt = 0;
+ bool isLimitBuy = TryGetLimitBuy(storeConfig, out canBuyCnt, out addBuyCnt);
+ if (!isLimitBuy) return false;
+
+ int remainNum = canBuyCnt;
+ BuyShopItemLimit shopItemLimit = GetBuyShopLimit((uint)storeConfig.ID);
+ if (shopItemLimit != null)
+ {
+ remainNum -= shopItemLimit.BuyCnt;
+ }
+
+ if (remainNum <= 0)
+ {
+ return true;
+ }
+ return false;
+ }
+
+ public bool TryGetLimitBuy(StoreConfig config, out int canBuyCnt, out int addBuyCnt)
+ {
+ canBuyCnt = 0;
+ addBuyCnt = 0;
+ if (config == null) return false;
+
+ int[] canBuyNums = config.PurchaseNumber;
+ if (canBuyNums == null || canBuyNums.Length < 1) return false;
+
+ int curVipIndex = -1;
+ int nexVipIndex = -1;
+ bool isVipBuy = TryGetVipBuy(config, out curVipIndex, out nexVipIndex);
+ if (isVipBuy)
+ {
+ if (curVipIndex != -1)
+ {
+ canBuyCnt = canBuyNums[curVipIndex];
+ }
+
+ if (nexVipIndex != -1)
+ {
+ addBuyCnt = canBuyNums[nexVipIndex] - canBuyCnt;
+ }
+ return true;
+ }
+ else
+ {
+ if (canBuyNums[0] != 0)
+ {
+ canBuyCnt = canBuyNums[0];
+ return true;
+ }
+ else
+ {
+ return false;
+ }
+ }
+ }
+
+ public bool TryGetVipBuy(StoreConfig config, out int curVipIndex, out int nextVipIndex)
+ {
+ curVipIndex = -1;
+ nextVipIndex = -1;
+ bool isVipBuy = false;
+ if (config == null) return false;
+
+ var vipLvs = config.VIPLV;
+ if (vipLvs == null || vipLvs.Length < 1) return false;
+
+ for(int i = 0; i < vipLvs.Length; i++)
+ {
+ var vipLv = vipLvs[i];
+ if(vipLv != 0)
+ {
+ isVipBuy = true;
+ }
+ }
+
+ if (isVipBuy)
+ {
+ int playerVip = PlayerDatas.Instance.baseData.VIPLv;
+ for (int i = vipLvs.Length - 1; i > -1; i--)
+ {
+ var vipLv = vipLvs[i];
+ if (vipLv > playerVip)
+ {
+ nextVipIndex = i;
+ }
+ else if (vipLv <= playerVip)
+ {
+ curVipIndex = i;
+ break;
+ }
+ }
+
+ }
+
+ return isVipBuy;
+ }
+ #endregion
+
public string GetStoreRefreshTimeByType(int type)
{
if (resetTimeDict == null || !resetTimeDict.ContainsKey(type)) return string.Empty;
diff --git a/System/Treasure/DemonTreasureWin.cs b/System/Treasure/DemonTreasureWin.cs
new file mode 100644
index 0000000..8c484fc
--- /dev/null
+++ b/System/Treasure/DemonTreasureWin.cs
@@ -0,0 +1,70 @@
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Tuesday, November 13, 2018
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Snxxz.UI {
+
+ public class DemonTreasureWin : Window
+ {
+ [SerializeField] TreasureDemonBehaviour m_TreasureDemonBehaviour;
+
+ TreasureModel model
+ {
+ get { return ModelCenter.Instance.GetModel<TreasureModel>(); }
+ }
+ #region Built-in
+ protected override void BindController()
+ {
+ }
+
+ protected override void AddListeners()
+ {
+ }
+
+ protected override void OnPreOpen()
+ {
+ UI3DTreasureSelectStage.Instance.SetStartState();
+ }
+
+ protected override void OnActived()
+ {
+ base.OnActived();
+ model.treasureSelectedEvent += TreasureSelectedEvent;
+ m_TreasureDemonBehaviour.Display(model.selectedTreasure, true);
+ }
+
+ protected override void OnAfterOpen()
+ {
+
+ }
+
+ protected override void OnPreClose()
+ {
+ model.treasureSelectedEvent -= TreasureSelectedEvent;
+ model.SetTreasureUnlockShow(TreasureCategory.Demon, 0);
+ }
+
+ protected override void OnAfterClose()
+ {
+ }
+ #endregion
+
+ private void TreasureSelectedEvent(int obj)
+ {
+ m_TreasureDemonBehaviour.Display(model.selectedTreasure, false);
+ }
+
+ }
+
+}
+
+
+
+
diff --git a/System/Treasure/DemonTreasureWin.cs.meta b/System/Treasure/DemonTreasureWin.cs.meta
new file mode 100644
index 0000000..c08e49e
--- /dev/null
+++ b/System/Treasure/DemonTreasureWin.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 9a3ed68d5cc690a458ae6f67f431841b
+timeCreated: 1542095044
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/System/Treasure/FairyTreasureCollectPanel.cs b/System/Treasure/FairyTreasureCollectPanel.cs
index eb0b92e..079ca25 100644
--- a/System/Treasure/FairyTreasureCollectPanel.cs
+++ b/System/Treasure/FairyTreasureCollectPanel.cs
@@ -12,8 +12,10 @@
{
public class FairyTreasureCollectPanel : MonoBehaviour
{
-
+ [SerializeField] Image m_TreasureNameIcon;
+ [SerializeField] PositionTween m_NameTween;
[SerializeField] TreasureContainer[] m_TreasureContainers;
+
public void Display(int _treasureId, bool _tween = false)
{
@@ -33,6 +35,20 @@
}
}
+ var config = Config.Instance.Get<TreasureConfig>(_treasureId);
+ if (config != null)
+ {
+ m_TreasureNameIcon.SetSprite(config.TreasureNameIcon);
+ }
+
+ if (_tween)
+ {
+ m_NameTween.Play();
+ }
+ else
+ {
+ m_NameTween.SetEndState();
+ }
}
public void Dispose()
diff --git a/System/Treasure/FairyTreasureCollectPanelPattern3.cs b/System/Treasure/FairyTreasureCollectPanelPattern3.cs
index ea250cf..7316355 100644
--- a/System/Treasure/FairyTreasureCollectPanelPattern3.cs
+++ b/System/Treasure/FairyTreasureCollectPanelPattern3.cs
@@ -130,7 +130,7 @@
FuncOpen.Instance.ProcessorFuncErrorTip(124);
return;
}
- WindowCenter.Instance.CloseImmediately<TreasureLevelUpWin>();
+ WindowCenter.Instance.CloseImmediately<TreasureBaseWin>();
WindowCenter.Instance.Open<TreasureFindHostWin>();
break;
}
@@ -145,7 +145,7 @@
}
if (show)
{
- WindowCenter.Instance.CloseImmediately<TreasureLevelUpWin>();
+ WindowCenter.Instance.CloseImmediately<TreasureBaseWin>();
WindowCenter.Instance.Open<MainInterfaceWin>();
}
show = false;
diff --git a/System/Treasure/FairyTreasureCollectPanelPattern5.cs b/System/Treasure/FairyTreasureCollectPanelPattern5.cs
index 9d3587a..e71fe04 100644
--- a/System/Treasure/FairyTreasureCollectPanelPattern5.cs
+++ b/System/Treasure/FairyTreasureCollectPanelPattern5.cs
@@ -182,7 +182,7 @@
private void DisplayFurnacesHole()
{
m_ContainerHoles.gameObject.SetActive(treasure.state == TreasureState.Collected);
- if (treasure.state == TreasureState.Collected)
+ if (treasure.state == TreasureState.Collected && treasure.stage == 0)
{
var _list = model.GetFurnacesAchievements();
for (int i = 0; i < m_FurnacesIcons.Length; i++)
@@ -218,7 +218,7 @@
m_FurnacesIcons[i].gameObject.SetActive(achievement != null && achievement.completed);
}
}
- else
+ if (treasure.state == TreasureState.Collected && treasure.stage >= 1)
{
for (int i = 0; i < m_FurnacesIcons.Length; i++)
{
@@ -257,7 +257,7 @@
{
TreasureStageUpTriggerWin.screenShotCut = _tex;
WindowJumpMgr.Instance.ClearJumpData();
- WindowCenter.Instance.CloseImmediately<TreasureLevelUpWin>();
+ WindowCenter.Instance.CloseImmediately<TreasureBaseWin>();
WindowCenter.Instance.Open<TreasureStageUpTriggerWin>(true);
WindowCenter.Instance.Open<MainInterfaceWin>();
if (WindowCenter.Instance.IsOpen<DialogueDuidanceWin>())
@@ -439,7 +439,7 @@
private void GotoStove()
{
- WindowCenter.Instance.CloseImmediately<TreasureLevelUpWin>();
+ WindowCenter.Instance.CloseImmediately<TreasureBaseWin>();
WindowCenter.Instance.Close<MainInterfaceWin>();
WindowCenter.Instance.Open<BlastFurnaceWin>();
}
diff --git a/System/Treasure/FairyTreasureWin.cs b/System/Treasure/FairyTreasureWin.cs
new file mode 100644
index 0000000..94702c7
--- /dev/null
+++ b/System/Treasure/FairyTreasureWin.cs
@@ -0,0 +1,70 @@
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Tuesday, November 13, 2018
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Snxxz.UI {
+
+ public class FairyTreasureWin : Window
+ {
+ [SerializeField] FairyTreasureCollectPanel m_TreasureFairyBehaviour;
+
+ TreasureModel model
+ {
+ get { return ModelCenter.Instance.GetModel<TreasureModel>(); }
+ }
+ #region Built-in
+ protected override void BindController()
+ {
+ }
+
+ protected override void AddListeners()
+ {
+ }
+
+ protected override void OnPreOpen()
+ {
+ UI3DTreasureSelectStage.Instance.SetStartState();
+ }
+
+ protected override void OnActived()
+ {
+ base.OnActived();
+ model.treasureSelectedEvent += TreasureSelectedEvent;
+ m_TreasureFairyBehaviour.Dispose();
+ m_TreasureFairyBehaviour.Display(model.selectedTreasure, true);
+ }
+
+ protected override void OnAfterOpen()
+ {
+
+ }
+
+ protected override void OnPreClose()
+ {
+ m_TreasureFairyBehaviour.Dispose();
+ model.treasureSelectedEvent -= TreasureSelectedEvent;
+ }
+
+ protected override void OnAfterClose()
+ {
+ }
+ #endregion
+ private void TreasureSelectedEvent(int obj)
+ {
+ m_TreasureFairyBehaviour.Dispose();
+ m_TreasureFairyBehaviour.Display(model.selectedTreasure, false);
+ }
+ }
+
+}
+
+
+
+
diff --git a/System/Treasure/FairyTreasureWin.cs.meta b/System/Treasure/FairyTreasureWin.cs.meta
new file mode 100644
index 0000000..6c47012
--- /dev/null
+++ b/System/Treasure/FairyTreasureWin.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: e51dda432d4101d459487613d8918b7e
+timeCreated: 1542095817
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/System/Treasure/TreasureBaseWin.cs b/System/Treasure/TreasureBaseWin.cs
new file mode 100644
index 0000000..497684f
--- /dev/null
+++ b/System/Treasure/TreasureBaseWin.cs
@@ -0,0 +1,288 @@
+锘�//--------------------------------------------------------
+// [Author]: 绗簩涓栫晫
+// [ Date ]: Tuesday, November 13, 2018
+//--------------------------------------------------------
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using TableConfig;
+using UnityEngine;
+using UnityEngine.UI;
+
+namespace Snxxz.UI
+{
+
+ public class TreasureBaseWin : Window
+ {
+ [SerializeField] RectTransform m_DisplayContainer;
+ [SerializeField] Image m_TreasureTitle;
+ [SerializeField] DragSelectComponent m_DragSelect;
+ [SerializeField] Button m_Left;
+ [SerializeField] Button m_Right;
+ [SerializeField] Button m_Back;
+
+ public static event Func<int, bool> allowSelectTreasure;
+ public static event Func<int> allowBack;
+ public static event Action<int> prepareSelectTreasure;
+ public static event Action prepareBack;
+
+ bool backToSelectWindow = false;
+
+ TreasureModel model
+ {
+ get { return ModelCenter.Instance.GetModel<TreasureModel>(); }
+ }
+ #region Built-in
+ protected override void BindController()
+ {
+ }
+
+ protected override void AddListeners()
+ {
+ m_Left.onClick.AddListener(Left);
+ m_Right.onClick.AddListener(Right);
+ m_Back.onClick.AddListener(Back);
+ }
+
+ protected override void OnPreOpen()
+ {
+ backToSelectWindow = false;
+ m_DisplayContainer.gameObject.SetActive(false);
+ if (UI3DTreasureSelectStage.Instance.IsOpen)
+ {
+ if (UI3DTreasureSelectStage.Instance.jumpTreasure != 0)
+ {
+ model.selectedTreasure = UI3DTreasureSelectStage.Instance.jumpTreasure;
+ }
+ else
+ {
+ model.selectedTreasure = UI3DTreasureSelectStage.Instance.selectTreasure;
+ }
+ }
+ }
+
+ protected override void OnAfterOpen()
+ {
+ UI3DTreasureSelectStage.Instance.OnCameraCloserComplete += OnCameraCloserComplete;
+ UI3DTreasureSelectStage.Instance.OnCameraBackComplete += OnCameraBackComplete;
+ m_DragSelect.onDragComplete += OnDragComplete;
+ model.treasureSelectedEvent += TreasureSelectedEvent;
+
+ CameraManager.uiCamera.enabled = true;
+ if (!UI3DTreasureSelectStage.Instance.IsOpen)
+ {
+ UI3DTreasureSelectStage.Instance.Open(true, model.currentCategory);
+ var _list = model.GetTreasureCategory(model.currentCategory);
+ var _index = _list.FindIndex((x) =>
+ {
+ return x == model.selectedTreasure;
+ });
+ UI3DTreasureSelectStage.Instance.GotoImmediatly(_index);
+ OnCameraCloserComplete();
+ }
+ else if (UI3DTreasureSelectStage.Instance.CloserComplete)
+ {
+ OnCameraCloserComplete();
+ }
+ }
+
+ protected override void OnPreClose()
+ {
+ CloseSubWindows();
+
+ UI3DTreasureSelectStage.Instance.OnCameraCloserComplete -= OnCameraCloserComplete;
+ UI3DTreasureSelectStage.Instance.OnCameraBackComplete -= OnCameraBackComplete;
+ m_DragSelect.onDragComplete -= OnDragComplete;
+ model.treasureSelectedEvent -= TreasureSelectedEvent;
+
+ if (!backToSelectWindow)
+ {
+ UI3DTreasureSelectStage.Instance.Close();
+ }
+ }
+
+ protected override void OnAfterClose()
+ {
+ }
+ #endregion
+
+ private void TreasureSelectedEvent(int treasureId)
+ {
+ DisplaySelects();
+ var list = model.GetTreasureCategory(model.currentCategory);
+ var index = list.FindIndex((x) =>
+ {
+ return x == treasureId;
+ });
+ if (index != -1)
+ {
+ UI3DTreasureSelectStage.Instance.GotoImmediatly(index);
+ }
+ }
+
+ private void OnCameraCloserComplete()
+ {
+ if (WindowCenter.Instance.IsOpen<EffectToFaBaoWin>())
+ {
+ WindowCenter.Instance.CloseImmediately<EffectToFaBaoWin>();
+ }
+ CloseSubWindows();
+ m_DisplayContainer.gameObject.SetActive(true);
+ switch (model.currentCategory)
+ {
+ case TreasureCategory.Human:
+ m_TreasureTitle.SetSprite("XT_FB_45");
+ m_Left.image.SetSprite("XT_FB_33");
+ m_Right.image.SetSprite("XT_FB_34");
+ WindowCenter.Instance.Open<TreasureLevelUpWin>();
+ break;
+ case TreasureCategory.Demon:
+ m_TreasureTitle.SetSprite("XT_FB_46");
+ m_Left.image.SetSprite("XT_FB_35");
+ m_Right.image.SetSprite("XT_FB_36");
+ WindowCenter.Instance.Open<DemonTreasureWin>();
+ break;
+ case TreasureCategory.Fairy:
+ m_TreasureTitle.SetSprite("XT_FB_47");
+ m_Left.image.SetSprite("XT_FB_33");
+ m_Right.image.SetSprite("XT_FB_34");
+ WindowCenter.Instance.Open<FairyTreasureWin>();
+ break;
+ }
+ DisplaySelects();
+ }
+
+ private void DisplaySelects()
+ {
+ var leftRifht = Config.Instance.Get<TreasureConfig>(model.selectedTreasure + 1);
+ m_Right.gameObject.SetActive(leftRifht != null);
+ leftRifht = Config.Instance.Get<TreasureConfig>(model.selectedTreasure - 1);
+ m_Left.gameObject.SetActive(leftRifht != null);
+ }
+
+ private void OnCameraBackComplete()
+ {
+ backToSelectWindow = true;
+ CloseImmediately();
+ }
+
+ private void OnDragComplete(int result)
+ {
+ if (result > 0)
+ {
+ Right();
+ }
+ else if (result < 0)
+ {
+ Left();
+ }
+ }
+
+ private void Left()
+ {
+ var selectTreasure = model.selectedTreasure - 1;
+ if (!AllowSelectTreasure(selectTreasure))
+ {
+ return;
+ }
+ if (prepareSelectTreasure != null)
+ {
+ prepareSelectTreasure(selectTreasure);
+ }
+ model.selectedTreasure = selectTreasure;
+ }
+
+ private void Right()
+ {
+ var selectTreasure = model.selectedTreasure + 1;
+ if (!AllowSelectTreasure(selectTreasure))
+ {
+ return;
+ }
+ if (prepareSelectTreasure != null)
+ {
+ prepareSelectTreasure(selectTreasure);
+ }
+ model.selectedTreasure = selectTreasure;
+ }
+
+ private void Back()
+ {
+ var returnCode = 0;
+ if (allowBack != null)
+ {
+ returnCode = allowBack();
+ }
+ if (returnCode != 0)
+ {
+ return;
+ }
+ if (PlayerDatas.Instance.baseData.LV < model.treasureBackLvLimit
+ && !WindowJumpMgr.Instance.IsJumpState)
+ {
+ StartBack();
+ return;
+ }
+ if (!WindowJumpMgr.Instance.IsJumpState && model.openFromTreasureList)
+ {
+ StartBack();
+ return;
+ }
+ if (!WindowJumpMgr.Instance.IsJumpState && model.exitRecord >= 4)
+ {
+ StartBack();
+ model.exitRecord = 0;
+ return;
+ }
+ model.openFromTreasureList = false;
+ CloseImmediately();
+ if (!WindowJumpMgr.Instance.IsJumpState)
+ {
+ model.exitRecord++;
+ WindowCenter.Instance.Open<MainInterfaceWin>();
+ }
+ }
+
+ void StartBack()
+ {
+ if (prepareBack != null)
+ {
+ prepareBack();
+ }
+ model.openFromTreasureList = false;
+ CloseSubWindows();
+ m_DisplayContainer.gameObject.SetActive(false);
+ WindowCenter.Instance.Open<TreasureSelectWin>(true);
+ UI3DTreasureSelectStage.Instance.StartBack();
+ }
+
+ private bool AllowSelectTreasure(int treasureId)
+ {
+ Treasure treasure;
+ if (!model.TryGetTreasure(treasureId, out treasure))
+ {
+ return false;
+ }
+ if (allowSelectTreasure != null && !allowSelectTreasure(treasureId))
+ {
+ return false;
+ }
+ return true;
+ }
+
+ private void CloseSubWindows()
+ {
+ var childrens = WindowConfig.Get().FindChildWindows("TreasureBaseWin");
+ foreach (var window in childrens)
+ {
+ WindowCenter.Instance.Close(window);
+ }
+ }
+ }
+
+}
+
+
+
+
diff --git a/System/Treasure/TreasureBaseWin.cs.meta b/System/Treasure/TreasureBaseWin.cs.meta
new file mode 100644
index 0000000..e780902
--- /dev/null
+++ b/System/Treasure/TreasureBaseWin.cs.meta
@@ -0,0 +1,12 @@
+fileFormatVersion: 2
+guid: 8caae764204324b49a5cdc5ee43c33c4
+timeCreated: 1542077271
+licenseType: Pro
+MonoImporter:
+ serializedVersion: 2
+ defaultReferences: []
+ executionOrder: 0
+ icon: {instanceID: 0}
+ userData:
+ assetBundleName:
+ assetBundleVariant:
diff --git a/System/Treasure/TreasureCollectBriefInfoBehaviour.cs b/System/Treasure/TreasureCollectBriefInfoBehaviour.cs
index 8edc2ca..38f7319 100644
--- a/System/Treasure/TreasureCollectBriefInfoBehaviour.cs
+++ b/System/Treasure/TreasureCollectBriefInfoBehaviour.cs
@@ -384,7 +384,7 @@
model.selectedTreasure = displayTreasureId;
model.currentCategory = (TreasureCategory)config.Category;
model.openFromTreasureCollect = true;
- WindowCenter.Instance.Open<TreasureLevelUpWin>();
+ WindowCenter.Instance.Open<TreasureBaseWin>();
}
}
diff --git a/System/Treasure/TreasureDemonBehaviour.cs b/System/Treasure/TreasureDemonBehaviour.cs
index 53ead53..242865e 100644
--- a/System/Treasure/TreasureDemonBehaviour.cs
+++ b/System/Treasure/TreasureDemonBehaviour.cs
@@ -9,6 +9,7 @@
{
public class TreasureDemonBehaviour : MonoBehaviour
{
+ [SerializeField] Image m_TreasureNameIcon;
[SerializeField] Text m_TreasureDescription;
[SerializeField] RectTransform m_ContainerFightPower;
[SerializeField] Text m_FightPower;
@@ -24,6 +25,7 @@
[SerializeField] PositionTween m_DescriptionTween;
[SerializeField] PositionTween m_SkillTween;
+ [SerializeField] PositionTween m_NameTween;
TreasureModel m_Model;
TreasureModel model
@@ -74,11 +76,13 @@
m_SkillTween.SetStartState();
m_DescriptionTween.Play();
m_SkillTween.Play();
+ m_NameTween.Play();
}
else
{
m_DescriptionTween.SetEndState();
m_SkillTween.SetEndState();
+ m_NameTween.SetEndState();
}
var config = Config.Instance.Get<TreasureConfig>(_id);
@@ -91,6 +95,7 @@
m_GetBtn.gameObject.SetActive(m_Treasure.state == TreasureState.Collecting);
m_RecommondPower.gameObject.SetActive(m_Treasure.state != TreasureState.Collected);
m_ContainerFightPower.gameObject.SetActive(m_Treasure.state == TreasureState.Collected);
+ m_TreasureNameIcon.SetSprite(config.TreasureNameIcon);
if (m_Treasure.state == TreasureState.Locked)
{
diff --git a/System/Treasure/TreasureExhibitionBehaviour.cs b/System/Treasure/TreasureExhibitionBehaviour.cs
index 6a028a9..07a0525 100644
--- a/System/Treasure/TreasureExhibitionBehaviour.cs
+++ b/System/Treasure/TreasureExhibitionBehaviour.cs
@@ -58,7 +58,7 @@
{
return;
}
- if (_window is TreasureSelectWin || _window is TreasureLevelUpWin)
+ if (_window is TreasureSelectWin || _window is TreasureBaseWin)
{
if (!m_NewTreasureEffect.IsPlaying)
{
diff --git a/System/Treasure/TreasureLevelUpWin.cs b/System/Treasure/TreasureLevelUpWin.cs
index acecb48..3167699 100644
--- a/System/Treasure/TreasureLevelUpWin.cs
+++ b/System/Treasure/TreasureLevelUpWin.cs
@@ -17,8 +17,6 @@
{
[SerializeField] TreasureAnimation m_TreasureAnimation;
[SerializeField] RectTransform m_DisplayContainer;
- [SerializeField] Image m_TreasureTitle;
- [SerializeField] DragSelectComponent m_DragSelect;
[SerializeField] RectTransform m_ContainerUnGet;
[SerializeField] RectTransform m_ContainerLockDetail;
@@ -54,16 +52,6 @@
[SerializeField] RectTransform m_ContainerPotential;
[SerializeField] TreasurePotentialPanel m_TreasurePotential;
- [SerializeField] TreasureDemonBehaviour m_TreasureDemonBehaviour;
- [SerializeField] FairyTreasureCollectPanel m_TreasureFairyBehaviour;
-
- [SerializeField] RectTransform m_ContainerSelect;
- [SerializeField] Image m_LeftRedpoint;
- [SerializeField] Image m_RightRedpoint;
- [SerializeField] Button m_LeftBtn;
- [SerializeField] Button m_RightBtn;
- [SerializeField] Button m_BackBtn;
-
TreasureModel m_Model;
TreasureModel model
{
@@ -95,9 +83,7 @@
Treasure m_Treasure;
- bool m_CorrectClose = false;
bool m_OnLevelUpStage = false;
- bool m_Init = false;
bool m_NewBieGuide = false;
int mainTaskId = 0;
@@ -118,44 +104,29 @@
protected override void AddListeners()
{
- m_BackBtn.onClick.AddListener(OnBack);
m_GetTreasureBtn.onClick.AddListener(OnGetTreasure);
m_LevelUpBtn.onClick.AddListener(OnLevelUp);
- m_LeftBtn.onClick.AddListener(OnLeftBtn);
- m_RightBtn.onClick.AddListener(OnRightBtn);
m_Controller.OnRefreshCell += OnRefreshCell;
}
protected override void OnPreOpen()
{
- m_Init = false;
- if (UI3DTreasureSelectStage.Instance.IsOpen)
- {
- if (UI3DTreasureSelectStage.Instance.jumpTreasure != 0)
- {
- model.selectedTreasure = UI3DTreasureSelectStage.Instance.jumpTreasure;
- }
- else
- {
- model.selectedTreasure = UI3DTreasureSelectStage.Instance.selectTreasure;
- }
- }
- m_DisplayContainer.gameObject.SetActive(false);
+ m_DisplayContainer.gameObject.SetActive(true);
m_ContainerSkillShow.gameObject.SetActive(false);
m_ContainerTip.gameObject.SetActive(false);
- m_CorrectClose = false;
+
m_OnLevelUpStage = false;
m_NewBieGuide = false;
model.treasureStepUpShow = false;
m_TreasureAnimation.stepComplete = true;
beforePlayerLv = PlayerDatas.Instance.baseData.LV;
+
model.SetTreasureUnlockShow(TreasureCategory.Human, 0);
}
- protected override void OnAfterOpen()
+ protected override void OnActived()
{
- UI3DTreasureSelectStage.Instance.OnCameraCloserComplete += OnCameraCloserComplete;
- UI3DTreasureSelectStage.Instance.OnCameraBackComplete += OnCameraBackComplete;
+ base.OnActived();
PlayerTaskDatas.CardLevelChange += CardLevelChange;
model.treasureLevelProgressUpdateEvent += TreasureLevelProgressUpdateEvent;
model.treasureSelectedEvent += TreasureSelectedEvent;
@@ -169,39 +140,23 @@
m_Slider.slider.onValueChanged.AddListener(OnSliderValueUpdate);
NewBieCenter.Instance.guideCompletedEvent += GuideCompletedEvent;
FuncOpen.Instance.OnFuncStateChangeEvent += OnFuncStateChangeEvent;
- model.skillLevelUpRedpointUpdate += SkillLevelUpRedpointUpdate;
- m_DragSelect.onDragComplete += onDragComplete;
-
- CameraManager.uiCamera.enabled = true;
- if (!UI3DTreasureSelectStage.Instance.IsOpen)
- {
- UI3DTreasureSelectStage.Instance.Open(true, model.currentCategory);
- var _list = model.GetTreasureCategory(model.currentCategory);
- var _index = _list.FindIndex((x) =>
- {
- return x == model.selectedTreasure;
- });
- UI3DTreasureSelectStage.Instance.GotoImmediatly(_index);
- OnCameraCloserComplete();
- }
- else if (UI3DTreasureSelectStage.Instance.CloserComplete && !m_Init)
- {
- OnCameraCloserComplete();
- }
model.treasureStateChangeEvent += TreasureStateChangeEvent;
-
+ TreasureBaseWin.allowSelectTreasure += AllowSelectTreasure;
+ TreasureBaseWin.prepareSelectTreasure += PrepareSelectTreasure;
+ TreasureBaseWin.allowBack += AllowBack;
+ TreasureBaseWin.prepareBack += PrepareBack;
mainTaskId = 0;
+
+ Display();
}
- protected override void OnActived()
+ protected override void OnAfterOpen()
{
- base.OnActived();
+
}
protected override void OnPreClose()
{
- UI3DTreasureSelectStage.Instance.OnCameraCloserComplete -= OnCameraCloserComplete;
- UI3DTreasureSelectStage.Instance.OnCameraBackComplete -= OnCameraBackComplete;
model.treasureLevelProgressUpdateEvent -= TreasureLevelProgressUpdateEvent;
PlayerTaskDatas.CardLevelChange -= CardLevelChange;
model.treasureSelectedEvent -= TreasureSelectedEvent;
@@ -215,19 +170,16 @@
NewBieCenter.Instance.guideCompletedEvent -= GuideCompletedEvent;
model.treasureStateChangeEvent -= TreasureStateChangeEvent;
FuncOpen.Instance.OnFuncStateChangeEvent -= OnFuncStateChangeEvent;
- m_DragSelect.onDragComplete -= onDragComplete;
- model.skillLevelUpRedpointUpdate -= SkillLevelUpRedpointUpdate;
+ TreasureBaseWin.allowSelectTreasure -= AllowSelectTreasure;
+ TreasureBaseWin.prepareSelectTreasure -= PrepareSelectTreasure;
+ TreasureBaseWin.allowBack -= AllowBack;
+ TreasureBaseWin.prepareBack -= PrepareBack;
m_Slider.slider.onValueChanged.RemoveAllListeners();
m_TreasurePotential.Dispose();
m_AchievementScroll.Dispose();
- m_TreasureFairyBehaviour.Dispose();
if (FunctionalGuideCenter.Instance.ExistUnderwayGuide(65))
{
FunctionalGuideCenter.Instance.RemoveGuide(65);
- }
- if (!m_CorrectClose)
- {
- UI3DTreasureSelectStage.Instance.Close();
}
if (m_TreasureAnimation.step == TreasureAnimation.TreasureShowStep.FirstUnLock)
{
@@ -260,32 +212,11 @@
if (_id == model.selectedTreasure && _treasure != null
&& _treasure.state == TreasureState.Collecting && model.serverInited)
{
- UpdateStage();
- if (WindowCenter.Instance.IsOpen<EffectToFaBaoWin>())
- {
- WindowCenter.Instance.CloseImmediately<EffectToFaBaoWin>();
- }
+ Display();
}
}
- private void OnCameraCloserComplete()
- {
- m_Init = true;
- m_DisplayContainer.gameObject.SetActive(true);
- UpdateStage();
- if (WindowCenter.Instance.IsOpen<EffectToFaBaoWin>())
- {
- WindowCenter.Instance.CloseImmediately<EffectToFaBaoWin>();
- }
- }
-
- private void OnCameraBackComplete()
- {
- m_CorrectClose = true;
- CloseImmediately();
- }
-
- private void UpdateStage(int _state = 0)
+ private void Display(int _state = 0)
{
m_TreasureAnimation.selectTreasureId = model.selectedTreasure;
model.TryGetTreasure(model.selectedTreasure, out m_Treasure);
@@ -294,71 +225,9 @@
model.cacheGotAchievements.Clear();
var _config = Config.Instance.Get<TreasureConfig>(m_Treasure.id);
m_TreasureProperty.treasureNameTween.SetEndState();
- switch (model.currentCategory)
- {
- case TreasureCategory.Human:
- beforePlayerLv = PlayerDatas.Instance.baseData.LV;
- m_TreasureDemonBehaviour.gameObject.SetActive(false);
- m_TreasureFairyBehaviour.gameObject.SetActive(false);
- model.treasureStepUpShow = false;
- SelectHumanTreasure(_state);
- m_TreasureTitle.SetSprite("XT_FB_45");
- m_LeftBtn.image.SetSprite("XT_FB_33");
- m_RightBtn.image.SetSprite("XT_FB_34");
- break;
- case TreasureCategory.Demon:
- HideHuman();
- m_TreasureAnimation.SetDisplayEnd();
- m_TreasureAnimation.TreasureTween();
- m_TreasureAnimation.stepComplete = true;
- model.treasureStepUpShow = false;
- m_TreasureProperty.containerName.gameObject.SetActive(true);
- m_TreasureDemonBehaviour.gameObject.SetActive(true);
- m_TreasureFairyBehaviour.gameObject.SetActive(false);
- m_TreasureDemonBehaviour.Display(m_Treasure.id, _state == 0);
- if (_state == 0)
- {
- m_TreasureProperty.treasureNameTween.Play();
- }
- m_TreasureTitle.SetSprite("XT_FB_46");
- m_LeftBtn.image.SetSprite("XT_FB_35");
- m_RightBtn.image.SetSprite("XT_FB_36");
- break;
- case TreasureCategory.Fairy:
- HideHuman();
- m_TreasureAnimation.SetDisplayEnd();
- m_TreasureAnimation.TreasureTween();
- m_TreasureAnimation.stepComplete = true;
- model.treasureStepUpShow = false;
- m_TreasureDemonBehaviour.gameObject.SetActive(false);
- m_TreasureProperty.containerName.gameObject.SetActive(true);
- m_TreasureFairyBehaviour.gameObject.SetActive(true);
- m_TreasureFairyBehaviour.Dispose();
- m_TreasureFairyBehaviour.Display(m_Treasure.id, _state == 0);
- if (_state == 0)
- {
- m_TreasureProperty.treasureNameTween.Play();
- }
- m_TreasureTitle.SetSprite("XT_FB_47");
- m_LeftBtn.image.SetSprite("XT_FB_33");
- m_RightBtn.image.SetSprite("XT_FB_34");
- break;
- }
-
- var _leftRifht = Config.Instance.Get<TreasureConfig>(model.selectedTreasure + 1);
- m_RightBtn.gameObject.SetActive(_leftRifht != null);
- _leftRifht = Config.Instance.Get<TreasureConfig>(model.selectedTreasure - 1);
- m_LeftBtn.gameObject.SetActive(_leftRifht != null);
- var skillLevelUpRedpointTreasure = model.GetSkillLevelUpRedpointTreasure();
- m_LeftRedpoint.gameObject.SetActive(false);
- m_RightRedpoint.gameObject.SetActive(false);
- }
-
- private void HideHuman()
- {
- m_ContainerUnGet.gameObject.SetActive(false);
- m_ContainerPotential.gameObject.SetActive(false);
- m_ContainerLevelUp.gameObject.SetActive(false);
+ beforePlayerLv = PlayerDatas.Instance.baseData.LV;
+ model.treasureStepUpShow = false;
+ SelectHumanTreasure(_state);
}
private void SelectHumanTreasure(int _state = 0)
@@ -434,7 +303,7 @@
&& FuncOpen.Instance.IsFuncOpen(82) && !model.GetSpAnim(m_Treasure.id))
{
m_TreasureAnimation.step = TreasureAnimation.TreasureShowStep.FirstPotential;
- UpdateStage(2);
+ Display(2);
return;
}
}
@@ -451,7 +320,7 @@
&& !model.GetSpAnim(m_Treasure.id))
{
m_TreasureAnimation.step = TreasureAnimation.TreasureShowStep.FirstPotential;
- UpdateStage(2);
+ Display(2);
}
}
}
@@ -519,68 +388,11 @@
private void TreasureSelectedEvent(int _id)
{
- if (!m_TreasureAnimation.stepComplete)
- {
- return;
- }
- var _list = model.GetTreasureCategory(model.currentCategory);
- var _index = _list.FindIndex((x) =>
- {
- return x == _id;
- });
- if (_index != -1)
- {
- m_OnLevelUpStage = false;
- UI3DTreasureSelectStage.Instance.GotoImmediatly(_index);
- UpdateStage(1);
- }
+ Display(1);
}
- private void onDragComplete(int _value)
+ private bool AllowSelectTreasure(int treasureId)
{
- if (_value > 0)
- {
- OnRightBtn();
- }
- else if (_value < 0)
- {
- OnLeftBtn();
- }
- }
-
- private void OnLeftBtn()
- {
- if (CheckSelectTreasureFunc(model.selectedTreasure - 1))
- {
- model.openFromTaskId = 0;
- if (FunctionalGuideCenter.Instance.ExistUnderwayGuide(65))
- {
- FunctionalGuideCenter.Instance.RemoveGuide(65);
- }
- model.selectedTreasure = model.selectedTreasure - 1;
- }
- }
-
- private void OnRightBtn()
- {
- if (CheckSelectTreasureFunc(model.selectedTreasure + 1))
- {
- model.openFromTaskId = 0;
- if (FunctionalGuideCenter.Instance.ExistUnderwayGuide(65))
- {
- FunctionalGuideCenter.Instance.RemoveGuide(65);
- }
- model.selectedTreasure = model.selectedTreasure + 1;
- }
- }
-
- private bool CheckSelectTreasureFunc(int _id)
- {
- Treasure _treasure;
- if (!model.TryGetTreasure(_id, out _treasure))
- {
- return false;
- }
if (model.TreasureStageUpLimit(model.selectedTreasure))
{
return false;
@@ -588,49 +400,31 @@
return m_TreasureAnimation.stepComplete && !model.treasureStepUpShow && !m_NewBieGuide;
}
- private void OnBack()
+ private void PrepareSelectTreasure(int treasureId)
{
- if (!m_TreasureAnimation.stepComplete || model.treasureStepUpShow || m_NewBieGuide)
+ model.openFromTaskId = 0;
+ if (FunctionalGuideCenter.Instance.ExistUnderwayGuide(65))
{
- return;
- }
- if (model.TreasureStageUpLimit(model.selectedTreasure))
- {
- return;
- }
- if (PlayerDatas.Instance.baseData.LV < model.treasureBackLvLimit
- && !WindowJumpMgr.Instance.IsJumpState)
- {
- StartBack();
- return;
- }
- if (!WindowJumpMgr.Instance.IsJumpState && model.openFromTreasureList)
- {
- StartBack();
- return;
- }
- if (!WindowJumpMgr.Instance.IsJumpState && model.exitRecord >= 4)
- {
- StartBack();
- model.exitRecord = 0;
- return;
- }
- model.openFromTreasureList = false;
- CloseImmediately();
- if (!WindowJumpMgr.Instance.IsJumpState)
- {
- model.exitRecord++;
- WindowCenter.Instance.Open<MainInterfaceWin>();
+ FunctionalGuideCenter.Instance.RemoveGuide(65);
}
}
- void StartBack()
+ private int AllowBack()
+ {
+ if (!m_TreasureAnimation.stepComplete || model.treasureStepUpShow || m_NewBieGuide)
+ {
+ return 1;
+ }
+ if (model.TreasureStageUpLimit(model.selectedTreasure))
+ {
+ return 1;
+ }
+ return 0;
+ }
+
+ private void PrepareBack()
{
model.SetTreasureUnlockShow(TreasureCategory.Human, 0);
- model.openFromTreasureList = false;
- m_DisplayContainer.gameObject.SetActive(false);
- WindowCenter.Instance.Open<TreasureSelectWin>(true);
- UI3DTreasureSelectStage.Instance.StartBack();
}
private void OnGetTreasure()
@@ -750,7 +544,7 @@
private void AchievementCompletedEvent(int _id)
{
var config = Config.Instance.Get<TreasureConfig>(model.selectedTreasure);
- if (!m_Init || config == null || (TreasureCategory)config.Category != TreasureCategory.Human
+ if (config == null || (TreasureCategory)config.Category != TreasureCategory.Human
|| m_Treasure.state != TreasureState.Collected || m_Treasure.IsHighestStage)
{
return;
@@ -836,7 +630,7 @@
else if (FuncOpen.Instance.IsFuncOpen(82) && !model.GetSpAnim(m_Treasure.id))
{
m_TreasureAnimation.step = TreasureAnimation.TreasureShowStep.FirstPotential;
- UpdateStage(2);
+ Display(2);
}
break;
case TreasureAnimation.TreasureShowStep.FirstUnLock:
@@ -864,13 +658,13 @@
if (m_Treasure.IsHighestStage && FuncOpen.Instance.IsFuncOpen(82))
{
m_TreasureAnimation.step = TreasureAnimation.TreasureShowStep.FirstPotential;
- UpdateStage(2);
+ Display(2);
}
else
{
if (mainTaskId != 0)
{
- CloseImmediately();
+ WindowCenter.Instance.CloseImmediately<TreasureBaseWin>();
WindowCenter.Instance.Open<MainInterfaceWin>();
task.AutomaticTripToTask(mainTaskId);
}
@@ -995,8 +789,8 @@
break;
case TreasureStageUnlock.Treasure:
WindowJumpMgr.Instance.ClearJumpData();
+ WindowCenter.Instance.CloseImmediately<TreasureBaseWin>();
WindowCenter.Instance.Open<MainInterfaceWin>();
- CloseImmediately();
break;
case TreasureStageUnlock.TreasureSoul:
TreasureSoulActiveWin.treasureSoulId = stage.treasureSoul;
@@ -1019,7 +813,7 @@
{
TreasureStageUpTriggerWin.screenShotCut = _tex;
WindowJumpMgr.Instance.ClearJumpData();
- CloseImmediately();
+ WindowCenter.Instance.CloseImmediately<TreasureBaseWin>();
WindowCenter.Instance.Open<TreasureStageUpTriggerWin>(true);
WindowCenter.Instance.Open<MainInterfaceWin>();
if (WindowCenter.Instance.IsOpen<DialogueDuidanceWin>())
@@ -1218,13 +1012,6 @@
}
}
- private void SkillLevelUpRedpointUpdate()
- {
- var skillLevelUpRedpointTreasure = model.GetSkillLevelUpRedpointTreasure();
- m_LeftRedpoint.gameObject.SetActive(false);
- m_RightRedpoint.gameObject.SetActive(false);
- }
-
protected override void LateUpdate()
{
base.LateUpdate();
@@ -1251,7 +1038,7 @@
public void PreviewAnimation()
{
m_TreasureAnimation.step = TreasureAnimation.TreasureShowStep.FirstPotential;
- UpdateStage(2);
+ Display(2);
}
[ContextMenu("娴嬭瘯鍔熻兘寮�鍚�")]
diff --git a/System/Treasure/TreasureSelectWin.cs b/System/Treasure/TreasureSelectWin.cs
index 580163c..252db53 100644
--- a/System/Treasure/TreasureSelectWin.cs
+++ b/System/Treasure/TreasureSelectWin.cs
@@ -169,7 +169,7 @@
WindowJumpMgr.Instance.ClearJumpData();
m_CorrectClose = true;
CameraManager.uiCamera.enabled = false;
- WindowCenter.Instance.Open<TreasureLevelUpWin>();
+ WindowCenter.Instance.Open<TreasureBaseWin>();
CloseImmediately();
}
diff --git a/System/Treasure/UI3DTreasureSelectStage.cs b/System/Treasure/UI3DTreasureSelectStage.cs
index 9da5c32..57da7a0 100644
--- a/System/Treasure/UI3DTreasureSelectStage.cs
+++ b/System/Treasure/UI3DTreasureSelectStage.cs
@@ -426,6 +426,7 @@
{
StopCoroutine(preloadCoroutine);
preloadCoroutine = null;
+ Preloading = false;
}
if (!m_PreloadDict.ContainsKey(currentCategory) && !_closer)
diff --git a/System/WindowJump/WindowJumpMgr.cs b/System/WindowJump/WindowJumpMgr.cs
index c025af1..67d5cbe 100644
--- a/System/WindowJump/WindowJumpMgr.cs
+++ b/System/WindowJump/WindowJumpMgr.cs
@@ -503,7 +503,7 @@
SetJumpLogic<TreasureSoulWin>(_tagWinSearchModel.TABID);
break;
case JumpUIType.TreasureCollectSoul:
- SetJumpLogic<TreasureLevelUpWin>(0);
+ SetJumpLogic<TreasureBaseWin>(0);
break;
case JumpUIType.Kylin:
dungeonModel.currentDungeon = new Dungeon(31190, 0);
@@ -617,7 +617,7 @@
case JumpUIType.LLBT:
treasureModel.currentCategory = TreasureCategory.Fairy;
treasureModel.selectedTreasure = int.Parse(_tagWinSearchModel.SelectActive);
- SetJumpLogic<TreasureLevelUpWin>(_tagWinSearchModel.TABID);
+ SetJumpLogic<TreasureBaseWin>(_tagWinSearchModel.TABID);
break;
case JumpUIType.FYZJTyp1:
case JumpUIType.FYZJTyp2:
@@ -625,7 +625,7 @@
case JumpUIType.SHLTyp2:
treasureModel.currentCategory = TreasureCategory.Demon;
treasureModel.selectedTreasure = int.Parse(_tagWinSearchModel.SelectActive);
- SetJumpLogic<TreasureLevelUpWin>(_tagWinSearchModel.TABID);
+ SetJumpLogic<TreasureBaseWin>(_tagWinSearchModel.TABID);
break;
case JumpUIType.DhszTs:
@@ -640,7 +640,7 @@
case JumpUIType.StfTs:
treasureModel.currentCategory = TreasureCategory.Human;
treasureModel.selectedTreasure = int.Parse(_tagWinSearchModel.SelectActive);
- SetJumpLogic<TreasureLevelUpWin>(_tagWinSearchModel.TABID);
+ SetJumpLogic<TreasureBaseWin>(_tagWinSearchModel.TABID);
break;
case JumpUIType.FirstRecharge:
SetJumpLogic<FirstRechargeWin>(_tagWinSearchModel.TABID, true);
diff --git a/System/WorldMap/LocalMapTreasure.cs b/System/WorldMap/LocalMapTreasure.cs
index 6e82bc7..b0787b3 100644
--- a/System/WorldMap/LocalMapTreasure.cs
+++ b/System/WorldMap/LocalMapTreasure.cs
@@ -55,7 +55,7 @@
model.selectedTreasure = treasureId;
model.currentCategory = TreasureCategory.Human;
- WindowCenter.Instance.Open<TreasureLevelUpWin>();
+ WindowCenter.Instance.Open<TreasureBaseWin>();
}
}
diff --git a/UI/Common/UI3DShowHero.cs b/UI/Common/UI3DShowHero.cs
index fcd4831..b166958 100644
--- a/UI/Common/UI3DShowHero.cs
+++ b/UI/Common/UI3DShowHero.cs
@@ -108,7 +108,7 @@
if (weaponId != 0)
{
- prefab = InstanceResourcesLoader.LoadModelRes(weaponId, true);
+ prefab = InstanceResourcesLoader.LoadModelRes(weaponId);
if (prefab)
{
pool = GameObjectPoolManager.Instance.RequestPool(prefab);
@@ -119,7 +119,7 @@
if (secondaryId != 0)
{
- prefab = InstanceResourcesLoader.LoadModelRes(secondaryId, true);
+ prefab = InstanceResourcesLoader.LoadModelRes(secondaryId);
if (prefab)
{
if (secondaryModel)
@@ -134,7 +134,7 @@
if (wingsId != 0)
{
- prefab = InstanceResourcesLoader.LoadModelRes(wingsId, true);
+ prefab = InstanceResourcesLoader.LoadModelRes(wingsId);
if (prefab)
{
pool = GameObjectPoolManager.Instance.RequestPool(prefab);
@@ -329,18 +329,18 @@
if (oldWeapon != 0)
{
- prefab = InstanceResourcesLoader.LoadModelRes(oldWeapon, true);
+ prefab = InstanceResourcesLoader.LoadModelRes(oldWeapon);
pool = GameObjectPoolManager.Instance.RequestPool(prefab);
pool.Release(weaponModel);
weaponModel = null;
}
- prefab = InstanceResourcesLoader.LoadModelRes(resoureceId, true);
+ prefab = InstanceResourcesLoader.LoadModelRes(resoureceId);
if (!prefab)
{
resoureceId = config.BaseEquip[1];
- prefab = InstanceResourcesLoader.LoadModelRes(resoureceId, true);
+ prefab = InstanceResourcesLoader.LoadModelRes(resoureceId);
}
if (prefab)
@@ -372,7 +372,7 @@
if (oldSecondary != 0)
{
- prefab = InstanceResourcesLoader.LoadModelRes(oldSecondary, true);
+ prefab = InstanceResourcesLoader.LoadModelRes(oldSecondary);
pool = GameObjectPoolManager.Instance.RequestPool(prefab);
pool.Release(secondaryModel);
secondaryModel = null;
@@ -380,12 +380,12 @@
if (secondaryResId != 0)
{
- prefab = InstanceResourcesLoader.LoadModelRes(secondaryResId, true);
+ prefab = InstanceResourcesLoader.LoadModelRes(secondaryResId);
if (!prefab)
{
var config = Config.Instance.Get<JobSetupConfig>(_job);
secondaryResId = config.BaseEquip[2];
- prefab = InstanceResourcesLoader.LoadModelRes(secondaryResId, true);
+ prefab = InstanceResourcesLoader.LoadModelRes(secondaryResId);
}
if (prefab)
@@ -415,7 +415,7 @@
if (oldWings != 0)
{
- prefab = InstanceResourcesLoader.LoadModelRes(oldWings, true);
+ prefab = InstanceResourcesLoader.LoadModelRes(oldWings);
pool = GameObjectPoolManager.Instance.RequestPool(prefab);
pool.Release(wingsModel);
wingsModel = null;
@@ -423,12 +423,12 @@
if (resourceId != 0)
{
- prefab = InstanceResourcesLoader.LoadModelRes(resourceId, true);
+ prefab = InstanceResourcesLoader.LoadModelRes(resourceId);
if (!prefab)
{
resourceId = config.BaseEquip[3];
- prefab = InstanceResourcesLoader.LoadModelRes(resourceId, true);
+ prefab = InstanceResourcesLoader.LoadModelRes(resourceId);
}
if (prefab)
--
Gitblit v1.8.0