public void AddItem(GameClient session, RoomItem item, bool newItem) { if (item.IsFloorItem) { if (!this.FloorItems.Add(item.ID, item.GetType(), item)) { session.SendNotif("Something weird happend... Placement failed"); return; } } else if (item.IsWallItem) { if (!this.WallItems.Add(item.ID, item.GetType(), item)) { session.SendNotif("Something weird happend... Placement failed"); return; } } this.Room.RoomGameManager.AddItem(item); if (newItem) { this.AddedAndMovedRoomItems.AddOrUpdate(item.ID, item, (key, oldValue) => item); this.RoomItemStateUpdated.TryRemove(item.ID); item.OnPlace(session); this.CheckItemBasedAchievements(item); } else { item.OnLoad(); } if (item is RoomItemJukebox) { if (this.Jukebox == null) { this.Jukebox = (RoomItemJukebox)item; } } }