private void HandleHeroDeath(RunTimeHeroData hero)
    {
        if (hero.isEnemy)
        {
            HeroKilledScore += hero.valScore;
        }

        TotalScore = CalculeTotalScore();
    }
    private int CountHeroSurvivedScore()
    {
        int score = 0;

        GameObject[] herosInGame = GameObject.FindGameObjectsWithTag("Hero");

        foreach (GameObject hero in herosInGame)
        {
            RunTimeHeroData heroData = hero.GetComponent <RunTimeHeroData>();

            if (!heroData.isEnemy)
            {
                score += heroData.valScore;
            }
        }

        return(score);
    }
    void Start()
    {
        switch (transform.parent.tag)
        {
        case ("Troop"):

            RunTimeTroopData troopData = GetComponentInParent <RunTimeTroopData>();
            attackDistance = troopData.attackDistance;
            break;

        case ("Hero"):

            RunTimeHeroData heroData = GetComponentInParent <RunTimeHeroData>();
            attackDistance = heroData.valAttackDistance;
            break;
        }

        battleCollider        = GetComponent <CircleCollider2D>();
        battleCollider.radius = Mathf.Log10(attackDistance + detectionIncreasedDistance);
    }
    void Start()
    {
        switch (transform.parent.tag)
        {
        case ("Troop"):

            RunTimeTroopData troopData = GetComponentInParent <RunTimeTroopData>();
            isEnemy = troopData.isEnemy;
            break;

        case ("Tower"):

            RunTimeTowerData towerData = GetComponentInParent <RunTimeTowerData>();
            isEnemy = towerData.isEnemy;
            break;

        case ("Hero"):

            RunTimeHeroData heroData = GetComponentInParent <RunTimeHeroData>();
            isEnemy = heroData.isEnemy;
            break;

        case ("Core"):

            RunTimeCoreData coreData = GetComponentInParent <RunTimeCoreData>();
            isEnemy = coreData.isEnemy;
            break;
        }

        if (isEnemy)
        {
            gameObject.layer = 11;
        }
        else
        {
            gameObject.layer = 12;
        }
    }
    private void HandleHeroDeathVerification(RunTimeHeroData heroDead)
    {
        gameEndEvent.Raise();

        if (phaseData.idtPhaseType == PhaseObjectives.ATTACK)
        {
            if (!heroDead.isEnemy)
            {
                Debug.Log("Player falhou ao comandar o ataque das tropas");
                playerLooseEvent.Raise();
            }
        }
        else if (phaseData.idtPhaseType == PhaseObjectives.DEFEND)
        {
            if (heroDead.isEnemy)
            {
                Debug.Log("Player teve sucesso em derrotar o comandante atacante");
                playerWinEvent.Raise();
            }
        }

        PauseGame();
    }
Beispiel #6
0
    private void Start()
    {
        heroData = GetComponent <RunTimeHeroData>();

        Health = heroData.valHp;
    }
Beispiel #7
0
    private void OnHeroDeath(RunTimeHeroData hero)
    {
        Transform heroTransform = hero.GameObject.transform;

        HandleEnemyLeavedAttackRadio(heroTransform);
    }