Core/GameEngine/Model/Config/OSCBillRankAwardConfig.cs
@@ -1,6 +1,6 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Monday, March 05, 2018 // [ Date ]: Wednesday, October 31, 2018 //-------------------------------------------------------- using UnityEngine; @@ -11,12 +11,11 @@ public partial class OSCBillRankAwardConfig : ConfigBase { public int ID { get ; private set ; } public int RangListType { get ; private set ; } public int RankA { get ; private set ; } public int RankB { get ; private set ; } public int ID { get ; private set ; } public int RangListType { get ; private set ; } public int RankA { get ; private set ; } public int RankB { get ; private set ; } public string Gift { get ; private set; } public string Tip { get ; private set; } public override string getKey() { @@ -26,17 +25,15 @@ public override void Parse() { try { ID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; RangListType=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; RankA=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; RankB=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0; ID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; RangListType=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; RankA=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; RankB=IsNumeric(rawContents[3]) ? int.Parse(rawContents[3]):0; Gift = rawContents[4].Trim(); Tip = rawContents[5].Trim(); } catch (Exception ex) { Core/GameEngine/Model/Config/OSCBillRankAwardConfig.cs.meta
@@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: 7ce4d6937cf54cd4fa6ade01d3dac04b timeCreated: 1520238947 timeCreated: 1540966904 licenseType: Pro MonoImporter: serializedVersion: 2 Core/GameEngine/Model/Config/OSCBillTagAwardConfig.cs
@@ -1,6 +1,6 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Monday, March 05, 2018 // [ Date ]: Wednesday, October 31, 2018 //-------------------------------------------------------- using UnityEngine; @@ -11,11 +11,10 @@ public partial class OSCBillTagAwardConfig : ConfigBase { public int ID { get ; private set ; } public int RangListType { get ; private set ; } public int Condition { get ; private set ; } public int ID { get ; private set ; } public int RangListType { get ; private set ; } public int Condition { get ; private set ; } public string Gift { get ; private set; } public string Tip { get ; private set; } public override string getKey() { @@ -25,15 +24,13 @@ public override void Parse() { try { ID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; RangListType=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; Condition=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; ID=IsNumeric(rawContents[0]) ? int.Parse(rawContents[0]):0; RangListType=IsNumeric(rawContents[1]) ? int.Parse(rawContents[1]):0; Condition=IsNumeric(rawContents[2]) ? int.Parse(rawContents[2]):0; Gift = rawContents[3].Trim(); Tip = rawContents[4].Trim(); } catch (Exception ex) { Core/GameEngine/Model/Config/OSCBillTagAwardConfig.cs.meta
@@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: a581b3603c294cb4f875c5ff8676252d timeCreated: 1520238949 timeCreated: 1540966614 licenseType: Pro MonoImporter: serializedVersion: 2 Core/GameEngine/Model/Config/RuneTowerFloorConfig.cs
@@ -1,6 +1,6 @@ //-------------------------------------------------------- // [Author]: 第二世界 // [ Date ]: Friday, September 21, 2018 // [ Date ]: Wednesday, October 31, 2018 //-------------------------------------------------------- using UnityEngine; @@ -25,6 +25,7 @@ public int RuneDrop { get ; private set ; } public int Fixed { get ; private set ; } public int AutoExit { get ; private set ; } public int Fightpower { get ; private set ; } public override string getKey() { @@ -61,6 +62,8 @@ Fixed=IsNumeric(rawContents[12]) ? int.Parse(rawContents[12]):0; AutoExit=IsNumeric(rawContents[13]) ? int.Parse(rawContents[13]):0; Fightpower=IsNumeric(rawContents[14]) ? int.Parse(rawContents[14]):0; } catch (Exception ex) { Core/GameEngine/Model/Config/RuneTowerFloorConfig.cs.meta
@@ -1,6 +1,6 @@ fileFormatVersion: 2 guid: eb8552f7e3b6ad843878daecebc9eb01 timeCreated: 1537535813 timeCreated: 1540967169 licenseType: Pro MonoImporter: serializedVersion: 2 Core/NetworkPackage/DTCFile/ServerPack/HA3_Function/DTCA302_tagMCFuncOpenStateList.cs
@@ -10,12 +10,14 @@ public class DTCA302_tagMCFuncOpenStateList : DtcBasic { public override void Done(GameNetPackBasic vNetPack) { { FeatureNoticeModel featureNoticeModel = ModelCenter.Instance.GetModel<FeatureNoticeModel>(); base.Done(vNetPack); var package = vNetPack as HA302_tagMCFuncOpenStateList; FuncOpen.Instance.UpdateFuncState(package); featureNoticeModel.OpenFuncAwardState(package); } } Core/NetworkPackage/ServerPack/HA3_Function/HA302_tagMCFuncOpenStateList.cs
@@ -5,7 +5,7 @@ public class HA302_tagMCFuncOpenStateList : GameNetPackBasic { public byte FuncCount; // 功能个数 public tagMCFuncOpenState[] FuncStateList = null; // 功能状态列表 public tagMCFuncOpenState[] FuncStateList; // 功能状态列表 public HA302_tagMCFuncOpenStateList () { _cmd = (ushort)0xA302; @@ -18,12 +18,14 @@ FuncStateList[i] = new tagMCFuncOpenState(); TransBytes (out FuncStateList[i].FuncID, vBytes, NetDataType.BYTE); TransBytes (out FuncStateList[i].State, vBytes, NetDataType.BYTE); TransBytes (out FuncStateList[i].AwardState, vBytes, NetDataType.BYTE); } } public struct tagMCFuncOpenState { public byte FuncID; // 功能ID public byte State; // 是否开启 public byte AwardState; // 是否已领奖励 } } System/ClientVersion/VersionUpdateWin.cs
@@ -96,7 +96,14 @@ if (timer > 1f) { timer -= 1f; m_ProgressSlider.value = VersionUtility.Instance.progress; var downLoadedSize = ((float)RemoteFile.TotalDownloadedSize / DownLoadAndDiscompressTask.BYTE_PER_MILLIONBYTE).ToString("f1"); var totalSize = ((float)VersionUtility.Instance.versionInfo.GetLatestVersion().file_size * 1024 / DownLoadAndDiscompressTask.BYTE_PER_MILLIONBYTE).ToString("f1"); m_Progress.text = Language.GetFromLocal(13, StringUtility.Contact(downLoadedSize, "M", "/", totalSize, "M")); m_Progress.text = StringUtility.Contact((VersionUtility.Instance.progress * 100).ToString("f0"), "%"); } System/ClientVersion/VersionUtility.cs
@@ -171,7 +171,7 @@ { if (IsMaoErGame()) { if (maoerVersion.Keys.Contains("content")) if (maoerVersion != null && maoerVersion.Keys.Contains("content")) { return StringUtility.Contact(Language.GetFromLocal(30), "\r\n", maoerVersion["content"].ToString()); } System/DailyQuest/FindNumberWin.cs
@@ -97,17 +97,18 @@ } else { int copperCash = (int)UIHelper.GetMoneyCnt(3); ; if (copperCash >= NeedCostCopper) { CMRecoverGain(1, resourcesBackModel.ResourcesBackId, number); Close(); } else { GetItemPath.SetChinItemModel(2100); } CMRecoverGain(1, resourcesBackModel.ResourcesBackId, number); Close(); //int copperCash = (int)UIHelper.GetMoneyCnt(3); ; //if (copperCash >= NeedCostCopper) //{ // CMRecoverGain(1, resourcesBackModel.ResourcesBackId, number); // Close(); //} //else //{ // GetItemPath.SetChinItemModel(2100); //} } } @@ -206,6 +207,7 @@ { needFairyJade = (Mathf.CeilToInt(m_Slider.value)) * resourcesBackClass.NormalCostJade; } m_RequiredPrice.gameObject.SetActive(true); if (resourcesBackClass.ExtraCnt > 0) { m_RequiredPrice.text = string.Format(Language.Get("ResourceBack_JadeCostExtra"), needFairyJade, resourcesBackClass.NormalCostJade, resourcesBackClass.VipCostJade); @@ -237,8 +239,9 @@ m_Slider.value = maxNumber; IsOpenBool = false; } needCostCopper = (Mathf.CeilToInt(m_Slider.value)) * resourcesBackClass.CostCopper; m_RequiredPrice.text = string.Format(Language.Get("ResourceBack_CopperCost"), needCostCopper); needCostCopper = (Mathf.CeilToInt(m_Slider.value)) * resourcesBackClass.CostCopper; m_RequiredPrice.gameObject.SetActive(false); // m_RequiredPrice.text = string.Format(Language.Get("ResourceBack_CopperCost"), needCostCopper); NeedCostCopper = needCostCopper; } System/DailyQuest/ResourcesBackBoxBack.cs
@@ -73,14 +73,15 @@ } else { if (costCopper >= resourcesBackClass.CostCopper) { RecoverGain(1, _resourcesBackID, 1); } else { GetItemPath.SetChinItemModel(2100); } RecoverGain(1, _resourcesBackID, 1); //if (costCopper >= resourcesBackClass.CostCopper) //{ // RecoverGain(1, _resourcesBackID, 1); //} //else //{ // GetItemPath.SetChinItemModel(2100); //} } } } @@ -134,6 +135,7 @@ } } var itemConfig = Config.Instance.Get<ItemConfig>(2105); m_ItemIcon.gameObject.SetActive(true); m_ItemIcon.SetSprite("Money_Type_2"); if (resourcesBackClass.RecoverCnt <= 0 && resourcesBackClass.ExtraCnt > 0) { @@ -268,8 +270,9 @@ } var itemConfig = Config.Instance.Get<ItemConfig>(2100); m_ItemIcon.SetSprite("Money_Type_3"); m_NumberText.text = packModelInterface.OnChangeCoinsUnit((ulong)resourcesBackClass.CostCopper); m_ItemIcon.gameObject.SetActive(false); //m_ItemIcon.SetSprite("Money_Type_3"); //m_NumberText.text = packModelInterface.OnChangeCoinsUnit((ulong)resourcesBackClass.CostCopper); int playerlv = PlayerDatas.Instance.baseData.LV; var config = Config.Instance.Get<PlayerLVConfig>(playerlv); System/DailyQuest/ResourcesBackPanel.cs
@@ -24,7 +24,6 @@ [SerializeField] Button m_NotVipFindAKeyBtn;//非Vip一键仙玉找回 [SerializeField] Toggle m_FairyJadeToggle; [SerializeField] Toggle m_CopperCashToggle; [SerializeField] Image m_CopperImage; [SerializeField] Image m_FairyJadeImage; [SerializeField] GameObject m_Container_NoRecords; ResourcesBackModel m_ResourcesBackModel; @@ -96,14 +95,12 @@ m_FairyJadeImage.gameObject.SetActive(true); m_Text_1.SetActive(true); m_Text_2.SetActive(false); m_CopperImage.gameObject.SetActive(false); } else { m_FairyJadeImage.gameObject.SetActive(false); m_Text_1.SetActive(false); m_Text_2.SetActive(true); m_CopperImage.gameObject.SetActive(true); } m_FindAKeyBtn.gameObject.SetActive(true); } @@ -261,32 +258,34 @@ } private void FindAKeyCoins()//一键找铜钱 { int NeedCoinsNumber = 0; foreach (int key in resourcesBackModel.ResourcesBackDic.Keys) { var ResourcesBack = resourcesBackModel.ResourcesBackDic[key]; if (ResourcesBack.RecoverCnt > 0) { NeedCoinsNumber += ResourcesBack.RecoverCnt * ResourcesBack.CostCopper; } } int costCopper = (int)UIHelper.GetMoneyCnt(3); ;//铜钱 string strLanguage = string.Format(Language.Get("NewResourceBack2"), packModelInterface.OnChangeCoinsUnit((ulong)NeedCoinsNumber)); ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), strLanguage, (bool isOk) => { if (isOk) { if (costCopper >= NeedCoinsNumber) { RecoverGain(1); m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见 } else { GetItemPath.SetChinItemModel(2100); } } }); RecoverGain(1);//免费找回 m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见 //int NeedCoinsNumber = 0; //foreach (int key in resourcesBackModel.ResourcesBackDic.Keys) //{ // var ResourcesBack = resourcesBackModel.ResourcesBackDic[key]; // if (ResourcesBack.RecoverCnt > 0) // { // NeedCoinsNumber += ResourcesBack.RecoverCnt * ResourcesBack.CostCopper; // } //} //int costCopper = (int)UIHelper.GetMoneyCnt(3); ;//铜钱 //string strLanguage = string.Format(Language.Get("NewResourceBack2"), packModelInterface.OnChangeCoinsUnit((ulong)NeedCoinsNumber)); //ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), strLanguage, (bool isOk) => //{ // if (isOk) // { // if (costCopper >= NeedCoinsNumber) // { // RecoverGain(1); // m_ScrollerController.m_Scorller.RefreshActiveCellViews();//刷新可见 // } // else // { // GetItemPath.SetChinItemModel(2100); // } // } //}); } List<byte> indexList = new List<byte>(); System/MainInterfacePanel/FeatureNoticeModel.cs
@@ -15,6 +15,8 @@ { public List<FunctionForecastConfig> FunctionList = new List<FunctionForecastConfig>(); public Dictionary<int, ImpactRankModel.RankAwardItem> DicAwardItem = new Dictionary<int, ImpactRankModel.RankAwardItem>();//奖励物品 public Dictionary<int, OpenFuncState> DicOpenFuncState = new Dictionary<int, OpenFuncState>(); public event Action UpdateAwarfItem; private const int Redpoint_key1 = 38; public Redpoint redPointStre1 = new Redpoint(Redpoint_key1); private int OpenFuncId = 0; @@ -117,7 +119,7 @@ var _jsonData = LitJson.JsonMapper.ToObject(functionForecastConfig.Award); foreach (string _key in _jsonData.Keys) { var _job = int.Parse(key); var _job = int.Parse(_key); var _itemArray = LitJson.JsonMapper.ToObject<int[][]>(_jsonData[_key].ToJson()); for (int j = 0; j < _itemArray.Length; j++) { @@ -334,7 +336,37 @@ } return lv; } public class OpenFuncState { public int State; public int AwardState; } public void OpenFuncAwardState(HA302_tagMCFuncOpenStateList info) { for (int i = 0; i < info.FuncCount; i++) { int FuncID = info.FuncStateList[i].FuncID; if (!DicOpenFuncState.ContainsKey(FuncID)) { OpenFuncState openFuncState = new OpenFuncState(); openFuncState.State = info.FuncStateList[i].State; openFuncState.AwardState = info.FuncStateList[i].State; DicOpenFuncState.Add(FuncID, openFuncState); } else { DicOpenFuncState[FuncID].State= info.FuncStateList[i].State; DicOpenFuncState[FuncID].AwardState = info.FuncStateList[i].State; } } if (UpdateAwarfItem != null) { UpdateAwarfItem(); } } } System/MainInterfacePanel/FeaturesType3.cs
@@ -6,18 +6,36 @@ using System.Collections; using UnityEngine.UI; using TableConfig; namespace Snxxz.UI { using System.Collections.Generic; namespace Snxxz.UI { //功能预告第三部 public class FeaturesType3:MonoBehaviour { public class FeaturesType3 : MonoBehaviour { [SerializeField] ImageEx m_Image_Selected;//底板 [SerializeField] ImageEx m_Img_Circle;//Icon框 [SerializeField] ImageEx m_FeaturesTypeIcon;//Icon [SerializeField] Text m_FunctionName;//功能名 [SerializeField] Text m_FunctionalLevel;//功能等级 [SerializeField] Text m_Content;//内容 FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel<FeatureNoticeModel>(); } } [SerializeField] GameObject m_Award; [SerializeField] ImageEx m_ItemBG1; [SerializeField] ImageEx m_Icon1; [SerializeField] Button m_IconBtn1; [SerializeField] Text m_Number1; [SerializeField] ImageEx m_Lock1; [SerializeField] ImageEx m_ItemBG2; [SerializeField] ImageEx m_Icon2; [SerializeField] Button m_IconBtn2; [SerializeField] Text m_Number2; [SerializeField] ImageEx m_Lock2; FeatureNoticeModel featureNoticeModel { get { return ModelCenter.Instance.GetModel<FeatureNoticeModel>(); } } ItemTipsModel _itemTipsModel; ItemTipsModel itemTipsModel { get { return _itemTipsModel ?? (_itemTipsModel = ModelCenter.Instance.GetModel<ItemTipsModel>()); } } public void GetTheFeatureID(int funcId) { var functionForecastConfig = Config.Instance.Get<FunctionForecastConfig>(funcId); @@ -38,13 +56,29 @@ { m_FunctionName.text = "?"; m_FeaturesTypeIcon.SetSprite("UnKnowIcon"); m_Content.text= string.Format(Language.Get("YGFuncLevel"), NeedLv, PlayerDatas.Instance.baseData.LV, NeedLv); m_Award.SetActive(false); m_Content.gameObject.SetActive(true); m_Content.text = string.Format(Language.Get("YGFuncLevel"), NeedLv, PlayerDatas.Instance.baseData.LV, NeedLv); } else { m_FunctionName.text = functionForecastConfig.FuncName; m_FeaturesTypeIcon.SetSprite(functionForecastConfig.FuncIconKey); m_Content.text = functionForecastConfig.Content; if (featureNoticeModel.DicAwardItem.ContainsKey(funcId)) { m_Award.SetActive(true); m_Content.gameObject.SetActive(false); SetRankAwardItem(funcId); //------------------- } else { m_Award.SetActive(false); m_Content.gameObject.SetActive(true); m_Content.text = functionForecastConfig.Content; } } if (PlayerDatas.Instance.baseData.LV >= functionForecastConfig.DisplayLevel) { @@ -67,6 +101,127 @@ m_FeaturesTypeIcon.gray = true; } } private void SetRankAwardItem(int funcID) { ImpactRankModel.RankAwardItem rankAward = featureNoticeModel.DicAwardItem[funcID]; List<AwardItem> List = rankAward.GetAwardItem(PlayerDatas.Instance.baseData.Job); if (List.Count <= 1) { m_ItemBG1.gameObject.SetActive(true); m_ItemBG2.gameObject.SetActive(false); SetItem1(List, funcID); } else { m_ItemBG1.gameObject.SetActive(true); m_ItemBG2.gameObject.SetActive(true); SetItem1(List, funcID); SetItem2(List, funcID); } } private void SetItem1(List<AwardItem> List,int funcID) { var itemConfig = Config.Instance.Get<ItemConfig>(List[0].item.id); UIHelper.SetItemBackGround(m_ItemBG1, itemConfig.ItemColor); m_Icon1.SetSprite(itemConfig.IconKey); m_IconBtn1.SetListener(() => { if (featureNoticeModel.DicOpenFuncState.ContainsKey(funcID) && featureNoticeModel.DicOpenFuncState[funcID].State == 1 && featureNoticeModel.DicOpenFuncState[funcID].AwardState == 0) { DebugEx.LogError("可以领取"); } else { ItemAttrData attrData = new ItemAttrData(List[0].item.id, false, (ulong)List[0].item.count, -1, List[0].isBind); itemTipsModel.SetItemTipsModel(attrData); DebugEx.LogError("弹框"); } }); if (List[0].item.count > 1) { m_Number1.gameObject.SetActive(true); m_Number1.text = List[0].item.count.ToString(); } else { m_Number1.gameObject.SetActive(false); } if (List[0].isBind==1) { m_Lock1.gameObject.SetActive(true); } else { m_Lock1.gameObject.SetActive(false); } if (FuncOpen.Instance.IsFuncOpen(funcID)) { m_ItemBG1.gray = false; m_Icon1.gray = false; m_Lock1.gray = false; } else { m_ItemBG1.gray = true; m_Icon1.gray = true; m_Lock1.gray = true; } } private void SetItem2(List<AwardItem> List, int funcID) { var itemConfig = Config.Instance.Get<ItemConfig>(List[1].item.id); UIHelper.SetItemBackGround(m_ItemBG2, itemConfig.ItemColor); m_Icon2.SetSprite(itemConfig.IconKey); m_IconBtn2.SetListener(() => { if (featureNoticeModel.DicOpenFuncState.ContainsKey(funcID) && featureNoticeModel.DicOpenFuncState[funcID].State == 1 && featureNoticeModel.DicOpenFuncState[funcID].AwardState == 0) { DebugEx.LogError("可以领取"); } else { ItemAttrData attrData = new ItemAttrData(List[1].item.id, false, (ulong)List[1].item.count, -1, List[1].isBind); itemTipsModel.SetItemTipsModel(attrData); DebugEx.LogError("弹框"); } }); if (List[1].item.count > 1) { m_Number2.gameObject.SetActive(true); m_Number2.text = List[1].item.count.ToString(); } else { m_Number2.gameObject.SetActive(false); } if (List[1].isBind==1) { m_Lock2.gameObject.SetActive(true); } else { m_Lock2.gameObject.SetActive(false); } if (FuncOpen.Instance.IsFuncOpen(funcID)) { m_ItemBG2.gray = false; m_Icon2.gray = false; m_Lock2.gray = false; } else { m_ItemBG2.gray = true; m_Icon2.gray = true; m_Lock2.gray = true; } } } } System/MainInterfacePanel/HighSettingTip.cs
@@ -286,8 +286,13 @@ } void OpenTreasure() { WindowCenter.Instance.Close<MainInterfaceWin>(); var _model = ModelCenter.Instance.GetModel<TreasureModel>(); if (!_model.SatisfyEntranceOpen()) { _model.DisplayEntranceLimitHint(); return; } WindowCenter.Instance.Close<MainInterfaceWin>(); if (_model.GetTreasureUnlockShow(TreasureCategory.Human) != 0) { _model.currentCategory = TreasureCategory.Human; System/RuneTower/RuneTowerWin.cs
@@ -28,6 +28,7 @@ [SerializeField] RawImage m_BossPortrait; [SerializeField] Transform m_ContainerReward; [SerializeField] PositionTween m_RewardShowTween; [SerializeField] Text m_FigthPower; [SerializeField] Text m_FloorRewardTitle; [SerializeField] ItemBehaviour m_ProductRune; [SerializeField] Button m_ViewProductRune; @@ -83,6 +84,7 @@ UpdateBossInfo(); UpdateFloorRewardInfo(); UpdateFightPower(); runeSweepActionId = Config.Instance.Get<DailyQuestConfig>((int)DailyQuestType.RuneTowerSweep).RelatedID; OnRuneTowerSweepResult(runeSweepActionId); @@ -237,6 +239,16 @@ m_RunePreviewGroup.Display(nextUnLockFloor); } private void UpdateFightPower() { var towerConfig = Config.Instance.Get<RuneTowerConfig>(model.currentTower); var towerFloorConfig = Config.Instance.Get<RuneTowerFloorConfig>(model.selectedFloor); m_FigthPower.text = towerFloorConfig.Fightpower.ToString(); var reached = PlayerDatas.Instance.baseData.FightPoint >= towerFloorConfig.Fightpower; m_FigthPower.color = UIHelper.GetUIColor(reached ? TextColType.Green : TextColType.Red); } private void PopupBossInfo() { showType = ShowType.BossInfo; @@ -250,6 +262,7 @@ showType = ShowType.RewardInfo; UpdateUIElement(showType); UpdateFloorRewardInfo(); UpdateFightPower(); m_RewardShowTween.Play(); } @@ -271,6 +284,7 @@ break; case ShowType.RewardInfo: UpdateFloorRewardInfo(); UpdateFightPower(); break; } } System/Treasure/TreasureComponent.cs
@@ -719,7 +719,7 @@ RecycleHighestEffect(); Treasure _treasure; if (category == TreasureCategory.Human && model.TryGetTreasure(treasureId, out _treasure) && _treasure.IsHighestStage model.TryGetTreasure(treasureId, out _treasure) && _treasure.IsHighestStage && _treasure.state == TreasureState.Collected && !model.GetTreasureFinishAnim(treasureId) && model.GetTreasureUnlockShow(TreasureCategory.Human) != treasureId) { highestSfx = SFXPlayUtility.Instance.Play(5197, root); System/Treasure/TreasureModel.cs
@@ -213,6 +213,7 @@ public float treasureBackPercent { get; private set; } public int treasureExitLvLimit { get; private set; } public int exitRecord { get; set; } public int entranceOpenCondition { get; private set; } public List<int> cacheGotAchievements { get { return m_CacheGotAchievements; } @@ -1448,6 +1449,9 @@ funcConfig = Config.Instance.Get<FuncConfigConfig>("TreasureNoOpen"); treasureUnOpens.AddRange(ConfigParse.GetMultipleStr<int>(funcConfig.Numerical1)); funcConfig = Config.Instance.Get<FuncConfigConfig>("OpenFabao"); entranceOpenCondition = int.Parse(funcConfig.Numerical1); } const string pattern = "\\\"[0-9]+\\\":\\[[0-9|,]*\\]"; @@ -1573,6 +1577,48 @@ } return 0; } public bool SatisfyEntranceOpen() { var list = GetTreasureCategory(TreasureCategory.Human); if (list != null && list.Count > 1) { if (treasures.ContainsKey(list[1])) { if (treasures[list[1]].state != TreasureState.Locked) { return true; } } } var taskModel = ModelCenter.Instance.GetModel<PlayerTaskDatas>(); var missions = taskModel.MainTaskDic; if (missions != null) { foreach (var missionId in missions.Keys) { if (missionId > entranceOpenCondition) { return true; } else if (missionId == entranceOpenCondition) { return missions[missionId].MissionState == 3; } } return false; } return true; } public void DisplayEntranceLimitHint() { var taskConfig = Config.Instance.Get<PyTaskConfig>(entranceOpenCondition); if (taskConfig != null) { SysNotifyMgr.Instance.ShowTip("OpenFabaoHint", taskConfig.lv); } } } }