private bool HandleItems() { handler.OnEvent(itemID); bool itemIsMoved = false; foreach (RoomItem item in items) { Point oldCoordinate = item.GetPlacementPosition(); if (roomItemHandler.SetFloorItem(null, item, oldCoordinate.X, oldCoordinate.Y, item.Rot, false, false, true)) { itemIsMoved = true; } } return(itemIsMoved); }
private bool HandleItems() { //InteractorGenericSwitch.DoAnimation(itemID); var itemIsMoved = false; foreach (var item in items) { if (!item.GetRoom().GetRoomItemHandler().mFloorItems.ContainsKey(item.Id)) { continue; } OriginalItemLocation oldCoordinate = this.GetOriginalItemLocation(item); // CAMBIAMOS EL EXTRADATA AL INICIAL. if (FurniState == 1) { if (item.ExtraData != oldCoordinate.ExtraData) { item.ExtraData = oldCoordinate.ExtraData; item.UpdateState(false, true); if (item.GetBaseItem().InteractionType == InteractionType.gate) { item.GetRoom().GetGameMap().updateMapForItem(item); } foreach (Point tile in item.GetCoords) { RoomUser user = item.GetRoom().GetRoomUserManager().GetUserForSquare(tile.X, tile.Y); if (user != null) { user.SqState = item.GetRoom().GetGameMap().GameMap[tile.X, tile.Y]; } } itemIsMoved = true; } } // SI LA ROTACIÓN DEL FURNI HA CAMBIADO, ENTONCES DEBEMOS MOVER DIRECTAMENTE EL ITEM A LA BALDOSA EN CUESTIÓN if (FurniDirection == 1) { if (item.Rot != oldCoordinate.Rot) { if (roomItemHandler.SetFloorItem(null, item, oldCoordinate.X, oldCoordinate.Y, oldCoordinate.Rot, false, false, true, false, true)) { return(true); } } } // EN CASO DE NO HABERSE MOVIDO LA ROTACIÓN, HACEMOS EL EFECTO CHACHI PIRULI DE MOVER EL ITEM ^^ if (FurniPosition == 1) { if (item.GetX != oldCoordinate.X || item.GetY != oldCoordinate.Y || item.TotalHeight != oldCoordinate.Height) { item.SetHeight(oldCoordinate.Height); if (roomItemHandler.SetFloorItem(null, item, oldCoordinate.X, oldCoordinate.Y, item.Rot, false, false, true, true, true)) { itemIsMoved = true; } } } } return(itemIsMoved); }