public override void HandleMessage(Yupi.Model.Domain.Habbo session, Yupi.Protocol.Buffers.ClientMessage message, Yupi.Protocol.IRouter router) { if (!session.Info.HasPermission("fuse_mod")) { return; } int roomId = message.GetInteger(); // TODO Refactor (shoud be enum) bool lockRoom = message.GetIntegerAsBool(); bool inappropriateRoom = message.GetIntegerAsBool(); bool kickUsers = message.GetIntegerAsBool(); RoomData roomData = RoomRepository.Find(roomId); if (roomData == null) { return; } if (lockRoom) { roomData.State = RoomState.Locked; } Room room = null; if (inappropriateRoom || kickUsers) { room = RoomManager.LoadedRooms.FirstOrDefault(x => x.Data.Id == roomData.Id); } if (inappropriateRoom) { // TODO Translate roomData.Name = T._("Inappropriate for Hotel Management"); roomData.Description = string.Empty; roomData.Tags.Clear(); if (room != null) { room.EachUser( (entitySession) => { entitySession.Router.GetComposer <RoomDataMessageComposer>() .Compose(entitySession, roomData, entitySession.Info, false, true); }); } } if (kickUsers && room != null) { RoomManager.KickAll(room); } }