private static void CallRightCollisionMethod(ICollisionHandler collisionHandler, ICollider collider) { if (collider.GameObject is IPlayer) { collisionHandler.HandlePlayerCollision(collider); } else if (collider.GameObject is IItem) { collisionHandler.HandlePickupItemCollision(collider); } else if (collider.GameObject is IUsableItem) { collisionHandler.HandleUsableItemCollision(collider); } else if (collider.GameObject is IBlock) { collisionHandler.HandleBlockCollision(collider); } else if (collider.GameObject is INPC) { collisionHandler.HandleNPCCollision(collider); } else if (collider.GameObject is IEnemy) { collisionHandler.HandleEnemyCollision(collider); } else if (collider.GameObject is ISword) { collisionHandler.HandleSwordCollision(collider); } else if (collider.GameObject is IDoor) { collisionHandler.HandleDoorCollision(collider); } else if (collider.GameObject is IWall) { collisionHandler.HandleWallCollision(collider); } }