public void Submit(DialogView dialogView, DialogBean dialogBean) { if (dialogView as PickForCharacterDialogView) { PickForCharacterDialogView pickForCharacterDialog = dialogView as PickForCharacterDialogView; UserInfiniteTowersBean infiniteTowersData = new UserInfiniteTowersBean(); List <CharacterBean> listMembers = pickForCharacterDialog.GetPickCharacter(); GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); if (dialogBean.dialogPosition == 0) { //亲自 infiniteTowersData.isSend = false; foreach (CharacterBean itemCharacter in listMembers) { infiniteTowersData.listMembers.Add(itemCharacter.baseInfo.characterId); } gameData.AddInfinteTowersData(infiniteTowersData); //跳转场景 GameCommonInfo.SetInfiniteTowersPrepareData(infiniteTowersData); GameScenesHandler.Instance.ChangeScene(ScenesEnum.GameInfiniteTowersScene); } else if (dialogBean.dialogPosition == 1) { //派遣 infiniteTowersData.isSend = true; //检测 foreach (CharacterBean itemCharacter in listMembers) { WorkerStatusEnum workerStatusEnum = itemCharacter.baseInfo.GetWorkerStatus(); if (workerStatusEnum != WorkerStatusEnum.Rest && workerStatusEnum != WorkerStatusEnum.Work) { ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1142)); return; } } //派遣 foreach (CharacterBean itemCharacter in listMembers) { infiniteTowersData.listMembers.Add(itemCharacter.baseInfo.characterId); itemCharacter.baseInfo.SetWorkerStatus(WorkerStatusEnum.InfiniteTowers); } //计算每层攀登几率 infiniteTowersData.InitSuccessRate(GameItemsHandler.Instance.manager, listMembers); gameData.AddInfinteTowersData(infiniteTowersData); RefreshUI(); } } else { if (dialogBean.dialogPosition == 1) { //重置所有爬塔记录 GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); gameData.CleanInfinteTowers(); RefreshUI(); } } }
/// <summary> /// 点击继续 /// </summary> public void OnClickForContinue() { GameDataBean gameData = GameDataHandler.Instance.manager.GetGameData(); foreach (string memberId in infiniteTowersData.listMembers) { CharacterBean characterData = gameData.GetCharacterDataById(memberId); if (characterData.baseInfo.GetWorkerStatus() != WorkerStatusEnum.Rest && characterData.baseInfo.GetWorkerStatus() != WorkerStatusEnum.Work) { ToastHandler.Instance.ToastHint(TextHandler.Instance.manager.GetTextById(1141)); return; } } //跳转场景 GameCommonInfo.SetInfiniteTowersPrepareData(infiniteTowersData); GameScenesHandler.Instance.ChangeScene(ScenesEnum.GameInfiniteTowersScene); }