| Fight/Stage/StageLoad.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Fight/Stage/StageLoadProcessor.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/CrossServerOneVsOneClient/ClientCrossServerOneVsOne.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/EquipGem/EquipStrengthFull.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/EquipGem/EquipStrengthRein.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/EquipGem/EquipStrengthUpper.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/EquipGem/EquipStrengthWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/HazyRegion/HazyDemonKingModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/HazyRegion/HazyGrassModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/ItemTip/EquipTipWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/ItemTip/GuardTipWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| System/Treasure/TreasureModel.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Fight/Stage/StageLoad.cs
@@ -7,10 +7,8 @@ public class StageLoad : SingletonMonobehaviour<StageLoad> { StageLoadProcessor stageLoadProcessor; public float progress { get { public float progress { get { if (stageLoadProcessor != null) { return stageLoadProcessor.progress; @@ -23,16 +21,13 @@ } Stage m_CurrentStage; public Stage currentStage { public Stage currentStage { get { return m_CurrentStage; } set { m_CurrentStage = value; } } public Stage.E_StageType stageType { get { public Stage.E_StageType stageType { get { return (currentStage != null && currentStage is DungeonStage) ? Stage.E_StageType.Dungeon : Stage.E_StageType.MainCity; } } @@ -273,6 +268,7 @@ public ServerType serverType; public bool isClientLoadMap; public bool needLoadResource; public bool refreshPlayerDatas; public bool serverFlag0109 = false; } Fight/Stage/StageLoadProcessor.cs
@@ -253,10 +253,7 @@ unloadUnUsedOperation = Resources.UnloadUnusedAssets(); if (command.isClientLoadMap && (command.fromMapId == HazyDemonKingModel.Client_MapID || command.fromMapId == HazyGrassModel.Client_ReikiGrassMapID || command.serverType == ServerType.CrossSever)) if (command.refreshPlayerDatas) { var sendInfo = new CA108_tagCMRefreshMainServerRole(); GameNetSystem.Instance.SendInfo(sendInfo); System/CrossServerOneVsOneClient/ClientCrossServerOneVsOne.cs
@@ -189,7 +189,7 @@ GameNetSystem.Instance.PushPackage(attackMode, ServerType.Main); } public static void FakeWaitFight( int waitSeconds) public static void FakeWaitFight(int waitSeconds) { var fakeBarrier = new HA713_tagMCDynamicBarrierState(); fakeBarrier.State = 1; @@ -313,7 +313,8 @@ needEmpty = true, needLoadResource = true, serverType = ServerType.CrossSever, isClientLoadMap = true isClientLoadMap = true, refreshPlayerDatas = true }); } System/EquipGem/EquipStrengthFull.cs
@@ -12,6 +12,7 @@ public class EquipStrengthFull : MonoBehaviour { [SerializeField] ItemCell m_ItemEquip; [SerializeField] Text m_EquipStar; [SerializeField] Text NeedMoney; [SerializeField] Text m_AttributesText1; [SerializeField] Text m_AttributesText2; @@ -60,6 +61,10 @@ itemTipsModel.ShowTip(); }); } m_EquipStar.text = Language.Get("EquipStarLevel", star); m_EquipStar.gameObject.SetActive(star > 0); var equipLvNowList = strengthModel.GetEquipValueList(level, equipPlace); m_AttributesText1.gameObject.SetActive(false); m_AttributesText2.gameObject.SetActive(false); System/EquipGem/EquipStrengthRein.cs
@@ -13,7 +13,8 @@ public class EquipStrengthRein : MonoBehaviour { [SerializeField] ItemCell m_ItemMoney; [SerializeField] ItemCell m_ItemEquip; [SerializeField] ItemCell m_ItemEquip; [SerializeField] Text m_EquipStar; [SerializeField] IntensifySmoothSlider m_Slider; [SerializeField] Text NeedMoney; [SerializeField] Text m_AttributesText1; @@ -59,6 +60,7 @@ itemTipsModel.ShowTip(); }); } m_TextNumber.text = "+" + (equipLv + 1); DisplayMoney(); @@ -69,6 +71,9 @@ var maxStar = EquipStarModel.GetMaxStarLevel(item.config.ItemColor, level); star = Mathf.Min(star, maxStar); m_EquipStar.text = Language.Get("EquipStarLevel", star); m_EquipStar.gameObject.SetActive(star > 0); var equipMaxLv = strengthModel.GetEquipLevelMax(equipType, star); m_TextMaxLv.text = Language.Get("ZBQH_02", star, equipMaxLv); @@ -76,7 +81,7 @@ m_ItemMoney.Init(cellModel); m_ItemMoney.button.SetListener(() => { ItemAttrData attrData = new ItemAttrData(2100, false, (ulong)1); ItemAttrData attrData = new ItemAttrData(2100, true, (ulong)1); itemTipsModel.SetItemTipsModel(attrData); }); var equipLvNowList = strengthModel.GetEquipValueList(level, equipPlace); System/EquipGem/EquipStrengthUpper.cs
@@ -12,6 +12,7 @@ public class EquipStrengthUpper : MonoBehaviour { [SerializeField] ItemCell m_ItemEquip; [SerializeField] Text m_StarLevel; [SerializeField] ItemCell m_ItemMoney; [SerializeField] Text NeedMoney; [SerializeField] Text m_AttributesText1; @@ -40,16 +41,12 @@ equipLv = strengthModel.EquipStrengthDic[equipIndex].StrengthLevel; equipStrength = strengthModel.EquipStrengthDic[equipIndex]; } NeedMoney.gameObject.SetActive(false); var itemPlus = strengthModel.GetEquipConfig(level, equipPlace); if (itemPlus == null) { DebugEx.LogError("没有索引到对应的强化表数据"); return; } m_TextNumber.text = "+" + (equipLv); var item = packModel.GetItemByGuid(equipGuid); if (item != null) { @@ -61,11 +58,19 @@ }); } m_TextNumber.text = "+" + (equipLv + 1); DisplayMoney(); int equipType = strengthModel.GetEquipStrengthType(equipPlace); var star = equipStarModel.GetEquipStarLevel(new Int2(level, equipPlace)); var maxStar = EquipStarModel.GetMaxStarLevel(item.config.ItemColor, level); star = Mathf.Min(star, maxStar); int equipType = strengthModel.GetEquipStrengthType(equipPlace); m_StarLevel.text = Language.Get("EquipStarLevel", star); m_StarLevel.gameObject.SetActive(star > 0); var equipMaxLv = strengthModel.GetEquipLevelMax(equipType, star); m_TextMaxLv.text = Language.Get("ZBQH_02", star, equipMaxLv); @@ -74,9 +79,10 @@ m_ItemMoney.Init(cellModel); m_ItemMoney.button.SetListener(() => { ItemAttrData attrData = new ItemAttrData(2100, false, (ulong)1); ItemAttrData attrData = new ItemAttrData(2100, true, (ulong)1); itemTipsModel.SetItemTipsModel(attrData); }); var equipLvNowList = strengthModel.GetEquipValueList(level, equipPlace); var equipAddLvList = strengthModel.GetEquipValueList(level, equipPlace, 1); m_AttributesText1.gameObject.SetActive(false); @@ -96,25 +102,43 @@ Text addText = m_AttributesText1.transform.Find("Number").GetComponent<Text>(); m_AttributesText1.text = _equipLv.StrName + ":" + _equipLv.AttValue; addText.gameObject.SetActive(false); addText.text = "+" + (_equipAddLv.AttValue - _equipLv.AttValue); break; case 1: m_AttributesText2.gameObject.SetActive(true); Text addText1 = m_AttributesText2.transform.Find("Number").GetComponent<Text>(); m_AttributesText2.text = _equipLv.StrName + ":" + _equipLv.AttValue; addText1.gameObject.SetActive(false); addText1.text = "+" + (_equipAddLv.AttValue - _equipLv.AttValue); break; case 2: m_AttributesText3.gameObject.SetActive(true); Text addText2 = m_AttributesText3.transform.Find("Number").GetComponent<Text>(); m_AttributesText3.text = _equipLv.StrName + ":" + _equipLv.AttValue; addText2.gameObject.SetActive(false); addText2.text = "+" + (_equipAddLv.AttValue - _equipLv.AttValue); break; } } } } public void DisplayMoney() { var config = strengthModel.GetEquipConfig(equipLevel, equipPlace); if (config == null) { return; } ulong money = UIHelper.GetMoneyCnt(3); ulong requireMoney = (ulong)config.costCount; string moneyLabel = ItemLogicUtility.Instance.OnChangeCoinsUnit(UIHelper.GetMoneyCnt(3)); moneyLabel = UIHelper.AppendColor(money >= requireMoney ? TextColType.Green : TextColType.Red, moneyLabel, true); string requireLabel = ItemLogicUtility.Instance.OnChangeCoinsUnit(requireMoney); NeedMoney.text = StringUtility.Contact(moneyLabel, "/", requireLabel); } } } System/EquipGem/EquipStrengthWin.cs
@@ -33,8 +33,8 @@ [SerializeField] UIEffect m_UIEffect1B; [SerializeField] UIEffect m_UIEffect1C; EquipStrengthModel strengthModel { get { return ModelCenter.Instance.GetModel<EquipStrengthModel>(); } } EquipGemModel model { get { return ModelCenter.Instance.GetModel<EquipGemModel>(); } } EquipStrengthModel model { get { return ModelCenter.Instance.GetModel<EquipStrengthModel>(); } } EquipGemModel equipGemModel { get { return ModelCenter.Instance.GetModel<EquipGemModel>(); } } EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } } PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } } EquipStarModel equipStarModel { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } } @@ -57,7 +57,7 @@ protected override void OnPreOpen() { strengthModel.IsChangeBool = true; model.IsChangeBool = true; IsAutomaticBool = false; Times = 0f; m_StopBtn.gameObject.SetActive(false); @@ -66,13 +66,13 @@ OpenSelect();//默认选择 DisplayEquips(); SetStrengthenedState(); strengthModel.SelectEquipRefresh += SelectEquipRefresh; strengthModel.SelectLevelRefresh += SelectLevelRefresh; strengthModel.EquipStrengthUpdate += EquipStrengthUpdate; strengthModel.EquipStrengthLvUpdate += EquipStrengthLvUpdate; model.SelectEquipRefresh += SelectEquipRefresh; model.SelectLevelRefresh += SelectLevelRefresh; model.EquipStrengthUpdate += EquipStrengthUpdate; model.EquipStrengthLvUpdate += EquipStrengthLvUpdate; PlayerDatas.Instance.playerDataRefreshEvent += PlayerDataRefreshEvent; m_Controller.JumpIndex(GetJumpIndex(strengthModel.SelectLevel, strengthModel.SelectEquipPlace)); m_Controller.JumpIndex(GetJumpIndex(model.SelectLevel, model.SelectEquipPlace)); } @@ -82,10 +82,10 @@ protected override void OnPreClose() { strengthModel.SelectEquipRefresh -= SelectEquipRefresh; strengthModel.SelectLevelRefresh -= SelectLevelRefresh; strengthModel.EquipStrengthUpdate -= EquipStrengthUpdate; strengthModel.EquipStrengthLvUpdate -= EquipStrengthLvUpdate; model.SelectEquipRefresh -= SelectEquipRefresh; model.SelectLevelRefresh -= SelectLevelRefresh; model.EquipStrengthUpdate -= EquipStrengthUpdate; model.EquipStrengthLvUpdate -= EquipStrengthLvUpdate; PlayerDatas.Instance.playerDataRefreshEvent -= PlayerDataRefreshEvent; } @@ -102,8 +102,8 @@ if (Times >= WaitTime && isBool && upperLimitBool) { Times = 0; int itemIndex = EquipPlaceMapConfig.GetServerPlace(strengthModel.SelectLevel, strengthModel.SelectEquipPlace); strengthModel.SendEquip(itemIndex); int itemIndex = EquipPlaceMapConfig.GetServerPlace(model.SelectLevel, model.SelectEquipPlace); model.SendEquip(itemIndex); } else if (!isBool || !upperLimitBool) { @@ -135,13 +135,13 @@ } if (equipSet.unLocked) { var slotCount = model.GetUnlockEquipSlotCount(level); var slotCount = equipGemModel.GetUnlockEquipSlotCount(level); if (slotCount > 0) { jumpIndex++; if (model.selectLevel == level) if (equipGemModel.selectLevel == level) { var places = model.GetMosaicEquipPlaces(); var places = equipGemModel.GetMosaicEquipPlaces(); foreach (var place in places) { if (equipSet.IsSlotUnLocked(place)) @@ -164,8 +164,8 @@ { if (StrengtheBool()) { int itemIndex = EquipPlaceMapConfig.GetServerPlace(strengthModel.SelectLevel, strengthModel.SelectEquipPlace); strengthModel.SendEquip(itemIndex); int itemIndex = EquipPlaceMapConfig.GetServerPlace(model.SelectLevel, model.SelectEquipPlace); model.SendEquip(itemIndex); } } @@ -202,7 +202,7 @@ m_UIEffect1A.Play(); } m_UIEffect1C.Play(); if (strengthModel.SelectLevel != -1) if (model.SelectLevel != -1) { SetStrengthenedState(); m_Controller.m_Scorller.RefreshActiveCellViews(); @@ -221,13 +221,13 @@ } if (equipSet.unLocked) { var slotCount = model.GetUnlockEquipSlotCount(level); var slotCount = equipGemModel.GetUnlockEquipSlotCount(level); if (slotCount > 0) { m_Controller.AddCell(ScrollerDataType.Header, level); if (strengthModel.SelectLevel == level) if (model.SelectLevel == level) { var places = model.GetMosaicEquipPlaces(); var places = equipGemModel.GetMosaicEquipPlaces(); foreach (var place in places) { if (equipSet.IsSlotUnLocked(place)) @@ -244,7 +244,7 @@ private void SelectEquipRefresh() { m_Controller.m_Scorller.RefreshActiveCellViews(); strengthModel.IsChangeBool = true; model.IsChangeBool = true; SetStrengthenedState(); if (IsAutomaticBool) { @@ -256,7 +256,7 @@ private void SelectLevelRefresh() { strengthModel.IsChangeBool = true; model.IsChangeBool = true; if (IsAutomaticBool) { Times = 0f; @@ -286,7 +286,7 @@ private void SetStrengthenedState() { if (strengthModel.SelectLevel == -1) if (model.SelectLevel == -1) { m_ContainerEmpty.gameObject.SetActive(true); m_ContainerStrength.gameObject.SetActive(false); @@ -300,8 +300,8 @@ m_EquipStrengthUpper.gameObject.SetActive(false); m_EquipStrengthRein.gameObject.SetActive(false); m_EquipEvolution.gameObject.SetActive(false); int equipLevel = strengthModel.SelectLevel; int equipPlace = strengthModel.SelectEquipPlace; int equipLevel = model.SelectLevel; int equipPlace = model.SelectEquipPlace; var equipSet = equipModel.GetEquipSet(equipLevel); string equipGuid = string.Empty; equipGuid = equipSet.GetEquip(equipPlace); @@ -316,13 +316,13 @@ int equipLv = 0; int advancedLv = 0; if (strengthModel.EquipStrengthDic.ContainsKey(equipIndex))//获取当前强化等级 if (model.EquipStrengthDic.ContainsKey(equipIndex))//获取当前强化等级 { equipLv = strengthModel.EquipStrengthDic[equipIndex].StrengthLevel; advancedLv = strengthModel.EquipStrengthDic[equipIndex].EvolveLV; equipLv = model.EquipStrengthDic[equipIndex].StrengthLevel; advancedLv = model.EquipStrengthDic[equipIndex].EvolveLV; } int equipType = strengthModel.GetEquipStrengthType(equipPlace); int equipType = model.GetEquipStrengthType(equipPlace); var itemPlusMaxConfig = ItemPlusMaxConfig.GetEquipTypeAndEquipStar(equipType, star);//获取强化等级上限值 if (itemPlusMaxConfig == null) { @@ -330,7 +330,7 @@ return; } int maxLv = strengthModel.GetEquipLevelMax(equipType, maxStar);//获取最大强化等级 int maxLv = model.GetEquipLevelMax(equipType, maxStar);//获取最大强化等级 m_EquipEvolution.gameObject.SetActive(true); m_EquipEvolution.SetEquipEvolution(equipPlace, advancedLv); if (equipLv >= maxLv)//满级 @@ -341,9 +341,8 @@ } else if (maxLv > equipLv && equipLv >= itemPlusMaxConfig.levelMax)//强化上限 { m_BottomFrame.SetActive(false); m_BottomFrame.SetActive(true); m_EquipStrengthUpper.gameObject.SetActive(true); m_EquipStrengthUpper.SetEquipStrengthUpper(equipGuid, equipLevel, equipPlace); } else if (itemPlusMaxConfig.levelMax > equipLv)//可强化过 @@ -362,14 +361,14 @@ private void OpenSelect() { strengthModel.SelectLevel = -1; strengthModel.SelectEquipPlace = -1; model.SelectLevel = -1; model.SelectEquipPlace = -1; if (!strengthModel.jumpEquipPosition.Equals(Int2.zero)) if (!model.jumpEquipPosition.Equals(Int2.zero)) { strengthModel.SelectLevel = strengthModel.jumpEquipPosition.x; strengthModel.SelectEquipPlace = strengthModel.jumpEquipPosition.y; strengthModel.jumpEquipPosition = Int2.zero; model.SelectLevel = model.jumpEquipPosition.x; model.SelectEquipPlace = model.jumpEquipPosition.y; model.jumpEquipPosition = Int2.zero; return; } @@ -383,21 +382,21 @@ } if (equipSet.unLocked) { var slotCount = model.GetUnlockEquipSlotCount(level); var slotCount = equipGemModel.GetUnlockEquipSlotCount(level); if (slotCount > 0) { if (strengthModel.SelectLevel == -1) if (model.SelectLevel == -1) { strengthModel.SelectLevel = level; model.SelectLevel = level; } if (strengthModel.SelectLevel == level) if (model.SelectLevel == level) { var places = model.GetMosaicEquipPlaces(); var places = equipGemModel.GetMosaicEquipPlaces(); foreach (var place in places) { if (strengthModel.SelectEquipPlace == -1) if (model.SelectEquipPlace == -1) { strengthModel.SelectEquipPlace = place; model.SelectEquipPlace = place; } } } @@ -408,39 +407,49 @@ private bool StrengtheBool() { bool isbool = false; var itemPlus = strengthModel.GetEquipConfig(strengthModel.SelectLevel, strengthModel.SelectEquipPlace); if (m_EquipStrengthUpper.gameObject.activeSelf) { int equipType = model.GetEquipStrengthType(model.SelectEquipPlace); var equipPosition = new Int2(model.SelectLevel, model.SelectEquipPlace); var star = equipStarModel.GetEquipStarLevel(equipPosition); var equipGuid = equipModel.GetEquip(equipPosition); var item = packModel.GetItemByGuid(equipGuid); var maxStar = EquipStarModel.GetMaxStarLevel(item.config.ItemColor, model.SelectEquipPlace); star = Mathf.Min(star, maxStar); var equipMaxLv = model.GetEquipLevelMax(equipType, star); SysNotifyMgr.Instance.ShowTip("EquipStrengthLimitError_1", star, equipMaxLv); return false; } var itemPlus = model.GetEquipConfig(model.SelectLevel, model.SelectEquipPlace); if (itemPlus == null) { return false; } ulong money = UIHelper.GetMoneyCnt(3); ulong needMoney = (ulong)itemPlus.costCount; if (money >= needMoney) if (money < needMoney) { isbool = true; } else { ModelCenter.Instance.GetModel<GetItemPathModel>().SetChinItemModel(22); //ServerTipDetails.DisplayNormalTip(Language.Get("Z1011")); isbool = false; ModelCenter.Instance.GetModel<GetItemPathModel>().SetChinItemModel(2100); return false; } return isbool; return true; } private bool UpperLimitBool() { bool isBool = false; var equipPosition = new Int2(strengthModel.SelectLevel, strengthModel.SelectEquipPlace); var equipPosition = new Int2(model.SelectLevel, model.SelectEquipPlace); int equipIndex = EquipSet.ClientPlaceToServerPlace(equipPosition); int star = equipStarModel.GetStarLevel(equipPosition); int equipLv = 0; if (strengthModel.EquipStrengthDic.ContainsKey(equipIndex))//获取当前强化等级 if (model.EquipStrengthDic.ContainsKey(equipIndex))//获取当前强化等级 { equipLv = strengthModel.EquipStrengthDic[equipIndex].StrengthLevel; equipLv = model.EquipStrengthDic[equipIndex].StrengthLevel; } int equipType = strengthModel.GetEquipStrengthType(strengthModel.SelectEquipPlace); int equipType = model.GetEquipStrengthType(model.SelectEquipPlace); var itemPlusMaxConfig = ItemPlusMaxConfig.GetEquipTypeAndEquipStar(equipType, star);//获取强化等级上限值 if (itemPlusMaxConfig.levelMax > equipLv) { @@ -459,6 +468,7 @@ if (dataType == PlayerDataType.Silver) { m_EquipStrengthRein.DisplayMoney(); m_EquipStrengthUpper.DisplayMoney(); } } } System/HazyRegion/HazyDemonKingModel.cs
@@ -296,7 +296,6 @@ MapTransferUtility.Instance.Clear(); ClientDungeonStageUtility.SetClientDungeon(true, Client_MapID); ClientDungeonStageUtility.RequestStartClientDungeon(config.dungeonId, config.lineId); CrossServerLogin.Instance.SetWaitForLoginCrossServerState(false); StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand() { toMapId = Client_MapID, @@ -329,7 +328,8 @@ needEmpty = true, needLoadResource = true, serverType = ServerType.Main, isClientLoadMap = true isClientLoadMap = true, refreshPlayerDatas=true }); } } System/HazyRegion/HazyGrassModel.cs
@@ -309,7 +309,6 @@ MapTransferUtility.Instance.Clear(); ClientDungeonStageUtility.SetClientDungeon(true, (ushort)mapId); ClientDungeonStageUtility.RequestStartClientDungeon(config.dungeonId, config.lineId); CrossServerLogin.Instance.SetWaitForLoginCrossServerState(false); StageLoad.Instance.PushSceneLoadCommand(new StageLoad.StageLoadCommand() { toMapId = mapId, @@ -342,7 +341,8 @@ needEmpty = true, needLoadResource = true, serverType = ServerType.Main, isClientLoadMap = true isClientLoadMap = true, refreshPlayerDatas=true }); } } System/ItemTip/EquipTipWin.cs
@@ -242,7 +242,7 @@ } else { job.text = Language.Get("StoreWin110"); job.text = Language.Get("EquipWin_JobTitleText_1") + Language.Get("StoreWin110"); } equipPlace.text = Language.Get("EquipWin_PartTitleText_1") + UIHelper.GetEquipPlaceName(itemConfig.EquipPlace); System/ItemTip/GuardTipWin.cs
@@ -89,7 +89,7 @@ } else { m_Job.text = Language.Get("StoreWin110"); m_Job.text = Language.Get("EquipWin_JobTitleText_1") + Language.Get("StoreWin110"); } m_Place.text = Language.Get("EquipWin_PartTitleText_1") + UIHelper.GetEquipPlaceName(itemConfig.EquipPlace); System/Treasure/TreasureModel.cs
@@ -316,6 +316,11 @@ var taskConfigs = TaskListConfig.GetValues(); foreach (var config in taskConfigs) { if (config.FabaoID == 0) { continue; } Dictionary<int, List<int>> clues = null; if (!treasureClues.TryGetValue(config.FabaoID, out clues)) {