示例#1
0
    // Update is called once per frame
    void Update()
    {
        if (iniciou)
        {
            tempoDecorrido += Time.deltaTime;
            switch (fase)
            {
            case fasesDaQueda.animaInicial:
                if (tempoDecorrido < 0.5f)
                {
                    mB.transform.position -= 5 * Vector3.up * Time.deltaTime;
                }
                else
                {
                    tempoDecorrido = 0;
                    p    = gameObject.AddComponent <pretoMorte>();
                    fase = fasesDaQueda.colocouPretoMorte;
                }
                break;

            case fasesDaQueda.colocouPretoMorte:
                if (tempoDecorrido > 1f)
                {
                    animator.Play("damage_25");
                    p.entrando            = false;
                    fase                  = fasesDaQueda.tiraPretoMorte;
                    mB.transform.position = posAlvo;
                }
                break;

            case fasesDaQueda.tiraPretoMorte:
                if (mB.noChao(mB.Y.distanciaFundamentadora))
                {
                    animator.Play("getup_20_p");
                    Transform T = GameObject.Find("CriatureAtivo").transform;
                    nav          = T.GetComponent <NavMeshAgent>();
                    siga         = T.GetComponent <sigaOLider>();
                    siga.enabled = false;
                    nav.enabled  = false;
                    T.position   = posAlvo;
                    fase         = fasesDaQueda.levantando;
                }
                break;

            case fasesDaQueda.levantando:
                if (tempoDecorrido > 0.25f)
                {
                    movimentoBasico.retornarFluxoHeroi();
                    iniciou      = false;
                    fase         = fasesDaQueda.animaInicial;
                    nav.enabled  = true;
                    siga.enabled = true;
                }
                break;
            }
        }
    }
示例#2
0
文件: encontros.cs 项目: fayvit/PQP
    // Update is called once per frame
    protected void Update()
    {
        if (!pausaJogo.pause)
        {
            if (!luta)
            {
                posHeroi = tHeroi.position;
            }

            if (!heroiMB)
            {
                heroiMB = tHeroi.GetComponent <movimentoBasico>();
            }

            if (!lugarSeguro() && !luta && heroiMB.noChao(heroiMB.Y.distanciaFundamentadora))
            {
                andado += (posHeroi - posAnterior).magnitude;
            }


            if (!luta && andado >= proxEncontro)
            {
                print(andado + " : " + proxEncontro);
                proxEncontro = SorteiaPassosParaEncontro();
                //			int paraEncontrado = Random.Range(0,10);
                encontrado = criatureEncontrado();
                encontroPadrao();
                andado = 0;
            }

            posAnterior = posHeroi;

            passoDoEncontro();


            Debug.DrawRay(posHeroi - 40f * tHeroi.forward, 1000f * Vector3.up, Color.yellow);
        }
    }