private static void TryToApplyForce(float force, Collider collider, ForceType type, float3 origin) { // if there is no physicsable interface - don't do anything else IPhysicsObject pObject = collider.GetComponent <IPhysicsObject>(); if (pObject == null) { return; } switch (type) { case ForceType.Impulse: pObject.AddImpulseForce(force, origin); break; case ForceType.Force: pObject.AddForce(force); break; case ForceType.Freeze: Debug.LogError("Force: Freeze type is not implemented."); break; } }