public static void Handle_SlotControl(ClientConnection Client, PacketReader reader, byte last) { Account User = Client.CurrentAccount; NormalRoom room = Rooms.NormalRoomList.Find(rm => rm.ID == User.CurrentRoomId); bool isRoomMaster = User.RoomPos == room.RoomMasterIndex; if (isRoomMaster && room.is8Player) { byte roompos = reader.ReadByte(); bool isOff = reader.ReadBoolean(); //可用位置 if (isOff) { room.PosList.Remove(roompos); } else { room.PosList.Add(roompos); } room.setPosWeight(roompos, isOff); room.setSlotCount((byte)(room.PosList.Count() + 1)); foreach (Account RoomPlayer in room.Players) { RoomPlayer.Connection.SendAsync(new GameRoom_ControlRoomPos(RoomPlayer, roompos, isOff, last)); } } }
public static void Handle_SlotControl(ClientConnection Client, PacketReader reader, byte last) { Account User = Client.CurrentAccount; NormalRoom room = Rooms.GetRoom(User.CurrentRoomId); bool isRoomMaster = User.RoomPos == room.RoomMasterIndex; if (isRoomMaster && room.is8Player) { byte roompos = reader.ReadByte(); bool isOff = reader.ReadBoolean(); room.setPosWeight(roompos, isOff); room.BroadcastToAll(new GameRoom_ControlRoomPos(roompos, isOff, last)); } }