Core/GameEngine/Model/Config/MapConfig.cs
@@ -1,6 +1,6 @@ //-------------------------------------------------------- // [Author]: Fish // [ Date ]: Thursday, February 14, 2019 // [ Date ]: Friday, April 12, 2019 //-------------------------------------------------------- using System.Collections.Generic; @@ -16,6 +16,7 @@ public readonly int MapID; public readonly string Name; public readonly int LV; public readonly int realmLevel; public readonly int MapFBType; public readonly int LocalReborn; public readonly int SkillReborn; @@ -44,32 +45,34 @@ int.TryParse(tables[2],out LV); int.TryParse(tables[3],out MapFBType); int.TryParse(tables[3],out realmLevel); int.TryParse(tables[4],out LocalReborn); int.TryParse(tables[4],out MapFBType); int.TryParse(tables[5],out SkillReborn); int.TryParse(tables[5],out LocalReborn); int.TryParse(tables[6],out CanRide); int.TryParse(tables[6],out SkillReborn); int.TryParse(tables[7],out CanOutPet); int.TryParse(tables[7],out CanRide); int.TryParse(tables[8],out TeamLimit); int.TryParse(tables[8],out CanOutPet); string[] BornPointsStringArray = tables[9].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); int.TryParse(tables[9],out TeamLimit); string[] BornPointsStringArray = tables[10].Trim().Split(StringUtility.splitSeparator,StringSplitOptions.RemoveEmptyEntries); BornPoints = new Vector3[BornPointsStringArray.Length]; for (int i=0;i<BornPointsStringArray.Length;i++) { BornPoints[i]=BornPointsStringArray[i].Vector3Parse(); } int.TryParse(tables[10],out MainTaskID); int.TryParse(tables[11],out MainTaskID); MapTaskText = tables[11]; MapTaskText = tables[12]; int.TryParse(tables[12],out Camp); int.TryParse(tables[13],out Camp); int.TryParse(tables[13],out AtkType); int.TryParse(tables[14],out AtkType); } catch (Exception ex) { Core/GameEngine/Model/Config/MapConfig.cs.meta
@@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: db9da28a811a0af4db68188db3a20863 timeCreated: 1550121374 timeCreated: 1555048178 licenseType: Pro MonoImporter: serializedVersion: 2 Core/GameEngine/Model/TelPartialConfig/PartialLoadingBackGroundConfig.cs
Core/GameEngine/Model/TelPartialConfig/PartialLoadingBackGroundConfig.cs.meta
Lua/Gen/SnxxzUIWorldBossModelWrap.cs
@@ -260,7 +260,7 @@ { int gen_ret = gen_to_be_invoked.GetLatestUnLockBoss( ); int gen_ret = gen_to_be_invoked.GetRecommendBoss( ); LuaAPI.xlua_pushinteger(L, gen_ret); System/CrossServerBoss/CrossServerBossWin.cs
@@ -24,6 +24,7 @@ [SerializeField] ImageEx m_ImageGoto; [SerializeField] Button m_KillRecord; [SerializeField] Transform m_SurpassLevel; [SerializeField] RectTransform m_NoDamageTip; [SerializeField] ToggleButton m_Subscribe; [SerializeField] RectTransform m_ContainerBoxCollectWeary; @@ -33,8 +34,6 @@ CrossServerBossModel model { get { return ModelCenter.Instance.GetModel<CrossServerBossModel>(); } } FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } } #region Built-in protected override void BindController() @@ -85,7 +84,7 @@ DisplayItemDropTip(model.selectedBoss); DisplayBossBaseInfo(model.selectedBoss); DisplayWearyValue(model.selectedBoss); DisplayTimes(model.selectedBoss); } private void ShowKillRecords() @@ -149,7 +148,7 @@ { DisplayItemDropTip(_bossId); DisplayBossBaseInfo(_bossId); DisplayWearyValue(_bossId); DisplayTimes(_bossId); } private void DisplayBossBaseInfo(int _bossId) @@ -191,26 +190,40 @@ } } private void DisplayItemDropTip(int _bossId) private void DisplayItemDropTip(int bossId) { var config = CrossServerBossConfig.Get(model.selectedBoss); var config = CrossServerBossConfig.Get(bossId); switch (config.MonsterType) { case 1: case 2: case 3: m_NoDamageTip.gameObject.SetActive(true); m_SurpassLevel.gameObject.SetActive(false); break; case 4: var npcDropConfig = NPCDropItemConfig.Get(_bossId); m_SurpassLevel.gameObject.SetActive(npcDropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > npcDropConfig.MaxLV); var realmLevel = PlayerDatas.Instance.baseData.realmLevel; var npcConfig = NPCConfig.Get(bossId); if (npcConfig.Realm > realmLevel) { m_NoDamageTip.gameObject.SetActive(true); m_SurpassLevel.gameObject.SetActive(false); } else { m_NoDamageTip.gameObject.SetActive(false); var dropConfig = NPCDropItemConfig.Get(bossId); var noDrop = dropConfig == null || (dropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > dropConfig.MaxLV); m_SurpassLevel.gameObject.SetActive(noDrop); } break; } } private void DisplayWearyValue(int _bossId) private void DisplayTimes(int bossId) { var config = CrossServerBossConfig.Get(model.selectedBoss); var config = CrossServerBossConfig.Get(bossId); switch (config.MonsterType) { case 1: System/DogzDungeon/DogzDungeonWin.cs
@@ -24,6 +24,7 @@ [SerializeField] ImageEx m_ImageGoto; [SerializeField] Button m_KillRecord; [SerializeField] Transform m_SurpassLevel; [SerializeField] RectTransform m_NoDamageTip; [SerializeField] ToggleButton m_Subscribe; [SerializeField] RectTransform m_ContainerBoxCollectWeary; @@ -85,7 +86,7 @@ DisplayItemDropTip(model.selectedBoss); DisplayBossBaseInfo(model.selectedBoss); DisplayWearyValue(model.selectedBoss); DisplaySkillTimes(model.selectedBoss); } private void ShowKillRecords() @@ -232,7 +233,7 @@ { DisplayItemDropTip(_bossId); DisplayBossBaseInfo(_bossId); DisplayWearyValue(_bossId); DisplaySkillTimes(_bossId); } private void DisplayBossBaseInfo(int _bossId) @@ -274,24 +275,38 @@ } } private void DisplayItemDropTip(int _bossId) private void DisplayItemDropTip(int bossId) { var config = DogzDungeonConfig.Get(model.selectedBoss); var config = DogzDungeonConfig.Get(bossId); switch (config.MonsterType) { case 1: case 2: case 3: m_NoDamageTip.gameObject.SetActive(true); m_SurpassLevel.gameObject.SetActive(false); break; case 4: var npcDropConfig = NPCDropItemConfig.Get(_bossId); m_SurpassLevel.gameObject.SetActive(npcDropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > npcDropConfig.MaxLV); var realmLevel = PlayerDatas.Instance.baseData.realmLevel; var npcConfig = NPCConfig.Get(bossId); if (npcConfig.Realm > realmLevel) { m_NoDamageTip.gameObject.SetActive(true); m_SurpassLevel.gameObject.SetActive(false); } else { m_NoDamageTip.gameObject.SetActive(false); var dropConfig = NPCDropItemConfig.Get(bossId); var noDrop = dropConfig == null || (dropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > dropConfig.MaxLV); m_SurpassLevel.gameObject.SetActive(noDrop); } break; } } private void DisplayWearyValue(int _bossId) private void DisplaySkillTimes(int _bossId) { var config = DogzDungeonConfig.Get(model.selectedBoss); switch (config.MonsterType) System/FindPrecious/BossHomeWin.cs
@@ -26,12 +26,12 @@ [SerializeField] Button m_Goto; [SerializeField] Button m_KillRecord; [SerializeField] Transform m_SurpassLevel; [SerializeField] RectTransform m_NoDamageTip; [SerializeField] ToggleButton m_Subscribe; BossHomeModel model { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } } FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } VipModel vipModel { get { return ModelCenter.Instance.GetModel<VipModel>(); } } #region Built-in protected override void BindController() @@ -111,8 +111,8 @@ break; } var npcDropConfig = NPCDropItemConfig.Get(model.selectedBoss); m_SurpassLevel.gameObject.SetActive(npcDropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > npcDropConfig.MaxLV); DisplayTip(model.selectedBoss); } } @@ -191,8 +191,8 @@ yield return WaitingForSecondConst.WaitMS300; var bossId = model.selectedBoss; var config = BossHomeConfig.Get(bossId); var npcDropConfig = NPCDropItemConfig.Get(bossId); m_SurpassLevel.gameObject.SetActive(npcDropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > npcDropConfig.MaxLV); DisplayTip(model.selectedBoss); switch (config.MonsterType) { @@ -350,10 +350,28 @@ } } private void DisplayTip(int bossId) { var realmLevel = PlayerDatas.Instance.baseData.realmLevel; var config = NPCConfig.Get(bossId); if (config.Realm > realmLevel) { m_NoDamageTip.gameObject.SetActive(true); m_SurpassLevel.gameObject.SetActive(false); } else { m_NoDamageTip.gameObject.SetActive(false); var dropConfig = NPCDropItemConfig.Get(bossId); var noDrop = dropConfig == null || (dropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > dropConfig.MaxLV); m_SurpassLevel.gameObject.SetActive(noDrop); } } } } System/FindPrecious/DemonJarWin.cs
@@ -25,6 +25,7 @@ [SerializeField] TimerBehaviour m_CountRemainTime; [SerializeField] Button m_Goto; [SerializeField] Transform m_SurpassLevel; [SerializeField] RectTransform m_NoDamageTip; [SerializeField] ToggleButton m_Subscribe; [SerializeField] RectTransform m_ContainerDouble; @@ -134,13 +135,13 @@ DemonJarBossData bossData; model.TryGetBossData(model.selectedBoss, out bossData); var npcDropConfig = NPCDropItemConfig.Get(bossData.id); m_SurpassLevel.gameObject.SetActive(npcDropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > npcDropConfig.MaxLV); m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(model.selectedBoss); m_BossIntroduce.Display(model.selectedBoss, true); m_Bosses.Init(bosses); m_Bosses.MoveToCenter(bosses.IndexOf(model.selectedBoss)); DisplayTip(model.selectedBoss); } private void ShowSkillRecord() @@ -378,19 +379,18 @@ return true; } private void OnBossSelected(int _bossId) private void OnBossSelected(int bossId) { m_BossIntroduce.Display(_bossId, false); m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(_bossId); m_BossIntroduce.Display(bossId, false); m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(bossId); DemonJarBossData bossData; model.TryGetBossData(_bossId, out bossData); var npcDropConfig = NPCDropItemConfig.Get(bossData.id); m_SurpassLevel.gameObject.SetActive(npcDropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > npcDropConfig.MaxLV); model.TryGetBossData(bossId, out bossData); var demonJarConfig = DemonJarConfig.Get(model.selectedBoss); m_RewardDescription.text = Language.Get(demonJarConfig.RewardDescription); var config = DemonJarConfig.Get(model.selectedBoss); m_RewardDescription.text = Language.Get(config.RewardDescription); DisplayTip(bossId); DisplayAutoAndDoubleTitle(); } @@ -434,6 +434,26 @@ } } private void DisplayTip(int bossId) { var realmLevel = PlayerDatas.Instance.baseData.realmLevel; var config = NPCConfig.Get(bossId); if (config.Realm > realmLevel) { m_NoDamageTip.gameObject.SetActive(true); m_SurpassLevel.gameObject.SetActive(false); } else { m_NoDamageTip.gameObject.SetActive(false); var dropConfig = NPCDropItemConfig.Get(bossId); var noDrop = dropConfig == null || (dropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > dropConfig.MaxLV); m_SurpassLevel.gameObject.SetActive(noDrop); } } } } System/FindPrecious/ElderGodAreaWin.cs
@@ -22,6 +22,7 @@ [SerializeField] Button m_Goto; [SerializeField] Button m_KillRecord; [SerializeField] ToggleButton m_Subscribe; [SerializeField] RectTransform m_NoDamageTip; ElderGodAreaModel model { get { return ModelCenter.Instance.GetModel<ElderGodAreaModel>(); } } FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } } @@ -82,6 +83,8 @@ m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(model.selectedBoss); m_Bosses.Init(bosses); m_Bosses.MoveToCenter(bosses.IndexOf(model.selectedBoss)); DisplayTip(model.selectedBoss); } private void ShowKillRecords() @@ -163,11 +166,13 @@ m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(model.selectedBoss); } private void OnBossSelected(int _bossId) private void OnBossSelected(int bossId) { StopCoroutine("Co_DelayDisplayNpcBaseInfo"); StartCoroutine("Co_DelayDisplayNpcBaseInfo"); m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(_bossId); m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(bossId); DisplayTip(bossId); } private void DisplayNpcBaseInfo(bool immediately) @@ -213,6 +218,22 @@ } } } private void DisplayTip(int bossId) { var realmLevel = PlayerDatas.Instance.baseData.realmLevel; var config = NPCConfig.Get(bossId); if (config.Realm > realmLevel) { m_NoDamageTip.gameObject.SetActive(true); } else { m_NoDamageTip.gameObject.SetActive(false); } } } } System/FindPrecious/PersonalBossWin.cs
@@ -19,6 +19,7 @@ [SerializeField] BossIntroduceBehaviour m_BossIntroduce; [SerializeField] Text m_Times; [SerializeField] Button m_Goto; [SerializeField] RectTransform m_NoDamageTip; PersonalBossModel model { get { return ModelCenter.Instance.GetModel<PersonalBossModel>(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } @@ -73,6 +74,8 @@ m_BossIntroduce.Display(model.selectedBoss, true); m_Bosses.Init(bosses); m_Bosses.MoveToCenter(bosses.IndexOf(model.selectedBoss)); DisplayTip(model.selectedBoss); } private void GotoKillBoss() @@ -136,10 +139,27 @@ return true; } private void OnBossSelected(int _bossId) private void OnBossSelected(int bossId) { m_BossIntroduce.Display(_bossId, false); m_BossIntroduce.Display(bossId, false); DisplayTip(bossId); } private void DisplayTip(int bossId) { var realmLevel = PlayerDatas.Instance.baseData.realmLevel; var config = NPCConfig.Get(bossId); if (config.Realm > realmLevel) { m_NoDamageTip.gameObject.SetActive(true); } else { m_NoDamageTip.gameObject.SetActive(false); } } } } System/FindPrecious/WorldBossBreifInfoBehaviour.cs
@@ -14,6 +14,8 @@ public class WorldBossBreifInfoBehaviour : FindPreciousBossBriefInfoBehaviour { [SerializeField] Image m_Attention; [SerializeField] RectTransform m_UnLockCondition; [SerializeField] Image m_UnLockRealm; protected override int selectedBossId { get { @@ -90,6 +92,43 @@ m_Attention.gameObject.SetActive(findPreciousModel.IsBossSubscribed(bossId)); } protected override void DrawBossBaseInfo(string icon, string name, int level, int realm) { m_Portrait.SetSprite(icon); m_Portrait.SetNativeSize(); m_BossName.text = name; m_BossLevel.text = Language.Get("Z1024", level); m_RealmContainer.gameObject.SetActive(isUnLocked); m_UnLockCondition.gameObject.SetActive(!isUnLocked); if (!isUnLocked) { var unLockRealm = model.GetBossUnLockRealm(bossId); var config = RealmConfig.Get(unLockRealm); m_UnLockRealm.SetSprite(config.Img); } else { if (m_Realm != null && m_RealmContainer != null) { if (RealmConfig.Has(realm)) { m_RealmContainer.gameObject.SetActive(true); var realmConfig = RealmConfig.Get(realm); if (realmConfig != null) { m_Realm.SetSprite(realmConfig.Img); } } else { m_RealmContainer.gameObject.SetActive(false); } } } } } } System/FindPrecious/WorldBossModel.cs
@@ -3,13 +3,11 @@ using UnityEngine; using System; namespace Snxxz.UI { [XLua.LuaCallCSharp] public class WorldBossModel : Model { public const int WORLDBOSS_REDPOINT = 76001; int m_SelectedBoss = 0; @@ -64,6 +62,7 @@ public Redpoint worldBossRedPoint = new Redpoint(FindPreciousModel.FINDPRECIOUS_REDPOINTID, WORLDBOSS_REDPOINT); FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } } RealmModel realmModel { get { return ModelCenter.Instance.GetModel<RealmModel>(); } } public override void Init() { @@ -82,13 +81,10 @@ public List<int> GetWorldBosses() { var activedBossIds = new List<int>(); var mapModel = ModelCenter.Instance.GetModel<MapModel>(); for (int i = 0; i < sortedBossIds.Count; i++) { var bossId = sortedBossIds[i]; var config = WorldBossConfig.Get(bossId); var mapId = config.MapID; if (mapModel.IsMapUnlocked(mapId)) if (IsBossUnLockedOrUnlockSoon(bossId)) { activedBossIds.Add(bossId); } @@ -100,7 +96,6 @@ public List<int> GetWorldBosses(int _mapId) { var bosses = new List<int>(); var mapModel = ModelCenter.Instance.GetModel<MapModel>(); for (int i = 0; i < sortedBossIds.Count; i++) { var bossId = sortedBossIds[i]; @@ -120,7 +115,7 @@ return worldBosses.ContainsKey(_bossId) && worldBosses[_bossId].isUnLocked; } public int GetLatestUnLockBoss() public int GetRecommendBoss() { var playerLevel = PlayerDatas.Instance.baseData.LV; for (int i = sortedBossIds.Count - 1; i >= 0; i--) @@ -136,6 +131,47 @@ return sortedBossIds[0]; } public int GetBossUnLockRealm(int bossId) { if (!worldBosses.ContainsKey(bossId)) { return 0; } var config = NPCConfig.Get(bossId); var realmStage = realmModel.GetRealmStage(config.Realm); var realms = new List<int>(); if (realmModel.TryGetRealmStages(realmStage, out realms)) { return realms[0]; } else { return 0; } } private bool IsBossUnLockedOrUnlockSoon(int bossId) { var myRealmLevel = PlayerDatas.Instance.baseData.realmLevel; var myRealmStage = realmModel.GetRealmStage(myRealmLevel); var config = NPCConfig.Get(bossId); var bossRealmStage = realmModel.GetRealmStage(config.Realm); if (myRealmStage >= bossRealmStage) { return true; } if (myRealmStage + 1 >= bossRealmStage) { return true; } return false; } private void ParseConfig() { var worldBossConfigs = WorldBossConfig.GetValues(); @@ -147,18 +183,23 @@ sortedBossIds.AddRange(worldBosses.Keys); sortedBossIds.Sort(WorldBossData.LevelCompare); } } public class WorldBossData { MapModel mapModel { get { return ModelCenter.Instance.GetModel<MapModel>(); } } RealmModel realmModel { get { return ModelCenter.Instance.GetModel<RealmModel>(); } } public int id { get; private set; } public bool isUnLocked { get { var config = WorldBossConfig.Get(id); var mapUnLocked = mapModel.IsMapUnlocked(config.MapID); return mapUnLocked; var myRealmLevel = PlayerDatas.Instance.baseData.realmLevel; var myRealmStage = realmModel.GetRealmStage(myRealmLevel); var config = NPCConfig.Get(id); var bossRealmStage = realmModel.GetRealmStage(config.Realm); return myRealmStage >= bossRealmStage; } } System/FindPrecious/WorldBossWin.cs
@@ -21,10 +21,10 @@ [SerializeField] Button m_Goto; [SerializeField] Button m_KillRecord; [SerializeField] Transform m_SurpassLevel; [SerializeField] RectTransform m_NoDamageTip; [SerializeField] ToggleButton m_Subscribe; WorldBossModel model { get { return ModelCenter.Instance.GetModel<WorldBossModel>(); } } MapModel mapModel { get { return ModelCenter.Instance.GetModel<MapModel>(); } } FindPreciousModel findPreciousModel { get { return ModelCenter.Instance.GetModel<FindPreciousModel>(); } } DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } } BossHomeModel bossHomeModel { get { return ModelCenter.Instance.GetModel<BossHomeModel>(); } } @@ -78,16 +78,14 @@ var bosses = new List<int>(); bosses.AddRange(model.GetWorldBosses()); model.selectedBoss = model.GetLatestUnLockBoss(); model.selectedBoss = model.GetRecommendBoss(); m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(model.selectedBoss); m_BossIntroduce.Display(model.selectedBoss, true); m_Bosses.Init(bosses); m_Bosses.MoveToCenter(bosses.IndexOf(model.selectedBoss)); var config = NPCConfig.Get(model.selectedBoss); var npcDropConfig = NPCDropItemConfig.Get(model.selectedBoss); m_SurpassLevel.gameObject.SetActive(npcDropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > npcDropConfig.MaxLV); DisplayTip(model.selectedBoss); } private void ShowKillRecords() @@ -128,12 +126,11 @@ m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(model.selectedBoss); } private void OnBossSelected(int _bossId) private void OnBossSelected(int bossId) { m_BossIntroduce.Display(_bossId, false); m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(_bossId); var npcDropConfig = NPCDropItemConfig.Get(model.selectedBoss); m_SurpassLevel.gameObject.SetActive(npcDropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > npcDropConfig.MaxLV); m_BossIntroduce.Display(bossId, false); m_Subscribe.isOn = findPreciousModel.IsBossSubscribed(bossId); DisplayTip(bossId); } private void OnBossWearyValue() @@ -221,6 +218,25 @@ } } private void DisplayTip(int bossId) { var realmLevel = PlayerDatas.Instance.baseData.realmLevel; var config = NPCConfig.Get(bossId); if (config.Realm > realmLevel) { m_NoDamageTip.gameObject.SetActive(true); m_SurpassLevel.gameObject.SetActive(false); } else { m_NoDamageTip.gameObject.SetActive(false); var dropConfig = NPCDropItemConfig.Get(bossId); var noDrop = dropConfig == null || (dropConfig.MaxLV != 0 && PlayerDatas.Instance.baseData.LV > dropConfig.MaxLV); m_SurpassLevel.gameObject.SetActive(noDrop); } } } } System/WorldMap/WorldMapUnLockTip.cs
@@ -12,28 +12,36 @@ public class WorldMapUnLockTip : MonoBehaviour { [SerializeField] Image m_LevelConditionSign; [SerializeField] Image m_TreasureConditionSign; [SerializeField] Text m_LevelCondtion; [SerializeField] Text m_TreasureCondition; TreasureModel treasureModel { get { return ModelCenter.Instance.GetModel<TreasureModel>(); } } [SerializeField] Image m_ConditionSign1; [SerializeField] Image m_ConditionSign2; [SerializeField] Text m_Condtion1; [SerializeField] Text m_Condition2; public void Display(int _mapId) { var config = MapConfig.Get(_mapId); m_LevelCondtion.text = Language.Get("WorldMap_LV", config.LV); m_LevelCondtion.color = PlayerDatas.Instance.baseData.LV >= config.LV ? UIHelper.GetUIColor(TextColType.Green) : UIHelper.GetUIColor(TextColType.Red); if (string.IsNullOrEmpty(config.MapTaskText)) if (config.realmLevel > 0) { m_TreasureConditionSign.gameObject.SetActive(false); m_TreasureCondition.text = ""; var realmConfig = RealmConfig.Get(config.realmLevel); m_Condtion1.text = Language.Get("WorldMap_Realm", realmConfig.Name); m_Condtion1.color = UIHelper.GetUIColor(PlayerDatas.Instance.baseData.realmLevel >= config.realmLevel ? TextColType.Green : TextColType.Red); } else { m_TreasureConditionSign.gameObject.SetActive(true); m_TreasureCondition.text = config.MapTaskText; m_Condtion1.text = Language.Get("WorldMap_LV", config.LV); m_Condtion1.color = UIHelper.GetUIColor(PlayerDatas.Instance.baseData.LV >= config.LV ? TextColType.Green : TextColType.Red); } if (string.IsNullOrEmpty(config.MapTaskText)) { m_ConditionSign2.gameObject.SetActive(false); m_Condition2.text = ""; } else { m_ConditionSign2.gameObject.SetActive(true); m_Condition2.text = config.MapTaskText; } }