예제 #1
0
    void Formuladedano(Collision magic, float mult)
    {
        //Quando o objeto for colidido, ele vai pegar a informação do dano base que tem aquele objeto
        float BaseDmg = magic.gameObject.GetComponent <Magic_Information>().LaunchedBaseDamage;

        Magic_Information call = magic.gameObject.GetComponent <Magic_Information>(); //pegar info do outro script

        call.DestroyMagicApplyEffect();                                               //chamar o outro método

        //Dependendo de onde ele foi chamado, ele vai multiplicar.
        _enemyHP -= BaseDmg * mult;
        //print(_enemyHP);
    }
예제 #2
0
    void LaunchBasicMagic(GameObject Magic, float Speed, string Effectiveness, string Immunity, float bsdmg, float lifespan, Status_Attributes status)
    {
        //Método de lançamento, se apertar o botão esquerdo, depois que foi chamado, pega os parametros que foi puxado.
        if (Input.GetMouseButtonDown(0))
        {
            //Se apertar o botão, instancia a mágica.
            //Colocar pra magia ser atirada na frente.


            //Para que a magia não saia de dentro do cubo.
            Vector3 _spellpos = new Vector3(gameObject.transform.position.x, gameObject.transform.position.y,
                                            gameObject.transform.position.z + Spell_Position);

            //Armazenar o clone em um objeto e instanciar ele
            GameObject MagicCreation = Instantiate(Magic, _spellpos, Quaternion.identity);
            MagicCreation.AddComponent <Rigidbody>(); //Adicionar Rigidbody nesse clone

            //Adiciona um script na instancia que tem duas variaveis
            MagicCreation.AddComponent <Magic_Information>();

            //Variavel para armazenar as informações do script
            Magic_Information magic_Information = MagicCreation.GetComponent <Magic_Information>();

            //Passa as informações que foram atribuidas antes, nas variaveis desde script
            magic_Information.LaunchedMagicTypeEff = Effectiveness;
            magic_Information.LaunchedBaseDamage   = bsdmg;
            magic_Information.LaunchedMagicTypeImm = Immunity;
            magic_Information.LaunchedLifespan     = lifespan;
            magic_Information.LaunchedStatus       = status;


            print(Immunity);

            MagicCreation.tag = "Magic";

            Rigidbody MagicRigidbody = MagicCreation.GetComponent <Rigidbody>(); //Adicionar rigidbody no clone
            MagicRigidbody.useGravity     = false;                               //O clone não usar gravidade
            MagicRigidbody.freezeRotation = true;                                //O clone não poder girar
            MagicRigidbody.AddForce(transform.forward * Speed * 500 * Time.fixedDeltaTime, ForceMode.Impulse);
            //Lançar o clone, o 500 é o multiplicador para que não seja necessario alterar a speed para valores altos.
        }
    }