示例#1
0
    public void makeOptions()
    {
        List <battleOption> allOptions = new List <battleOption>();

        if (gridMaster.selector.selectedUnit != null)
        {
            unit_parent currentUnit = gridMaster.selector.selectedUnit;

            currentUnit.savedScanTargets   = currentUnit.getScanTargets2();
            currentUnit.savedAttackTargets = currentUnit.listAttackNodes();

            if (currentUnit.isActive)
            {
                if (currentUnit.checkAttackTargets(currentUnit.thisNode, false))
                {
                    allOptions.Add(new battleOption(0, "Attack", globals.action_cost_attack));
                }
                if (currentUnit.checkDrillTargets(currentUnit.thisNode, false))
                {
                    allOptions.Add(new battleOption(1, "Drill", globals.action_cost_drill));
                }
                if (currentUnit.checkHoldTargets(currentUnit.thisNode, false))
                {
                    allOptions.Add(new battleOption(2, "Take", globals.action_cost_hold));
                }
                if (currentUnit.checkScanTargets(currentUnit.thisNode, false))
                {
                    allOptions.Add(new battleOption(8, "Scan", globals.action_cost_scan));
                }
                if (currentUnit.checkDropTargets(currentUnit.thisNode, false))
                {
                    allOptions.Add(new battleOption(6, "Drop", 0));
                }
                allOptions.Add(new battleOption(3, "Wait", 0));
                if (currentUnit.checkBombTargets(currentUnit.thisNode, false))
                {
                    allOptions.Add(new battleOption(7, "Detonate", 0));
                }
                allOptions.Add(new battleOption(5, "Turn Off", 0));
            }

            if (!currentUnit.isActive)
            {
                allOptions.Add(new battleOption(4, "Turn On", 0));
            }
        }

        allOptions.Add(new battleOption(10, "Cancel", 0));


        foreach (Transform child in content.transform)
        {
            Destroy(child.gameObject);
        }

        highlighter      = Instantiate(highlighterPrefab, Vector3.zero, Quaternion.identity, content.transform);
        highlighter.name = "highlighter battle";

        /*highlighter.anchorMin = new Vector2(0, 1);
         * highlighter.anchorMax = new Vector2(0, 1);
         * highlighter.pivot = new Vector2(0, 0);
         * highlighter.sizeDelta = new Vector2(400, 30);*/
        highlighter.localPosition    = new Vector3(5, -33, 0);
        highlighter.localEulerAngles = new Vector3(0, 0, 0);
        highlighter.localScale       = new Vector3(1, 1, 1);

        int iteration = 0;

        foreach (battleOption option in allOptions)
        {
            GameObject gogo = Resources.Load("UIbutton_OPs") as GameObject;
            //Button bb = (Button) gogo.GetComponent<Button>();

            GameObject button = Instantiate(gogo, Vector3.zero, Quaternion.identity) as GameObject;

            //button.GetComponent<Button>().onClick.AddListener(optionSelected );
            button.GetComponent <Button>().onClick.AddListener(delegate { optionSelected(option.code); });
            if (option.cost == 0)
            {
                button.gameObject.GetComponentInChildren <Text>().text = option.name;
            }
            else
            {
                button.gameObject.GetComponentInChildren <Text>().text = option.name + " - " + option.cost + " Gas";
            }
            Transform rectTransform = button.GetComponent <RectTransform>();
            rectTransform.SetParent(content.transform);
            rectTransform.localPosition    = new Vector3(5, -33 - (iteration * 30), 0);
            rectTransform.localEulerAngles = new Vector3(0, 0, 0);
            rectTransform.localScale       = new Vector3(1, 1, 1);
            iteration++;
            buttonArray.Add(button);
            maxOptions = iteration;
        }
        content.GetComponent <RectTransform>().sizeDelta = new Vector2(0, maxOptions * 30);
    }
示例#2
0
    //Update
    public void Update()
    {
        nodeSquare.GetComponent <SpriteRenderer>().sprite = defaultSprite;
        nodeSquare.GetComponent <SpriteRenderer>().color  = Color.white;

        /*
         *      if (gridMaster.cursorCode.cursorNode.Equals (gridMaster.cursorCode.playerCode.playerNode)) {
         *              if(gridMaster.cursorCode.highLightMoveableNodes(this)){
         *                      nodeSquare.GetComponent<SpriteRenderer> ().color = Color.blue;
         *              }
         *      }
         *      foreach (GameObject enemy in gridMaster.enemies) {
         *              EnemyParent enemyCode = (EnemyParent) enemy.GetComponent(typeof(EnemyParent));
         *              if(enemyCode.highLightSeenNodes(this)){
         *                      nodeSquare.GetComponent<SpriteRenderer> ().color = Color.red;
         *              }
         *      }
         *      //cursor potential sound
         *      if(gridMaster.cursorCode.highLightSoundNodes(this)){
         *              nodeSquare.GetComponent<SpriteRenderer> ().color = Color.green;
         *      }
         *
         */

        foreach (GameObject unit in gridMaster.units)
        {
            unit_parent unit_code = (unit_parent)unit.GetComponent(typeof(unit_parent));
            if (unit_code.selected)
            {
                switch (gridMaster.selector.state_selector)
                {
                case 11:
                    if (unit_code.checkScanTargets(this, true))
                    {
                        nodeSquare.GetComponent <SpriteRenderer>().sprite = focusedSprite;
                        nodeSquare.GetComponent <SpriteRenderer>().color  = Color.green;
                    }
                    break;

                case 10:
                    if (unit_code.checkScanTargets(this, true))
                    {
                        nodeSquare.GetComponent <SpriteRenderer>().sprite = focusedSprite;
                        nodeSquare.GetComponent <SpriteRenderer>().color  = Color.green;
                    }
                    break;

                case 9:
                    if (unit_code.checkBombTargets(this, true))
                    {
                        nodeSquare.GetComponent <SpriteRenderer>().sprite = focusedSprite;
                        nodeSquare.GetComponent <SpriteRenderer>().color  = Color.green;
                    }
                    break;

                case 8:
                    if (unit_code.checkDropTargets(this, true))
                    {
                        nodeSquare.GetComponent <SpriteRenderer>().sprite = focusedSprite;
                        nodeSquare.GetComponent <SpriteRenderer>().color  = Color.green;
                    }
                    break;

                case 5:
                    if (unit_code.checkHoldTargets(this, true))
                    {
                        nodeSquare.GetComponent <SpriteRenderer>().sprite = focusedSprite;
                        nodeSquare.GetComponent <SpriteRenderer>().color  = Color.green;
                    }
                    break;

                case 4:
                    if (unit_code.checkAttackTargets(this, true))
                    {
                        nodeSquare.GetComponent <SpriteRenderer>().sprite = focusedSprite;
                        nodeSquare.GetComponent <SpriteRenderer>().color  = Color.green;
                    }
                    break;

                case 3:
                    if (unit_code.checkDrillTargets(this, true))
                    {
                        nodeSquare.GetComponent <SpriteRenderer>().sprite = focusedSprite;
                        nodeSquare.GetComponent <SpriteRenderer>().color  = Color.green;
                    }
                    break;

                default:
                    if (unit_code.highLightMoveableNodes(this))
                    {
                        nodeSquare.GetComponent <SpriteRenderer>().sprite = focusedSprite;
                        nodeSquare.GetComponent <SpriteRenderer>().color  = Color.green;
                    }
                    if (pathmember)
                    {
                        nodeSquare.GetComponent <SpriteRenderer>().sprite = focusedSprite;
                        nodeSquare.GetComponent <SpriteRenderer>().color  = Color.red;
                    }
                    break;
                }
            }
        }


        if (unitHQ_code.selected)
        {
            if (gridMaster.selector.state_selector == 7)
            {
                if (unitHQ_code.checkCreationSpaces(this, true))
                {
                    nodeSquare.GetComponent <SpriteRenderer>().sprite = focusedSprite;
                    nodeSquare.GetComponent <SpriteRenderer>().color  = Color.green;
                }
            }
        }

        foreach (GameObject enemy in gridMaster.enemies)
        {
            enemy_parent enemy_code = (enemy_parent)enemy.GetComponent(typeof(enemy_parent));
            if (enemy_code.selected && !nodeOculto)
            {
                if (enemy_code.highLightAttackableNodes(this))
                {
                    nodeSquare.GetComponent <SpriteRenderer>().sprite = focusedSprite;
                    nodeSquare.GetComponent <SpriteRenderer>().color  = Color.magenta;
                }
                if (enemy_code.highLightMoveableNodes(this))
                {
                    nodeSquare.GetComponent <SpriteRenderer>().sprite = focusedSprite;
                    nodeSquare.GetComponent <SpriteRenderer>().color  = Color.red;
                }
            }
        }

        /*
         * if (pathmember) {
         *  nodeSquare.GetComponent<SpriteRenderer>().sprite = focusedSprite;
         *  nodeSquare.GetComponent<SpriteRenderer>().color = Color.red;
         * }*/
    }