void StopGameModeTimer(MineGameModel mineGameModel) { if (!dicGameModelLoopTimer.ContainsKey(mineGameModel)) { CLog.Error($"不存在当前模式[{mineGameModel}]的计时器"); return; } int id; dicGameModelLoopTimer.TryGetValue(mineGameModel, out id); GameFrameEntry.GetModule <TimeModule>().RemoveLoopTimer(id); dicGameModelLoopTimer.Remove(mineGameModel); }
void AddGmaeModeTimer(MineGameModel mineGameModel) { if (dicGameModelLoopTimer.ContainsKey(mineGameModel)) { CLog.Error($"已存在当前模式[{mineGameModel}]的计时器"); return; } if (dicGameModelLoopTimer.Count > 0) { CLog.Error($"模式计时器必须唯一,请先停掉之前的模式计时器"); return; } int GameTimer = GameFrameEntry.GetModule <TimeModule>().AddLoopTimer(GameConst.ReportIntervalTimes, true, ReportGameTimes); dicGameModelLoopTimer.Add(mineGameModel, GameTimer); }
/// <summary> /// 开始某个模式 /// </summary> public void StartGameModel(MineGameModel mineGameModel) { if (AppSetting.mineGameModel != MineGameModel.None) { CLog.Log($"离开模式[{AppSetting.mineGameModel}]"); StopGameModeTimer(AppSetting.mineGameModel); } AppSetting.mineGameModel = mineGameModel; OnEvenToOnlyOnce(ReportDefine.playpeopleGameModel + AppSetting.MineGameName, mineGameModel.ToString()); AdsManager.Instance.GameName = AppSetting.MineGameName + "," + AppSetting.mineGameModel; CLog.Log($"开始模式[{AppSetting.mineGameModel}]"); if (AppSetting.mineGameModel != MineGameModel.None) { AddGmaeModeTimer(mineGameModel); } //int ID = UserDataPrefs.GetInt(AppSetting.MineGameName + mineGameModel, 0); //if (ID == 0) //{ // UserDataPrefs.SetInt(AppSetting.MineGameName + mineGameModel, 1); // ReportEvent(ReportDefine.playpeopleGameModel+AppSetting.MineGameName, mineGameModel.ToString()); // UserDataPrefs.OnSave(); //} }