Пример #1
0
    /*
     * \brief Called whilst a collision is taking place
     */
    void OnCollisionStay(Collision collision)
    {
        if (m_playerState == GruntState.FallingFromTower)
        {
            return;
        }

        m_physics.CallOnCollisionStay(collision, ref m_playerState, ref m_playerPositionAlpha);
        if (m_physics.CollisionType == CollisionState.OnWall)
        {
            m_playerPositionAlpha = m_lastPlayerPositionAlpha;
        }

        foreach (ContactPoint contact in collision)
        {
            //Debug.Log("This Collider: " + contact.thisCollider.gameObject.name);
            //Debug.Log("Other Collider: " + contact.otherCollider.gameObject.name);
            if (contact.otherCollider != null && contact.otherCollider.gameObject != null)
            {
                if (contact.thisCollider.gameObject.name == "Bip001 L Hand001" && contact.otherCollider.gameObject.name == "Player Spawn")
                {
                    Debug.Log("Hit player");
                    CEntityPlayer.GetInstance().PushPlayerFromTower();
                    m_playerDetected = false;
                }
            }
        }
    }
Пример #2
0
    /*
     * \brief Called whilst a collision is taking place
     */
    void OnCollisionStay(Collision collision)
    {
        if (m_playerState == GruntState.FallingFromTower)
        {
            return;
        }

        m_physics.CallOnCollisionStay(collision, ref m_playerState, ref m_playerPositionAlpha);
        if (m_physics.CollisionType == CollisionState.OnWall)
        {
            m_playerPositionAlpha = m_lastPlayerPositionAlpha;
        }
    }