コード例 #1
0
ファイル: Node.cs プロジェクト: heinzi1991/Bachelor-Thesis
    void OnMouseOver()
    {
        if (gridManager.gameStatusString == "stop")
        {
            if (Input.GetMouseButtonDown(0))
            {
                if (!gridManager.gridStartField)
                {
                    rend.material.color        = Color.green;
                    gridManager.gridStartField = true;

                    neighbours = gridManager.getNeighbours(this.name);

                    gridManager.gridStartNode = gridManager.getGameObjectFromNode(this.name);

                    GameObject empty = new GameObject("NoTurretBuilt");
                    empty.transform.parent = this.transform;
                    turret = empty;
                }
                else
                {
                    if (gridManager.gridMaxEndFields != gridManager.gridCountOfEndFields)
                    {
                        rend.material.color = Color.red;
                        gridManager.gridCountOfEndFields = 1;

                        neighbours = gridManager.getNeighbours(this.name);

                        gridManager.AddEndNodesToList(gridManager.getGameObjectFromNode(this.name));

                        GameObject empty = new GameObject("NoTurretBuilt");
                        empty.transform.parent = this.transform;
                        turret = empty;
                    }
                    else
                    {
                        Debug.Log("Maximum of End Fields is arrive");
                    }
                }
            }

            if (Input.GetMouseButtonDown(1))
            {
                if (rend.material.color == hoverColor || rend.material.color == startColor)
                {
                    rend.material.color = Color.black;
                    gridManager.AddNodeToPath(gridManager.getGameObjectFromNode(this.name));

                    neighbours = gridManager.getNeighbours(this.name);

                    GameObject empty       = new GameObject("NoTurretBuilt");
                    GameObject middlePoint = GameObject.CreatePrimitive(PrimitiveType.Cube);
                    middlePoint.transform.position   = this.transform.position;
                    middlePoint.gameObject.layer     = 9;
                    middlePoint.transform.localScale = new Vector3(0.25f, 0.5f, 0.25f);
                    empty.transform.parent           = this.transform;
                    middlePoint.transform.parent     = this.transform;
                    turret = empty;
                }
                else
                {
                    rend.material.color = startColor;
                    gridManager.DeleteNodeFromPath(gridManager.getGameObjectFromNode(this.name));

                    neighbours = null;
                    GameObject empty = this.transform.GetChild(0).gameObject;
                    Destroy(empty);
                    turret = null;
                }
            }
        }
        else
        {
            if (Input.GetMouseButtonDown(0))
            {
                if (turret != null)
                {
                    ActiveVisibleRange(turret.name);
                    return;
                }

                if (EventSystem.current.IsPointerOverGameObject())
                {
                    return;
                }

                if (!builtManager.CanBuild)
                {
                    return;
                }

                //DeactiveVisibleRange("LandTurret(Clone)");
                //DeactiveVisibleRange("AirTurret(Clone)");
                //DeactiveVisibleRange("CombiTurret(Clone)");
                builtManager.BuildTurretOn(this);
            }

            if (Input.GetMouseButtonDown(1))
            {
                stateManager.ShowBalancingOfTurret(turret);
                stateManager.SetInsideBalancePanels("turret");
            }
        }
    }