public virtual void Dispose() { // return our id to pool ServerGlobals.RemoveID(this.RoomID); foreach (BaseGameItem i in this.Items) { ServerGlobals.RemoveID(i.GameID); } // any npcs ? foreach (Entity e in this.Npcs) { ServerGlobals.RemoveID(e.GameID); } // remove us from importedrooms ScriptResolver.ImportedRooms.Remove(this); //clean us up }