Example #1
0
    /// <summary>
    /// 协程战斗
    /// </summary>
    /// <param name="time"></param>
    /// <param name="winner"></param>
    /// <param name="loser"></param>
    /// <returns></returns>
    public IEnumerator CoroutineForCombat(float time, NpcAIMiniGameDebateCpt winner, NpcAIMiniGameDebateCpt loser)
    {
        yield return(new WaitForSeconds(time));

        if (winner != null && loser != null)
        {
            winner.characterData.GetAttributes(out CharacterAttributesBean characterAttributes);
            int damageNumber = characterAttributes.charm * 2;
            loser.UnderAttack(damageNumber);
        }
        uiMiniGameDebate.RefreshUI();
        //检测是否结束游戏
        if (CheckIsGameOver(out MiniGameResultEnum gameResult))
        {
            EndGame(gameResult);
        }
        else
        {
            StartNewRound();
        }
    }