private void OnTriggerEnter(Collider other)
 {
     PhysicsProp[] props = other.GetComponents <PhysicsProp>();
     foreach (PhysicsProp prop in props)
     {
         PhysicsPlugin plugin = plugins[prop.GetType()];
         if (plugin.enabled)
         {
             plugin.OnTriggerEnter(other, prop);
         }
     }
 }
 private void OnCollisionExit(Collision other)
 {
     PhysicsProp[] props = other.gameObject.GetComponents <PhysicsProp>();
     foreach (PhysicsProp prop in props)
     {
         PhysicsPlugin plugin = plugins[prop.GetType()];
         if (plugin.enabled)
         {
             plugin.OnCollisionExit(other, prop);
         }
     }
 }
 private void OnControllerColliderHit(ControllerColliderHit hit)
 {
     PhysicsProp[] props = hit.gameObject.GetComponents <PhysicsProp>();
     foreach (PhysicsProp prop in props)
     {
         PhysicsPlugin plugin = plugins[prop.GetType()];
         if (plugin.enabled)
         {
             plugin.OnControllerColliderHit(hit, prop);
         }
     }
 }
Esempio n. 4
0
 public void OnWallHit(Vector3 normal, Vector3 point, GameObject go)
 {
     PhysicsProp[] props = go.GetComponents <PhysicsProp>();
     foreach (PhysicsProp prop in props)
     {
         PhysicsPlugin plugin = plugins[prop.GetType()];
         if (plugin.enabled)
         {
             plugin.OnWallHit(normal, point, go, prop);
         }
     }
 }
    // A return value of true will "hide" the regular use function of the player controller
    public bool HandleUse(GameObject other)
    {
        PhysicsProp[] props = other.GetComponents <PhysicsProp>();
        // Return if any of the Uses wanted to hide the regular use function
        bool skip = false;

        foreach (PhysicsProp prop in props)
        {
            PhysicsPlugin plugin = plugins[prop.GetType()];
            if (plugin.enabled)
            {
                skip |= plugin.OnUse(prop);
            }
        }
        return(skip);
    }