/// <summary> /// 角色选择处理 /// </summary> public void HandleForSelectCharacter() { //如果没有在玩家回合 切没有在选择人物中则不处理 UIMiniGameCombat uiMiniGameCombat = UIHandler.Instance.manager.GetUI <UIMiniGameCombat>(UIEnum.MiniGameCombat); if (MiniGameHandler.Instance.handlerForCombat.miniGameData.GetCombatStatus() != MiniGameCombatBean.MiniGameCombatStatusEnum.OurRound || !uiMiniGameCombat.isSelecting) { return; } if (Input.GetButtonDown(InputInfo.Direction_Up) || Input.GetButtonDown(InputInfo.Direction_Left) ) { uiMiniGameCombat.uiForSelectCharacter.ChangeCharacter(-1); } if (Input.GetButtonDown(InputInfo.Direction_Right) || Input.GetButtonDown(InputInfo.Direction_Down)) { uiMiniGameCombat.uiForSelectCharacter.ChangeCharacter(1); } if (Input.GetButtonDown(InputInfo.Interactive_E) || Input.GetButtonDown(InputInfo.Confirm)) { uiMiniGameCombat.uiForSelectCharacter.ConfirmSelect(); } if (Input.GetButtonDown(InputInfo.Cancel)) { uiMiniGameCombat.OpenCombatCommand(); //开启选中特效 MiniGameHandler.Instance.handlerForCombat.SelectCharacter(MiniGameHandler.Instance.handlerForCombat.miniGameData.GetRoundActionCharacter()); } }
/// <summary> /// 回合准备 /// </summary> public IEnumerator RoundForPre(MiniGameCharacterForCombatBean gameCharacterData) { //获取角色 NpcAIMiniGameCombatCpt npcCpt = GetCharacter(gameCharacterData); //设置当前回合行动的角色 miniGameData.SetRoundActionCharacter(npcCpt); //执行效果 yield return(StartCoroutine(npcCpt.CombatEffectExecute())); //如果角色死亡 if (gameCharacterData.characterCurrentLife <= 0) { StartNextRound(); } else { //如果是敌方 if (gameCharacterData.characterType == 0) { //电脑开始行动 miniGameData.SetCombatStatus(MiniGameCombatStatusEnum.EnemyRound); npcCpt.OpenAI(); } //如果是友方 else if (gameCharacterData.characterType == 1) { //友方行动 miniGameData.SetCombatStatus(MiniGameCombatStatusEnum.OurRound); uiMiniGameCombat.OpenCombatCommand(); } //开启选中特效 SelectCharacter(npcCpt); } }