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); }
//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; * }*/ }