public void OnMouseUp() { if (UIMenuController.IsActiveMenu(uiMapEditor)) { var gridPos = MouseToGridAPI.GetGridCoordinate(Input.mousePosition); Point point = new Point((int)gridPos.x, (int)gridPos.y); switch (currentTool) { case ToolType.LINE: DrawLine(startPoint, point, paintCurrent.ID); MapDisplayAPI.FinishOperation(); break; case ToolType.SHAPE: int distance = (int)(Math.Sqrt(Math.Pow(startPoint.x - point.x, 2) + Math.Pow(startPoint.y - point.y, 2))); int deltaX = Convert.ToInt32(startPoint.x) - Convert.ToInt32(point.x); int deltaY = Convert.ToInt32(startPoint.y) - Convert.ToInt32(point.y); Point center = new Point(startPoint.x - (deltaX / 2), startPoint.y - (deltaY / 2)); DrawWithBrush(center, distance / 2, paintCurrent.ID); MapDisplayAPI.FinishOperation(); break; case ToolType.BRUSH: previous = null; break; default: break; } operationManager.EndDraw(); } }
// TODO: Look into right mouse /*void OnMouseOver() { * if (MapMenu.activeSelf) { * //Debug.Log(Input.GetMouseButton(1) + ", " + Input.GetMouseButtonDown(1) + ", " + Input.GetMouseButtonUp(1)); * } * }*/ public void OnMouseDown() { if (tiles == null) { tiles = World.Instance.Tiles; } if (UIMenuController.IsActiveMenu(uiMapEditor)) { Debug("Left: " + Input.GetMouseButton(0) + " Right: " + Input.GetMouseButton(1)); Debug("Should be doing something."); operationManager.BeginDraw(); var gridPos = MouseToGridAPI.GetGridCoordinate(Input.mousePosition); Point point = new Point((int)gridPos.x, (int)gridPos.y); switch (currentTool) { case ToolType.FILL: Fill(point, paintCurrent.ID, tiles[Convert.ToInt32(point.x), Convert.ToInt32(point.y)]); MapDisplayAPI.FinishOperation(); break; case ToolType.LINE: case ToolType.SHAPE: startPoint = point; break; case ToolType.BRUSH: previous = point; break; default: break; } } }
public void OnMouseDrag() { if (UIMenuController.IsActiveMenu(uiMapEditor)) { var gridPos = MouseToGridAPI.GetGridCoordinate(Input.mousePosition); Point point = new Point((int)gridPos.x, (int)gridPos.y); switch (currentTool) { case ToolType.BRUSH: DrawLine(previous, point, paintCurrent.ID); previous = point; MapDisplayAPI.FinishOperation(); break; default: break; } } }
// Update is called once per frame void Update() { xPos.text = MouseToGridAPI.GetGridCoordinate(Input.mousePosition).x.ToString(); yPos.text = MouseToGridAPI.GetGridCoordinate(Input.mousePosition).y.ToString(); }