Exemple #1
0
    public void Update()
    {
        if (acaoAtual == acoes.Count && rodarAcoes)
        {
            FinalizarFeitico();
        }

        if (rodarAcoes)
        {
            if (!instanciado)
            {
                instanciado = true;
                Vector3 posicaoFeitico = new Vector3(donoDoFeitico.transform.position.x, donoDoFeitico.transform.position.y, donoDoFeitico.transform.position.z);
                feitico = GameObject.Instantiate(Itens.magia[elemento].Prefab, posicaoFeitico, donoDoFeitico.transform.rotation);
                foreach (Acao acao in acoes)
                {
                    acao.DonoDaAcao = feitico;
                }
            }
            else
            {
                acoes [acaoAtual].Update();

                if (acoes [acaoAtual].Finalizado)
                {
                    acaoAtual++;
                }
                if (feitico.GetComponent <Verificador> ().ColisaoComObstaculo)
                {
                    FinalizarFeitico();
                }
                if (feitico.GetComponent <Verificador> ().ColisaoComInimigo)
                {
                    ControladorGeral inimigo = feitico.GetComponent <Verificador> ().Inimigo.GetComponent <ControladorGeral> ();
                    int fra = 1, res = 1;

                    foreach (EnumElementos fraqueza in inimigo.Fraquezas)
                    {
                        if (fraqueza == Itens.magia [elemento].Elemento)
                        {
                            fra *= 2;
                            break;
                        }
                    }
                    foreach (EnumElementos resistencia in inimigo.Resistencia)
                    {
                        if (resistencia == Itens.magia [elemento].Elemento)
                        {
                            res *= 2;
                            break;
                        }
                    }

                    inimigo.Vida -= (Itens.magia[elemento].Dano / res) * fra;
                    FinalizarFeitico();
                }
            }
        }
    }
    void Awake()
    {
        if (controlador == null)
        {
            controlador = this;
        }
        else
        {
            Destroy(gameObject);
        }

        DontDestroyOnLoad(gameObject);
    }
    public void Attack(ControladorGeral targetStats)
    {
        if (attackCooldown <= 0f)
        {
            //StartCoroutine(DoDamage(targetStats, attackDelay));

            if (OnAttack != null)
            {
                OnAttack();
            }

            attackCooldown = 1f / attackSpeed;
        }
    }
    public bool Atacar()
    {
        ControladorGeral statusInimigo = GetStatus();

        GetComponent <Animator> ().SetTrigger("Ataque");

        if (statusInimigo != null)
        {
            statusInimigo.Vida -= status.Ataque;
            print("Ataque");
            return(true);
        }

        return(false);
    }
 void Start()
 {
     status = GetComponent <ControladorGeral> ();
 }
Exemple #6
0
 void Start()
 {
     playerManager = PlayerManager.instance;
     myStats       = GetComponent <ControladorGeral>();
 }
 void Start()
 {
     myStats = GetComponent <ControladorGeral>();
 }