Exemple #1
0
    public void ApplyBuff()
    {
        List <Soldier> buffableSoldiers = team.GetSoldiers();

        foreach (Soldier soldier in buffableSoldiers)
        {
            if (IsInBuffRange(this.GetPosition(), soldier.GetPosition()))
            {
                this.GetUnit().GetUnitData().GetBehaviour().ApplyBuffEfect(soldier);
            }
        }
    }
Exemple #2
0
    public int CalculateScoreRelativeToAI(TeamData playerTeam, TeamData AITeam)
    {
        int playerScore = 0;
        int AIScore     = 0;

        foreach (Soldier soldier in playerTeam.GetSoldiers())
        {
            playerScore -= soldier.GetHealth();
        }

        foreach (Soldier soldier in AITeam.GetSoldiers())
        {
            AIScore += soldier.GetHealth();
        }

        playerTeam.SetScore(-playerScore);
        AITeam.SetScore(AIScore);

        ShowScores(playerTeam, AITeam);

        if (playerScore == 0 && AIScore != 0)
        {
            return(AIScore);
        }
        if (playerScore != 0 && AIScore == 0)
        {
            return(playerScore);
        }

        return(AIScore + playerScore);
    }
Exemple #3
0
    public void OnBattleEnds()
    {
        if (!callToEnd)
        {
            callToEnd = true;

            foreach (Soldier soldier in playerTeamData.GetSoldiers())
            {
                soldier.SetReadyToFight(false);
            }
            foreach (Soldier soldier in AITeamData.GetSoldiers())
            {
                soldier.SetReadyToFight(false);
            }

            // Calculate score
            int score = scoreController.CalculateScoreRelativeToAI(playerTeamData, AITeamData);

            // Comunicate score to IA
            aiController.OnBattleEnd(playerController.GetPlayerFormation(), score);

            UtilityObjectData.ConvertArray(aiController.GetTeamFormer().GetUtility());

            unitsPool.Reset();
            playerTeamData.ClearSoldiers();
            AITeamData.ClearSoldiers();

            //-----------------------------------------------------------------------------------------------------------------------------------------------
            // FOR AUTOMATIC KNOWLEDGE

            if (currentGameMode == GameMode.AivsAi)
            {
                OnStartBattle();
            }

            //-----------------------------------------------------------------------------------------------------------------------------------------------
        }
    }