public void Execute() { if (this.m_player.CurrentRoom != null) { this.m_player.CurrentRoom.RemovePlayerUnsafe(this.m_player); } if (this.m_player.IsActive) { BaseRoom[] rooms = RoomMgr.Rooms; BaseRoom room = null; for (int i = 0; i < rooms.Length; i++) { if (!rooms[i].IsUsing) { room = rooms[i]; break; } } if (room != null) { RoomMgr.WaitingRoom.RemovePlayer(this.m_player); room.Start(); if (this.m_roomType == eRoomType.Exploration) { room.HardLevel = eHardLevel.Normal; room.LevelLimits = (int)room.GetLevelLimit(this.m_player); } room.UpdateRoom(this.m_name, this.m_password, this.m_roomType, this.m_timeType, 0); if (this.m_roomType == eRoomType.Match) { if (BattleMgr.IsOpenAreaFight) { room.IsArea = true; } } GSPacketIn pkg = this.m_player.Out.SendRoomCreate(room); room.AddPlayerUnsafe(this.m_player); RoomMgr.WaitingRoom.SendUpdateRoom(room); } else { Console.WriteLine(LanguageMgr.GetTranslation("CreateRoomAction.MaxRoom", new object[0])); this.m_player.Out.SendMessage(eMessageType.Normal, LanguageMgr.GetTranslation("CreateRoomAction.MaxRoom", new object[0])); } } }
public void Execute() { if (m_player.CurrentRoom != null) { m_player.CurrentRoom.RemovePlayerUnsafe(m_player); } if (m_player.IsActive == false) { return; } BaseRoom[] rooms = RoomMgr.Rooms; BaseRoom room = null; for (int i = 0; i < rooms.Length; i++) { if (rooms[i].IsUsing == false) { room = rooms[i]; break; } } if (room != null) { RoomMgr.WaitingRoom.RemovePlayer(m_player); room.Start(); //探险默认使用普通难度等级 if (m_roomType == eRoomType.Exploration) { room.HardLevel = eHardLevel.Normal; room.LevelLimits = (int)room.GetLevelLimit(m_player); } room.UpdateRoom(m_name, m_password, m_roomType, m_timeType, 0); GSPacketIn pkg = m_player.Out.SendRoomCreate(room); room.AddPlayerUnsafe(m_player); RoomMgr.WaitingRoom.SendUpdateRoom(room); } }
public void Execute() { if (this.m_player.CurrentRoom != null) { this.m_player.CurrentRoom.RemovePlayerUnsafe(this.m_player); } if (!this.m_player.IsActive) { return; } BaseRoom[] rooms = RoomMgr.Rooms; BaseRoom baseRoom = null; for (int i = 0; i < rooms.Length; i++) { if (!rooms[i].IsUsing) { baseRoom = rooms[i]; break; } } if (baseRoom != null) { RoomMgr.WaitingRoom.RemovePlayer(this.m_player); baseRoom.Start(); if (this.m_roomType == eRoomType.Dungeon) { baseRoom.HardLevel = eHardLevel.Normal; baseRoom.LevelLimits = (int)baseRoom.GetLevelLimit(this.m_player); } baseRoom.UpdateRoom(this.m_name, this.m_password, this.m_roomType, this.m_timeType, 0); this.m_player.Out.SendRoomCreate(baseRoom); baseRoom.AddPlayerUnsafe(this.m_player); RoomMgr.WaitingRoom.SendUpdateRoom(baseRoom); } }