Exemplo n.º 1
0
    private void _UpdatePosition(float dt)
    {
        switch (m_Type)
        {
        case 0:
            m_Destination.x    = m_PathMgr.GetTargetPosition(m_Delta.x).x;
            m_Destination.y    = transform.position.y;
            transform.position = m_Destination;
            break;

        case 1:
            m_Destination      = m_PathMgr.GetTargetPosition(m_DeltaBezier);
            transform.position = m_Destination;
            break;

        case 2:
            Vector3 p = m_Target.transform.position;
            // Debug.Log(GraphicMath.Distance2Point(transform.position, p));
            if (GraphicMath.Distance2Point(transform.position, p) <= 4 && m_RigidBody.IsSleeping())
            {
                m_RigidBody.WakeUp();
                m_RigidBody.AddForce(new Vector3(0f, m_JumpForce, 0f));
            }
            break;
        }
    }