void Start()
    {
        characters = new List <GameObject>();

        characters.Add(GameState.P1);
        characters.Add(GameState.P2);


        damages.Add(damage1);
        damages.Add(damage2);


        damage1.text = 0.ToString() + "%";
        damage2.text = 0.ToString() + "%";


        foreach (GameObject character in characters)
        {
            DamageResolver dmgResolver = character.GetComponent <DamageResolver>();
            if (dmgResolver != null)
            {
                dmgResolver.DoDamage += HandleApplyDamage;
            }
        }
    }
Exemple #2
0
    void RespawnCharacter(GameObject go, GameObject respawnPoint, int damageResetPos, int playerNumber)
    {
        GameObject          p = Instantiate(go, respawnPoint.transform.position, Quaternion.Euler(0, 0, 0));
        CharacterController characterController = p.GetComponent <CharacterController>();

        if (characterController != null)
        {
            characterController.enabled = true;
        }

        AICharacterController aiCharacterController = p.GetComponent <AICharacterController>();

        if (playerNumber == 1)
        {
            p.tag = "Player";

            if (aiCharacterController != null)
            {
                Destroy(aiCharacterController);
            }
        }
        else
        {
            p.tag = "AI";
            aiCharacterController.enabled = true;
        }

        Animator animator = p.GetComponent <Animator>();

        animator.enabled = true;

        p.transform.position = new Vector3(transform.position.x, transform.position.y, -1);
        battleController.ResetDamageAtPosition(damageResetPos);
        DamageResolver dmgResolver = p.GetComponent <DamageResolver>();

        if (dmgResolver != null)
        {
            dmgResolver.DoDamage += battleController.HandleApplyDamage;
        }
    }
    public void ResetDamageAtPosition(int pos)
    {
        damages[pos].color = Color.white;
        damages[pos].text  = 0.ToString() + "%";

        if (pos == 0)
        {
            characters[pos] = GameObject.Find(GameState.P1_Character.ToString());
        }
        else if (pos == 1)
        {
            characters[pos] = GameObject.Find(GameState.P2_Character.ToString());
        }

        if (characters[pos] != null)
        {
            DamageResolver dmgResolver = characters[pos].GetComponent <DamageResolver>();
            if (dmgResolver != null)
            {
                dmgResolver.DoDamage += HandleApplyDamage;
            }
        }
    }