Exemple #1
0
    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();
        }
    }
Exemple #2
0
    // 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;
            }
        }
    }
Exemple #3
0
    /**
     * 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);
    }
Exemple #4
0
    /**
     * 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);
                    }
                }
            }
        }
    }
Exemple #5
0
    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;
            }
        }
    }
Exemple #6
0
 // Update is called once per frame
 void Update()
 {
     xPos.text = MouseToGridAPI.GetGridCoordinate(Input.mousePosition).x.ToString();
     yPos.text = MouseToGridAPI.GetGridCoordinate(Input.mousePosition).y.ToString();
 }