internal override void OnPlace(GameClient Session, RoomItem Item) { Room room = Item.GetRoom(); switch (Item.GetBaseItem().InteractionType) { case InteractionType.triggerroomenter: { IWiredTrigger handler = new EntersRoom(Item, room.GetWiredHandler(), room.GetRoomUserManager(), false, string.Empty); using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().getQueryreactor()) handler.LoadFromDatabase(dbClient, room); break; } case InteractionType.triggergameend: { IWiredTrigger handler = new GameEnds(Item, room.GetWiredHandler(), room.GetGameManager()); using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().getQueryreactor()) handler.LoadFromDatabase(dbClient, room); break; } case InteractionType.triggergamestart: { IWiredTrigger handler = new GameStarts(Item, room.GetWiredHandler(), room.GetGameManager()); using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().getQueryreactor()) handler.LoadFromDatabase(dbClient, room); break; } case InteractionType.triggerrepeater: { IWiredTrigger handler = new Repeater(room.GetWiredHandler(), Item, 5000); using (IQueryAdapter dbClient = PlusEnvironment.GetDatabaseManager().getQueryreactor()) handler.LoadFromDatabase(dbClient, room); } break; } }