private void renderCurrentHouse(Graphics g) { if (this.m_currentHouse == null) { return; } Vector rooms = this.m_currentHouse.getRooms(); int num1 = rooms.size(); Vector windows = this.m_currentHouse.getWindows(); int num2 = windows.size(); Vector houseObjects = this.m_currentHouse.getHouseObjects(); int num3 = houseObjects.size(); Vector doors = this.m_currentHouse.getDoors(); int num4 = doors.size(); for (int index = 0; index < num1; ++index) { house.Room room = (house.Room)rooms.elementAt(index); this.renderPlaceableObject(g, 16711680, room.getX(), room.getY(), room.getWidth(), room.getHeight(), true, room == this.m_selectedObject, -1); } for (int index = 0; index < num2; ++index) { Window window = (Window)windows.elementAt(index); this.renderPlaceableObject(g, 16776960, window.getX(), window.getY(), window.getWidth(), window.getHeight(), false, window == this.m_selectedObject, -1); } for (int index = 0; index < num3; ++index) { HouseObject houseObject = (HouseObject)houseObjects.elementAt(index); this.renderPlaceableObject(g, 16711935, houseObject.getX(), houseObject.getY(), houseObject.getWidth(), houseObject.getHeight(), false, houseObject == this.m_selectedObject, houseObject.getFacing()); } for (int index = 0; index < num4; ++index) { Door door = (Door)doors.elementAt(index); this.renderPlaceableObject(g, 65280, door.getX(), door.getY(), door.getWidth(), door.getHeight(), false, door == this.m_selectedObject, -1); } }
private void processInputMainEdit(int _event, int[] args) { switch (_event) { case 0: this.coordScreenToTile(args[1], args[2], ref this.m_activeTileX, ref this.m_activeTileY); break; case 3: JSystem.println(" single tap"); int screenX1 = args[1]; int screenY1 = args[2]; this.coordScreenToTile(screenX1, screenY1, ref this.m_activeTileX, ref this.m_activeTileY); int mainEditButtonId1 = this.getMainEditButtonId(screenX1, screenY1); if (mainEditButtonId1 == 5) { this.writeCurrentHouseToFile(); this.editStateTransition(5); } if (mainEditButtonId1 == 6) { this.writeCurrentHouseToFile(); this.m_simWorld.editHouse(this.m_currentHouse.getId(), this.m_currentHouse); this.loadMap(this.m_currentHouse.getId()); this.editStateTransition(5); break; } if (mainEditButtonId1 == 4 && this.m_selectedObject != null) { JSystem.println("object dropped on the trash button..."); if (house.Room.house_cast(this.m_selectedObject) != null) { this.m_currentHouse.deleteRoom((house.Room) this.m_selectedObject); } else if (Window.house_cast(this.m_selectedObject) != null) { this.m_currentHouse.deleteWindow((Window)this.m_selectedObject); } else if (HouseObject.house_cast(this.m_selectedObject) != null) { this.m_currentHouse.deleteHouseObject((HouseObject)this.m_selectedObject); } else if (Door.house_cast(this.m_selectedObject) != null) { this.m_currentHouse.deleteDoor((Door)this.m_selectedObject); } this.m_selectedObject = (PlaceableObject)null; break; } this.m_selectedObject = this.getObjectAt(this.m_activeTileX, this.m_activeTileY); break; case 4: int screenX2 = args[1]; int screenY2 = args[2]; this.m_startDragScreenX = screenX2; this.m_startDragScreenY = screenY2; this.m_prevActiveTileX = this.m_activeTileX; this.m_prevActiveTileY = this.m_activeTileY; this.coordScreenToTile(screenX2, screenY2, ref this.m_activeTileX, ref this.m_activeTileY); int mainEditButtonId2 = this.getMainEditButtonId(screenX2, screenY2); JSystem.println("Drag started in button w id " + (object)mainEditButtonId2); if (mainEditButtonId2 != -1 && mainEditButtonId2 != 4 && this.m_currentHouse != null) { switch (mainEditButtonId2) { case 0: house.Room room1 = new house.Room(this.m_activeTileX, this.m_activeTileY, 2, 2, 0, 0); this.m_currentHouse.addRoom(room1); this.m_selectedObject = (PlaceableObject)room1; break; case 1: Door door1 = new Door(this.m_activeTileX, this.m_activeTileY, 1, 70); this.m_currentHouse.addDoor(door1); this.m_selectedObject = (PlaceableObject)door1; break; case 2: Window window1 = new Window(this.m_activeTileX, this.m_activeTileY, 1, 138); this.m_currentHouse.addWindow(window1); this.m_selectedObject = (PlaceableObject)window1; break; case 3: HouseObject @object = new HouseObject(this.m_activeTileX, this.m_activeTileY, this.m_prevAddedObjectType < 0 ? 82 : this.m_prevAddedObjectType, 1); this.m_currentHouse.addHouseObject(@object); this.m_selectedObject = (PlaceableObject)@object; break; } } if (this.m_selectedObject == null) { break; } this.m_selectedObject.setPosition(this.m_selectedObject.getX() + this.m_activeTileX - this.m_prevActiveTileX, this.m_selectedObject.getY() + this.m_activeTileY - this.m_prevActiveTileY); break; case 5: int screenX3 = args[1]; int screenY3 = args[2]; this.m_prevActiveTileX = this.m_activeTileX; this.m_prevActiveTileY = this.m_activeTileY; this.coordScreenToTile(screenX3, screenY3, ref this.m_activeTileX, ref this.m_activeTileY); if (this.m_selectedObject == null) { break; } this.m_selectedObject.setPosition(this.m_selectedObject.getX() + (this.m_activeTileX - this.m_prevActiveTileX), this.m_selectedObject.getY() + (this.m_activeTileY - this.m_prevActiveTileY)); break; case 6: JSystem.println(" single drag end"); break; case 7: JSystem.println(" double tap"); if (this.isDoubleTapHorizontal(args)) { if (this.m_selectedObject == null) { break; } this.editStateTransition(4); break; } this.editStateTransition(3); break; case 9: int num1 = args[1]; int num2 = args[2]; int num3 = args[3]; int num4 = args[4]; int viewportHeight = this.m_simWorld.getViewportHeight(); bool flag1 = num1 <40 && num2> viewportHeight - 40; bool flag2 = num1 <40 && num4> viewportHeight - 40; if ((!flag1 || flag2) && (flag1 || !flag2) || this.m_selectedObject == null) { break; } int screenX4 = flag1 ? num3 : num1; int screenY4 = flag2 ? num2 : num4; this.m_prevActiveTileX = this.m_activeTileX; this.m_prevActiveTileY = this.m_activeTileY; this.coordScreenToTile(screenX4, screenY4, ref this.m_activeTileX, ref this.m_activeTileY); house.Room room2 = house.Room.house_cast(this.m_selectedObject); Door door2 = Door.house_cast(this.m_selectedObject); Window window2 = Window.house_cast(this.m_selectedObject); int num5 = this.m_activeTileX - this.m_prevActiveTileX; int num6 = this.m_activeTileY - this.m_prevActiveTileY; if (room2 != null) { room2.setSize(JMath.max(1, room2.getWidth() + num5), JMath.max(1, room2.getHeight() + num6)); break; } if (door2 != null) { door2.setSize(door2.getWidth() + num5, door2.getHeight()); break; } window2?.setSize(JMath.min(2, window2.getWidth() + num5), window2.getHeight()); break; } }