Core/GameEngine/DataToCtl/PackageRegedit.cs
@@ -458,7 +458,7 @@ { #if UNITY_EDITOR NetPkgCtl.AddNetPkg(vStr, NetPkgType.Server, string.Empty, string.Empty, null); DebugEx.LogErrorFormat("C#层收到未登记的解包协议:{0},{1}", vCmdBytes[0].ToString("x2"), vCmdBytes[1].ToString("x2")); DebugEx.LogFormat("C#层收到未登记的解包协议:{0},{1}", vCmdBytes[0].ToString("x2"), vCmdBytes[1].ToString("x2")); #endif } return null; @@ -481,7 +481,7 @@ } else { DebugEx.LogError("收到未定义的解包协议:" + vBytes[0].ToString("x2").ToUpper() + "," + vBytes[1].ToString("x2").ToUpper()); DebugEx.Log("收到未定义的解包协议:" + vBytes[0].ToString("x2").ToUpper() + "," + vBytes[1].ToString("x2").ToUpper()); } return vNetPackInst; } Core/GameEngine/Login/LoginStage.cs
@@ -54,6 +54,8 @@ } MapTransferUtility.Instance.Clear(); PreFightMission.Instance.Destroy(); } public override void UnInitialize() Core/NetworkPackage/DTCFile/ServerPack/H04_Scene/DTC0407_tagNPCDisappear.cs
@@ -36,8 +36,7 @@ { _npcConfig = (_actor as GActorNpcFight).NpcConfig; WorldBossConfig _worldBoss = Config.Instance.Get<WorldBossConfig>(_npcConfig.NPCID); if (_worldBoss != null) if (Config.Instance.ContainKey<WorldBossConfig>(_npcConfig.NPCID)) { BossFakeLineUtility.Instance.inMistakeForBossAliveOverTime = Time.realtimeSinceStartup + 60; BossFakeLineUtility.Instance.lastBossNpcID = (uint)_npcConfig.NPCID; Core/NetworkPackage/DTCFile/ServerPack/HB9_Team/DTCB912_tagGCTeamMemFuncDataList.cs
@@ -25,7 +25,15 @@ { if (int.Parse(vNetData.MemFuncDataList[i].MemFuncData) <= main.LayerNumber) { main.LayerNumber = int.Parse(vNetData.MemFuncDataList[i].MemFuncData); if (int.Parse(vNetData.MemFuncDataList[i].MemFuncData) - main.WaHuangHighestFloor >= 0) { main.LayerNumber = int.Parse(vNetData.MemFuncDataList[i].MemFuncData) - main.WaHuangHighestFloor; } else { main.LayerNumber = 0; } } } } Fight/Actor/AI/HeroAI_Auto.cs
@@ -302,6 +302,7 @@ { _hero.Behaviour.DoAttack(_skill); m_DecideSkill = null; m_UserClickSkillID = -1; return; } Fight/Actor/AI/HeroAI_Base.cs
@@ -34,7 +34,7 @@ if (priorSkillId >= 0) { if (CanCast(priorSkillId)) if (CanCast(priorSkillId, true)) { _skill = _hero.SkillMgr.Get(priorSkillId); if (_skill != null) @@ -148,7 +148,7 @@ return true; } protected bool CanCast(int skillID) protected bool CanCast(int skillID, bool userClick = false) { if (!CanCastActiveUse(skillID)) { @@ -159,9 +159,9 @@ { GA_Hero _hero = PlayerDatas.Instance.hero; if (!skillModel.AutoUseXp() if ((!skillModel.AutoUseXp() || GeneralConfig.Instance.NoXpDungeons.Contains(PlayerDatas.Instance.baseData.MapID) || (_hero.SelectTarget != null && _hero.SelectTarget is GActorPlayerBase)) || (_hero.SelectTarget != null && _hero.SelectTarget is GActorPlayerBase)) && !userClick) { return false; } Fight/PreFightMission.cs
@@ -1547,12 +1547,13 @@ DebugEx.Log("前期结束..."); } private bool mDestroy = false; public void Destroy() private IEnumerator Co_Destroy() { if (IsFinished()) { return; yield break; } if (m_MoveToEffect) @@ -1690,13 +1691,6 @@ m_FabaoEffect = null; } // 资源卸载 if (!AssetSource.sceneFromEditor) { UnityEngine.SceneManagement.SceneManager.UnloadSceneAsync("Map000_Xsdt"); AssetBundleUtility.Instance.UnloadAssetBundle("maps/map000_xsdt", true, false); } List<GActor> _list = GAMgr.Instance.GetTypeList(E_ActorClassType.NpcClientFightNorm); if (_list != null) { @@ -1738,6 +1732,23 @@ { AssetBundleUtility.Instance.UnloadAssetBundle("mob/prefab_race_n017a", true, true); } // 资源卸载 if (!AssetSource.sceneFromEditor) { // var _operation = UnityEngine.SceneManagement.SceneManager.UnloadSceneAsync("Map000_Xsdt"); // while (_operation.isDone) // { // yield return null; // } AssetBundleUtility.Instance.UnloadAssetBundle("maps/map000_xsdt", true, false); } } private bool mDestroy = false; public void Destroy() { SnxxzGame.Instance.StartCoroutine(Co_Destroy()); } private SimpleMapTrasfer CreateTransfer() Fight/Stage/Dungeon/DungeonStage.cs
@@ -123,7 +123,6 @@ CameraController.Instance.StopShake(); } PreFightMission.Instance.Destroy(); GAMgr.Instance.UnInit(); DropItemManager.ReleaseAll(); SFXPlayUtility.Instance.Unitialize(); System/Activity/ActivityNotifyBehaviour.cs
@@ -130,7 +130,6 @@ case DailyQuestType.WyTaiChi: if (!VersionConfig.Get().isBanShu) { dailyQuestModel.currentDailyQuest = config.ID; dungeonModel.currentDungeon = new Dungeon(config.RelatedID, 0); WindowCenter.Instance.Open<TaiChilDungeonEntranceWin>(); } System/Compose/New/ComposeWinModel.cs
@@ -276,7 +276,7 @@ if(compoundModel.unfixedItemCount > 0) { DictToArray(selectModel.GetHaveUnfixedSelectItem()); unfixedIndexArray = DictToArray(selectModel.GetHaveUnfixedSelectItem()); } else { System/DailyQuest/DailyQuestData.cs
@@ -38,8 +38,7 @@ public int id { get; private set; } bool m_Got = false; public bool got { public bool got { get { return this.m_Got; } set { this.m_Got = value; } } @@ -58,7 +57,7 @@ //常规的活动时间,key是星期x Dictionary<int, List<HourMinute>> openTimes = new Dictionary<int, List<HourMinute>>(); //开服前2周的活动时间,key1是开服日的星期,key2是开服第几天 Dictionary<int, Dictionary<int, List<HourMinute>>> specificOpenTimes = new Dictionary<int, Dictionary<int, List<HourMinute>>>(); Dictionary<int, Dictionary<int, List<HourMinute>>> specialOpenTimes = new Dictionary<int, Dictionary<int, List<HourMinute>>>(); public DailyQuestOpenTime(int _id) { @@ -111,7 +110,7 @@ } } public void ParseQuestSpecificOpenTimes(List<DailyQuestSpecialOpenTimeConfig> configs) public void ParseQuestSpecialOpenTimes(List<DailyQuestSpecialOpenTimeConfig> configs) { if (configs == null) { @@ -121,12 +120,12 @@ foreach (var config in configs) { var openDayWeek = config.OpenServerWeek % 7; if (!specificOpenTimes.ContainsKey(openDayWeek)) if (!specialOpenTimes.ContainsKey(openDayWeek)) { specificOpenTimes[openDayWeek] = new Dictionary<int, List<HourMinute>>(); specialOpenTimes[openDayWeek] = new Dictionary<int, List<HourMinute>>(); } var dayIndexOpenTimes = specificOpenTimes[openDayWeek]; var dayIndexOpenTimes = specialOpenTimes[openDayWeek]; var dayIndex = config.OpenServerDay; if (!dayIndexOpenTimes.ContainsKey(dayIndex)) { @@ -180,7 +179,7 @@ } } public void ParseDungeonSpecificOpenTimes(List<DungeonSpecialStateTimeConfig> configs) public void ParseDungeonSpecialOpenTimes(List<DungeonSpecialStateTimeConfig> configs) { if (configs == null) { @@ -190,12 +189,12 @@ foreach (var config in configs) { var openDayWeek = config.OpenServerWeek % 7; if (!specificOpenTimes.ContainsKey(openDayWeek)) if (!specialOpenTimes.ContainsKey(openDayWeek)) { specificOpenTimes[openDayWeek] = new Dictionary<int, List<HourMinute>>(); specialOpenTimes[openDayWeek] = new Dictionary<int, List<HourMinute>>(); } var dayIndexOpenTimes = specificOpenTimes[openDayWeek]; var dayIndexOpenTimes = specialOpenTimes[openDayWeek]; var dayIndex = config.OpenServerDay; if (!dayIndexOpenTimes.ContainsKey(dayIndex)) { @@ -220,21 +219,28 @@ return true; } var isSpecificDay = TimeUtility.OpenWeekCnt <= 1; var isSpecialDay = TimeUtility.OpenWeekCnt <= 1; var openDayWeek = (int)TimeUtility.openServerTime.DayOfWeek; var dayIndex = TimeUtility.OpenDay + 1; if (isSpecificDay && specificOpenTimes.ContainsKey(openDayWeek) && specificOpenTimes[openDayWeek].ContainsKey(dayIndex)) if (isSpecialDay && specialOpenTimes.ContainsKey(openDayWeek) && specialOpenTimes[openDayWeek].ContainsKey(dayIndex)) { var hourMinutes = specificOpenTimes[openDayWeek][dayIndex]; for (int i = 0; i < hourMinutes.Count; i++) if (specialOpenTimes.ContainsKey(openDayWeek) && specialOpenTimes[openDayWeek].ContainsKey(dayIndex)) { if (hourMinutes[i].InOpenTime()) var hourMinutes = specialOpenTimes[openDayWeek][dayIndex]; for (int i = 0; i < hourMinutes.Count; i++) { return true; if (hourMinutes[i].InOpenTime()) { return true; } } } return false; return false; } else { return false; } } else { @@ -262,26 +268,34 @@ public bool TryGetTodayNearestOpenTime(out HourMinute _hourMinute) { var isSpecificDay = TimeUtility.OpenWeekCnt <= 1; var isSpecialDay = TimeUtility.OpenWeekCnt <= 1; var openDayWeek = (int)TimeUtility.openServerTime.DayOfWeek; var dayIndex = TimeUtility.OpenDay + 1; if (isSpecificDay && specificOpenTimes.ContainsKey(openDayWeek) && specificOpenTimes[openDayWeek].ContainsKey(dayIndex)) if (isSpecialDay) { var hour = TimeUtility.ServerNow.Hour; var minute = TimeUtility.ServerNow.Minute; var hourMinutes = specificOpenTimes[openDayWeek][dayIndex]; _hourMinute = hourMinutes[hourMinutes.Count - 1]; for (int i = 0; i < hourMinutes.Count; i++) if (specialOpenTimes.ContainsKey(openDayWeek) && specialOpenTimes[openDayWeek].ContainsKey(dayIndex)) { var hourMinute = hourMinutes[i]; if (hour <= hourMinute.hourEnd && minute <= hourMinute.minuteEnd) var hour = TimeUtility.ServerNow.Hour; var minute = TimeUtility.ServerNow.Minute; var hourMinutes = specialOpenTimes[openDayWeek][dayIndex]; _hourMinute = hourMinutes[hourMinutes.Count - 1]; for (int i = 0; i < hourMinutes.Count; i++) { _hourMinute = hourMinute; break; var hourMinute = hourMinutes[i]; if (hour <= hourMinute.hourEnd && minute <= hourMinute.minuteEnd) { _hourMinute = hourMinute; break; } } } return true; return true; } else { _hourMinute = default(HourMinute); return false; } } else { @@ -313,7 +327,21 @@ public bool ContainTimeNode(int week, int timeNode) { var hourMinutes = GetHourMinuteByWeek(week); var isSpecialDay = TimeUtility.OpenWeekCnt <= 1; var openDayWeek = (int)TimeUtility.openServerTime.DayOfWeek; var dayIndex = TimeUtility.OpenDay + 1; List<HourMinute> hourMinutes = null; var dayDelta = (week == 0 ? 7 : week) - openDayWeek; if (TimeUtility.OpenWeekCnt < 1 && dayDelta < 0) { openTimes.TryGetValue(week, out hourMinutes); } else { hourMinutes = GetHourMinuteByWeek(week); } if (hourMinutes != null) { foreach (var item in hourMinutes) @@ -376,11 +404,15 @@ public List<HourMinute> GetHourMinuteByWeek(int week) { var isSpecificDay = TimeUtility.OpenWeekCnt <= 1; var openDayWeek = (int)TimeUtility.openServerTime.DayOfWeek; var dayIndex = TimeUtility.OpenDay + 1; if (isSpecificDay && specificOpenTimes.ContainsKey(openDayWeek) && specificOpenTimes[openDayWeek].ContainsKey(dayIndex)) if (isSpecificDay) { return specificOpenTimes[openDayWeek][dayIndex]; var openDayWeek = (int)TimeUtility.openServerTime.DayOfWeek; var dayDelta = ((week == 0 ? 7 : week) - openDayWeek) + TimeUtility.OpenWeekCnt * 7; var dayIndex = TimeUtility.OpenDay + 1 + dayDelta; if (specialOpenTimes.ContainsKey(openDayWeek) && specialOpenTimes[openDayWeek].ContainsKey(dayIndex)) { return specialOpenTimes[openDayWeek][dayIndex]; } } else if (openTimes.ContainsKey(week)) { System/DailyQuest/DailyQuestModel.cs
@@ -959,14 +959,14 @@ var activityOpenTime = Config.Instance.Get<DailyQuestOpenTimeConfig>(config.RelatedID); openTime = dailyQuestOpenTimes[config.ID] = new DailyQuestOpenTime(config.ID); openTime.ParseQuestNormalOpenTime(activityOpenTime.OpenTime, activityOpenTime.Duration); openTime.ParseQuestSpecificOpenTimes(DailyQuestSpecialOpenTimeConfig.GetDailyQuestTimes(config.RelatedID)); openTime.ParseQuestSpecialOpenTimes(DailyQuestSpecialOpenTimeConfig.GetDailyQuestTimes(config.RelatedID)); dailyActionToDailyQuestTable[config.RelatedID] = config.ID; break; case 2: var dungeonOpenTimes = DungeonStateTimeConfig.DungeonStateCanEnterFB(config.RelatedID); openTime = dailyQuestOpenTimes[config.ID] = new DailyQuestOpenTime(config.ID); openTime.ParseDungeonNormalOpenTimes(dungeonOpenTimes); openTime.ParseDungeonSpecificOpenTimes(DungeonSpecialStateTimeConfig.GetDungeonTimes(config.RelatedID)); openTime.ParseDungeonSpecialOpenTimes(DungeonSpecialStateTimeConfig.GetDungeonTimes(config.RelatedID)); dungeonToDailyQuestTable[config.RelatedID] = config.ID; break; } System/Dungeon/DungeonModel.cs
@@ -1313,7 +1313,7 @@ { var openTime = dungeonOpenTimes[config.DataMapID] = new DailyQuestOpenTime(config.DataMapID); openTime.ParseDungeonNormalOpenTimes(DungeonStateTimeConfig.DungeonStateCanEnterFB(config.DataMapID)); openTime.ParseDungeonSpecificOpenTimes(DungeonSpecialStateTimeConfig.GetDungeonTimes(config.DataMapID)); openTime.ParseDungeonSpecialOpenTimes(DungeonSpecialStateTimeConfig.GetDungeonTimes(config.DataMapID)); } } System/KnapSack/Logic/PackSendQuestMgr.cs
@@ -986,22 +986,73 @@ #region 发送出售请求 public void SendSellQuest(ItemWinBtnType btnType,ItemAttrData attrData) { if (attrData.itemConfig.SellTip == 0) { SendSellQuest(attrData.packType,attrData.index); } else if (attrData.itemConfig.SellTip == 1) { ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get("KnapS128", attrData.itemConfig.ItemName), (bool isOK) => { if (isOK) { SendSellQuest(attrData.packType, attrData.index); if (attrData.itemConfig.EquipPlace > 0 && attrData.itemConfig.EquipPlace <= (int)RoleEquipType.retSpiritAnimal) { bool isOverdue = modelInterface.IsOverdue(attrData.guid, attrData.itemConfig.ID, attrData.useDataDict); bool isLimit = Math.Floor((double)attrData.itemConfig.JobLimit / 100) == PlayerDatas.Instance.baseData.Job || attrData.itemConfig.JobLimit == 0 ? true : false; ItemModel putModel = playerPack.GetItemModelByIndex(PackType.rptEquip, attrData.itemConfig.EquipPlace); if (attrData.itemConfig.EquipPlace == (int)RoleEquipType.retFairyCan) { ItemModel fairy2Model = playerPack.GetItemModelByIndex(PackType.rptEquip, (int)RoleEquipType.retFairyCan2); if (fairy2Model == null || putModel == null) { putModel = null; } else { putModel = putModel.equipScore > fairy2Model.equipScore ? fairy2Model : putModel; } } ); if (!isLimit || isOverdue || (putModel != null && attrData.score < putModel.equipScore)) { if (attrData.itemConfig.SellTip == 0) { SendSellQuest(attrData.packType, attrData.index); } else if (attrData.itemConfig.SellTip == 1) { SetSellItemPrompt(attrData, "KnapS128", attrData.itemConfig.ItemName); } } else { if (putModel == null) { SetSellItemPrompt(attrData, "KnapS147", UIHelper.GetEquipAreaName(attrData.itemConfig.EquipPlace)); } else { SetSellItemPrompt(attrData, "KnapS146", attrData.itemConfig.ItemName); } } } else { if (attrData.itemConfig.SellTip == 0) { SendSellQuest(attrData.packType, attrData.index); } else if (attrData.itemConfig.SellTip == 1) { SetSellItemPrompt(attrData, "KnapS128", attrData.itemConfig.ItemName); } } } private void SetSellItemPrompt(ItemAttrData attrData,string key,string parms) { ConfirmCancel.ShowPopConfirm(Language.Get("Mail101"), Language.Get(key,parms), (bool isOK) => { if (isOK) { SendSellQuest(attrData.packType, attrData.index); } }); } private void SendSellQuest(PackType type,int index) System/KnapSack/Logic/PlayerPackModels.cs
@@ -55,7 +55,6 @@ makeDruglist.Add(fruitlist[i]); } } makeDruglist.Sort(CompareMakeDrug); StageManager.Instance.onStageLoadFinish += OnStageLoadFinish; SetDevourEquipPlace(); @@ -1585,15 +1584,35 @@ { return configS.LV.CompareTo(configE.LV); } int x = makeDruglist.IndexOf(start); int y = makeDruglist.IndexOf(end); if (x.CompareTo(y) != 0) x.CompareTo(y); return 0; } List<AttrFruitConfig> drugOrderlist = new List<AttrFruitConfig>(); List<AttrFruitConfig> haveDruglist = new List<AttrFruitConfig>(); public List<AttrFruitConfig> GetDrugOrderByCnt() { drugOrderlist.Clear(); haveDruglist.Clear(); drugOrderlist.AddRange(makeDruglist); drugOrderlist.Sort(CompareByIsHave); for(int i = 0; i < drugOrderlist.Count; i++) { if(IsHaveDrugUse(drugOrderlist[i])) { haveDruglist.Add(drugOrderlist[i]); } } haveDruglist.Sort(CompareMakeDrug); for (int i = 0; i < haveDruglist.Count; i++) { drugOrderlist[i] = haveDruglist[i]; } return drugOrderlist; } System/MainInterfacePanel/FeatureNoticeModel.cs
@@ -255,6 +255,7 @@ var IsOpenFeatureNotice = WindowCenter.Instance.CheckOpen<FeatureNoticeWin>(); if (!IsOpenFeatureNotice) { WindowCenter.Instance.Close<MainInterfaceWin>(); WindowCenter.Instance.Open<FeatureNoticeWin>(); } } System/MainInterfacePanel/FeatureNoticeWin.cs
@@ -89,7 +89,7 @@ { featureNoticeModel.redPointStre1.state = RedPointState.None; } WindowCenter.Instance.Open<MainInterfaceWin>(); } private void treasureStageUpEvent(int obj) { System/MainInterfacePanel/FunctionForecastTip.cs
@@ -115,6 +115,7 @@ void FunctionIconBtn()//面板开启 { WindowCenter.Instance.Close<MainInterfaceWin>(); WindowCenter.Instance.Open<FeatureNoticeWin>(); } } System/MainInterfacePanel/PlayerMainDate.cs
@@ -52,6 +52,7 @@ public static Action NetworkStateEvent; //--------娲皇遗迹;中的层数记录一下下 public int WaHuangHighestFloor = 0;//记录娲皇层数扣除参数 public int _layerNumber = 1;//服务端的层数 public int LayerNumber { @@ -160,6 +161,8 @@ ShieldedArea.Add(10010); ShieldedArea.Add(10020); ShieldedArea.Add(10030); string WaHuangHighestFloorStr= Config.Instance.Get<FuncConfigConfig>("WaHuangHighestFloor").Numerical1; WaHuangHighestFloor = int.Parse(WaHuangHighestFloorStr); } private void GetPassiveSkillTask()//获取任务数据 System/PlayerDead/PlayerDeadModel.cs
@@ -4,6 +4,7 @@ using UnityEngine; using System.Collections.Generic; using System.Collections; using System.Text; public class PlayerDeadModel : Model, IBeforePlayerDataInitialize,IPlayerLoginOk { @@ -21,6 +22,7 @@ public void OnBeforePlayerDataInitialize() { npcRealmLv = 0; IsCanReborn = false; isOpenPrompting = true; this.deadCD = 0; @@ -82,10 +84,11 @@ public int localBossState { get; private set;} public string killerName { get; private set; } public bool isKillByPlayer { get; private set; } public int npcRealmLv { get; private set; } private void RefreshPlayerDieInfo(string key, ArrayList infolist) { switch(key) npcRealmLv = 0; switch (key) { case "PK_lhs_318691": if (infolist.Count > 0) @@ -101,6 +104,7 @@ if(nPCConfig != null) { killerName = nPCConfig.charName; npcRealmLv = nPCConfig.Realm; } isKillByPlayer = false; } @@ -108,6 +112,19 @@ } } public bool CheckIsRealmSuppress(out StringBuilder builder) { builder = new StringBuilder(); if(npcRealmLv > PlayerDatas.Instance.baseData.realmLevel) { var curRealmConfig = Config.Instance.Get<RealmConfig>(npcRealmLv); builder.AppendFormat("<Img img={0}/>", curRealmConfig.Img); return true; } return false; } private void AddlistenPlayerHP(PlayerDataRefresh type, int value) { if (type != PlayerDataRefresh.HP || value > 0 || playerIsDie) return; System/PlayerDead/RebornWin.cs
@@ -6,6 +6,7 @@ using System; using System.Collections; using System.Collections.Generic; using System.Text; using UnityEngine; using UnityEngine.Events; using UnityEngine.UI; @@ -123,7 +124,15 @@ private void OnHideBtnlist() { _btnlist.SetActive(false); _rebornWorldText.text = Language.Get("PlayerReborn104"); StringBuilder builder; if(DeadModel.CheckIsRealmSuppress(out builder)) { _rebornWorldText.text = Language.Get("PlayerReborn106",builder.ToString()); } else { _rebornWorldText.text = Language.Get("PlayerReborn104"); } _timeDownText.gameObject.SetActive(true); } private void RefreshAutoRebornTime(float obj) System/Store/StoreModel.cs
@@ -242,11 +242,15 @@ ControllerRedPoint(); if (PlayerPrefs.HasKey(MUSTBUYSAVE_KEY)) { int day = LocalSave.GetInt(MUSTBUYSAVE_KEY); if (day != TimeUtility.ServerNow.Day) int[] records = LocalSave.GetIntArray(MUSTBUYSAVE_KEY); if (TimeUtility.ServerNow.Hour >= 5 && ((TimeUtility.ServerNow.Day == records[0] && records[1] < 5) || TimeUtility.ServerNow.Day != records[0])) { saveTimes[0] = TimeUtility.ServerNow.Day; saveTimes[1] = TimeUtility.ServerNow.Hour; IsMustBuyDay = true; LocalSave.SetInt(MUSTBUYSAVE_KEY, TimeUtility.ServerNow.Day); LocalSave.SetIntArray(MUSTBUYSAVE_KEY, saveTimes); UpdateMustBuyRedpoint(); } } @@ -728,7 +732,7 @@ private bool IsNewDay(string recordKey) { if (!FuncOpen.Instance.IsFuncOpen((int)FuncOpenEnum.Store)) return false; if (PlayerPrefs.HasKey(recordKey)) { int day = LocalSave.GetInt(recordKey); @@ -898,17 +902,22 @@ } public bool IsMustBuyDay { get; private set; } int[] saveTimes = new int[2]; public void SetIsMustBuyDay() { if (IsMustBuyDay) return; saveTimes[0] = TimeUtility.ServerNow.Day; saveTimes[1] = TimeUtility.ServerNow.Hour; if (PlayerPrefs.HasKey(MUSTBUYSAVE_KEY)) { int day = LocalSave.GetInt(MUSTBUYSAVE_KEY); if (day != TimeUtility.ServerNow.Day) int[] records = LocalSave.GetIntArray(MUSTBUYSAVE_KEY); if (TimeUtility.ServerNow.Hour >= 5 && ((TimeUtility.ServerNow.Day == records[0] && records[1] < 5) || TimeUtility.ServerNow.Day != records[0])) { IsMustBuyDay = true; LocalSave.SetInt(MUSTBUYSAVE_KEY, TimeUtility.ServerNow.Day); LocalSave.SetIntArray(MUSTBUYSAVE_KEY,saveTimes); } else { @@ -918,7 +927,7 @@ else { IsMustBuyDay = true; LocalSave.SetInt(MUSTBUYSAVE_KEY, TimeUtility.ServerNow.Day); LocalSave.SetIntArray(MUSTBUYSAVE_KEY,saveTimes); } }