public void Execute(Collision collision) { IEnvironment enviro = (IEnvironment)collision.Collidee; IPlayer player = (IPlayer)collision.Collider; var side = collision.Side; // side is side of block (collidee) if (enviro is PortalBlock portal && (portal.State == PortalBlockState.Blue || portal.State == PortalBlockState.Orange)) { PortalUtil.HandlePlayerPortal(portal, player, game.Screen.CurrentRoom); }