private static void ApplyAllHooks() { Debug.Log("Applying monkland"); #region Entities AbstractPhysicalObjectHK.ApplyHook(); CreatureHK.ApplyHook(); PlayerGraphicsHK.ApplyHook(); PlayerHK.ApplyHook(); RockHK.ApplyHook(); RoomHK.ApplyHook(); SpearHK.ApplyHook(); WeaponHK.ApplyHook(); #endregion Entities #region Menus MainMenuHK.ApplyHook(); HUDHK.ApplyHook(); //RainMeterHK.ApplyHook(); #endregion Menus #region OverWorld AbstractRoomHK.ApplyHook(); OverWorldHK.ApplyHook(); ShortcutHandlerHK.ApplyHook(); #endregion OverWorld #region Others ProcessManagerHK.ApplyHook(); RainWorldGameHK.ApplyHook(); RainWorldHK.ApplyHook(); #endregion Others }
public void CheckForCommonRooms() { commonRooms.Clear(); foreach (ulong player in roomDict.Keys) { if (player != playerID && roomDict.ContainsKey(player)) { foreach (int otherRoom in roomDict[player]) { if (roomDict.ContainsKey(playerID)) { foreach (int myRoom in roomDict[playerID]) { if (myRoom.Equals(otherRoom) /*&& !string.IsNullOrEmpty(myRoom)*/) // WHEN DOES THIS HAPPEN { if (!commonRooms.ContainsKey(myRoom)) { commonRooms.Add(myRoom, new List <ulong>()); } if (!commonRooms[myRoom].Contains(player)) { commonRooms[myRoom].Add(player); } } } } } } } foreach (int roomName in commonRooms.Keys) { AbstractRoom abstractRoom = RainWorldGameHK.mainGame.world.GetAbstractRoom(roomName); if (abstractRoom != null && abstractRoom.realizedRoom != null) { RoomHK.MultiplayerNewToRoom(abstractRoom.realizedRoom, commonRooms[roomName]); } } if (MonklandSteamManager.DEBUG) { string roomlist = ""; foreach (int room in commonRooms.Keys) { roomlist = roomlist + room + ", "; } MonklandSteamManager.Log("[World] Room Packet: Player shares " + roomlist + " rooms with other players."); } }