//////////////////////////////////////////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // Event-like functions public void MouseEvent(MapTile mapTile, MapDisplay.MouseEventType eventType) { if (hardInput.GetKey("Pan Camera")) { return; } BattleTile tile = mapTile ? this.GetTile(mapTile.pos) : null; BattleTile newHoveredTile = this.hoveredTile; if (eventType == MapDisplay.MouseEventType.Enter) { newHoveredTile = tile; } else if (eventType == MapDisplay.MouseEventType.Exit) { newHoveredTile = null; } else if (eventType == MapDisplay.MouseEventType.Click) { if (this.CanClickTile()) { this.HexTileClicked(); } } else if (eventType == MapDisplay.MouseEventType.RightClick) { this.HexTileRightClicked(); } if (newHoveredTile != this.hoveredTile) { if (this.hoveredTile) { // Stopped hovering this tile. this.mapDisplay.DisableHoveredTile(); } this.hoveredTile = newHoveredTile; if (this.hoveredTile) { // Started hovering this tile. this.mapDisplay.SetHoveredTile(this.hoveredTile.mapTile); } this.HexTileHovered(); } }
public void MouseEvent(MapTile tile, MapDisplay.MouseEventType eventType) { if (hardInput.GetKey("Pan Camera")) { return; } if (eventType == MapDisplay.MouseEventType.Enter) { this.lastEnteredTile = tile; if (this.state == MapEditorState.Normal) { if (tile) { this.mapDisplay.SetHoveredTile(tile); } } else if (this.state == MapEditorState.SelectionPaint) { if (tile && this.selectedTiles.Contains(tile) == false) { this.selectedTiles.Add(tile); this.mapDisplay.SetSelectedTiles(this.selectedTiles); } } else if (this.state == MapEditorState.SelectionErase) { if (tile && this.selectedTiles.Contains(tile) == true) { this.selectedTiles.Remove(tile); this.mapDisplay.SetSelectedTiles(this.selectedTiles); } } } else if (eventType == MapDisplay.MouseEventType.Exit) { this.lastEnteredTile = null; if (this.state == MapEditorState.Normal) { this.mapDisplay.DisableHoveredTile(); } } else if (eventType == MapDisplay.MouseEventType.Click) { } else if (eventType == MapDisplay.MouseEventType.ClickDown) { if (this.state == MapEditorState.Normal) { this.SetState(MapEditorState.SelectionPaint); } } else if (eventType == MapDisplay.MouseEventType.ClickUp) { if (this.state == MapEditorState.SelectionPaint) { this.SetState(MapEditorState.Normal); } } else if (eventType == MapDisplay.MouseEventType.RightClickDown) { if (this.state == MapEditorState.Normal) { this.SetState(MapEditorState.SelectionErase); } } else if (eventType == MapDisplay.MouseEventType.RightClickUp) { if (this.state == MapEditorState.SelectionErase) { this.SetState(MapEditorState.Normal); } } }