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; } } }
/** * This method determines if a target gets hit. * * @param obj * The gameobject that is in danger of being damaged * * @return * Boolean of whether or not the explosion was in range */ public virtual bool inRange(GameObject obj) { if (obj == null) { return(false); } Vector3 unitPos = MouseToGridAPI.UnitToWorldCoordinate(obj.transform.position); float distance = (float)Math.Sqrt(Math.Pow(unitPos.x - this.position.x, 2) + Math.Pow(unitPos.y - this.position.y, 2)); return(distance <= this.range); }
/** * To be called immediately after unit creation. Populates the infobox with unit information */ public void init(GameObject unit) { //Debug.Log("Unit passed into method: " + unit); if (unit != null && unit.GetComponent <IdentityController>() != null) { Title.text = unit.GetComponent <IdentityController>().GetFullName(); TeamValue.text = Team.GetTeam(unit.GetComponent <IdentityController>().GetTeam()).GetTeamName(); HealthValue.text = unit.GetComponent <HealthController>().GetCurrentHealth().ToString() + " / " + unit.GetComponent <HealthController>().GetMaxHealth().ToString(); Vector3 position = unit.transform.localPosition; position = MouseToGridAPI.GetGridCoordinateFromUnit(position); LocationValue.text = position.x + " , " + position.y; if (unit.GetComponent <ContainerController>() != null) { ContainedValue.text = unit.GetComponent <ContainerController>().GetCount().ToString(); } else { ContainedValue.text = "N/A"; } Vector2 pos; Canvas canvas = transform.parent.GetComponent <Canvas>(); RectTransformUtility.ScreenPointToLocalPointInRectangle(transform.parent as RectTransform, Input.mousePosition, canvas.worldCamera, out pos); transform.position = transform.parent.TransformPoint(pos); transform.localScale = new Vector3(1, 1, 1); if (transform.position.y > 20) { transform.localScale = new Vector3(1, -1, 1); foreach (Transform child in transform) { child.localScale = new Vector3(1, -1, 1); if (child.name == "Title") { child.localPosition = new Vector3(child.localPosition.x, 90, child.localPosition.z); } } } else { foreach (Transform child in transform) { child.localScale = new Vector3(1, 1, 1); if (child.name == "Title") { child.localPosition = new Vector3(child.localPosition.x, 220, child.localPosition.z); } } } } }
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(); }