Пример #1
0
    void Stand()
    {
        if (fallStartTime == -1)
        {
            fallStartTime = Time.time;
            fallStart     = transform.eulerAngles;
        }

        float   t = (Time.time - fallStartTime) * 3;
        Vector3 v = Vector3.Lerp(fallStart, new Vector3(0, fallStart.y, 0), t);

        transform.eulerAngles = v;

        if (t >= 1)
        {
            fallStartTime = -1;
            m_bigState    = BIGSTATE.STANDING;
            standUpTime   = Time.time;
        }
    }
Пример #2
0
    void Fall()
    {
        if (fallStartTime == -1)
        {
            m_bigState    = BIGSTATE.FALLING;
            fallStart     = transform.eulerAngles;
            fallStartTime = Time.time;
        }

        float t = (Time.time - fallStartTime) * 2;
        //Debug.Log(t);
        Vector3 v = Vector3.Lerp(fallStart, new Vector3(90, fallStart.y, 0), t);

        transform.eulerAngles = v;

        if (IsTimerDone(fallStartTime, 6))
        {
            fallStartTime = -1;
            m_bigState    = BIGSTATE.STANDING_UP;
        }
    }
Пример #3
0
    void Start()
    {
        m_state    = ENEMYSTATE.WANDER;
        m_bigState = BIGSTATE.STANDING;
        m_target   = null;
        //m_startPos = transform.position;
        //m_wanderTarget = m_startPos;
        m_targetAquiredTime = Time.time;

        m_moveSpeed = m_maxMoveSpeed;
        m_rbdy      = GetComponent <Rigidbody>();
        m_anima     = GetComponentInChildren <Animator>();
        m_colliders = GetComponentInChildren <StoneFaceColliders>();
        m_colliders.noseCollider.enabled = false;
        m_currentHealth = m_MaxHealth;

        m_renderer  = GetComponentInChildren <Renderer>();
        m_normalMat = m_renderer.material;

        particleSystemTransform = transform.Find("DeathParticles");
        deathParticles          = particleSystemTransform.GetComponent <ParticleSystem>();
    }