public void OnClickCommand() { Debug.Log("Stop All Action"); if (bc.GetListOfUnit().Count < 2) { bc.go_SelectUnit().GetComponent <PlayerFSM>().StopAllActions(); } else if (bc.GetListOfUnit().Count > 1) { for (int i = 0; i < bc.GetListOfUnit().Count; i++) { bc.GetListOfUnit()[i].GetComponent <PlayerFSM>().StopAllActions(); } } }
public void CreateButtons() { foreach (Transform button in gameObject.transform) { if (button.gameObject.name == "ActionButton" || button.gameObject.name == "UpgradeActionButton" || button.gameObject.name == "UpgradeBarracksButton" || button.gameObject.name == "WorkerActionButton") { Destroy(button.gameObject); } } if (go_selectedUnit != null) { if (go_selectedUnit.tag == "PlayerUnit") { for (int i = 1; i < 4; ++i) { if ((i == 0 && bc.GetListOfUnit().Count <= 1) || i == 1 || (i == 2 && bc.GetListOfUnit().Count <= 1 && go_selectedUnit.GetComponent <PlayerUnitInfo>().GetUnitType() == PlayerUnitInfo.PlayerUnitType.PUN_WORKER) || i == 3) { GameObject goButton = (GameObject)Instantiate(go_actionButton); goButton.name = "ActionButton"; goButton.transform.SetParent(go_actionPanel.transform, false); goButton.transform.localScale = new Vector3(1, 1, 1); goButton.GetComponent <ChooseCommand>().go_BuildingPanel = go_buildPanel; goButton.GetComponent <ChooseCommand>().go_ConfirmUpgrade = go_ConfirmButton; goButton.GetComponent <RectTransform>().anchorMax = new Vector2(1, 0); goButton.GetComponent <RectTransform>().anchorMin = new Vector2(1, 0); goButton.transform.localPosition = new Vector3(go_selectButton.transform.localPosition.x, go_selectButton.transform.localPosition.y + go_actionButton_Length * (i), 0); switch (i) { case 0: // No longer needed goButton.GetComponentInChildren <Text>().text = "CLOSE"; goButton.GetComponent <Image>().sprite = cancelImage; break; case 1: goButton.GetComponentInChildren <Text>().text = "MOVE"; goButton.GetComponent <Image>().sprite = moveImage; break; case 2: if (go_selectedUnit.GetComponent <PlayerUnitInfo>().GetUnitType() == PlayerUnitInfo.PlayerUnitType.PUN_WORKER) { goButton.GetComponentInChildren <Text>().text = "BUILD"; goButton.GetComponent <Image>().sprite = buildImage; } else // not needed anymore { goButton.GetComponentInChildren <Text>().text = "UPRANK"; goButton.GetComponent <Image>().sprite = uprankImage; } break; case 3: goButton.GetComponentInChildren <Text>().text = "SELECTMORE"; goButton.GetComponent <Image>().sprite = selectMoreImage; goButton.transform.localPosition = new Vector3(go_selectButton.transform.localPosition.x - go_actionButton.GetComponent <RectTransform>().rect.height, go_selectButton.transform.localPosition.y, 0); break; } } } } else if (go_selectedUnit.tag == "SelectableBuilding" && go_selectedUnit.transform.parent != GameObject.FindGameObjectWithTag("EnemyBuildingList").transform) { GameObject goButton = (GameObject)Instantiate(go_actionButton); goButton.name = "ActionButton"; goButton.transform.SetParent(go_actionPanel.transform, false); goButton.transform.localScale = new Vector3(1, 1, 1); goButton.GetComponent <ChooseCommand>().go_BuildingPanel = go_buildPanel; goButton.GetComponent <ChooseCommand>().go_ConfirmUpgrade = go_ConfirmButton; goButton.GetComponent <RectTransform>().anchorMax = new Vector2(1, 0); goButton.GetComponent <RectTransform>().anchorMin = new Vector2(1, 0); goButton.transform.localPosition = new Vector3(go_selectButton.transform.localPosition.x, go_selectButton.transform.localPosition.y, 0); goButton.GetComponentInChildren <Text>().text = "CLOSE"; goButton.GetComponent <Image>().sprite = cancelImage; if (go_selectedUnit.name == "Barracks") { for (int j = 0; j < 2; ++j) { GameObject secondButton = (GameObject)Instantiate(go_actionButton); secondButton.name = "ActionButton"; secondButton.transform.SetParent(go_actionPanel.transform, false); secondButton.transform.localScale = new Vector3(1, 1, 1); secondButton.GetComponent <ChooseCommand>().go_BuildingPanel = go_buildPanel; secondButton.GetComponent <ChooseCommand>().go_BarracksPanel = go_barracksPanel; secondButton.GetComponent <ChooseCommand>().go_ConfirmUpgrade = go_ConfirmButton; go_barracksPanel.GetComponent <BarracksPanelInfo>().go_SelectedBarracks = go_selectedUnit; secondButton.GetComponent <RectTransform>().anchorMax = new Vector2(1, 0); secondButton.GetComponent <RectTransform>().anchorMin = new Vector2(1, 0); //goButton.transform.localPosition = Vector3.zero; secondButton.transform.localPosition = new Vector3(go_selectButton.transform.localPosition.x, go_selectButton.transform.localPosition.y + go_actionButton_Length, 0); secondButton.GetComponentInChildren <Text>().text = "CREATE"; secondButton.GetComponent <Image>().sprite = createUnitImage; if (j == 1) { secondButton.transform.localPosition = new Vector3(go_selectButton.transform.localPosition.x, go_selectButton.transform.localPosition.y + go_actionButton_Length * 2, 0); secondButton.name = "UpgradeBarracksButton"; secondButton.GetComponentInChildren <Text>().text = "UPGRADEBARRACKS"; //secondButton.GetComponentInChildren<Text>().text = "" + go_selectedUnit.GetComponent<BarracksBehaviour>().i_levelUpCost; //secondButton.GetComponentInChildren<Text>().color = new Color(0, 0, 0, 255); secondButton.GetComponent <Image>().sprite = uprankImage; } } } else if (go_selectedUnit.GetComponent <TownHallBehaviour>() != null) { for (int i = 0; i < 2; ++i) { if ((i == 1 && GameObject.FindGameObjectWithTag("PlayerInfo").GetComponent <PlayerInfo>().i_playerLevel < 3) || i == 0) { if (i == 0) { GameObject secondButton = (GameObject)Instantiate(go_actionButton); secondButton.name = "WorkerActionButton"; secondButton.transform.SetParent(go_actionPanel.transform, false); secondButton.transform.localScale = new Vector3(1, 1, 1); secondButton.GetComponent <ChooseCommand>().go_BuildingPanel = go_buildPanel; secondButton.GetComponent <ChooseCommand>().go_ConfirmUpgrade = go_ConfirmButton; secondButton.GetComponent <ChooseCommand>().go_ConfirmWorker = go_ConfirmWorker; secondButton.GetComponent <RectTransform>().anchorMax = new Vector2(1, 0); secondButton.GetComponent <RectTransform>().anchorMin = new Vector2(1, 0); secondButton.transform.localPosition = new Vector3(go_selectButton.transform.localPosition.x, go_selectButton.transform.localPosition.y + go_actionButton_Length, 0); secondButton.GetComponentInChildren <Text>().text = " "; secondButton.GetComponentInChildren <Text>().color = new Color(1, 1, 1, 255); secondButton.GetComponent <Image>().sprite = createWorkerImage; } else { GameObject secondButton = (GameObject)Instantiate(go_actionButton); secondButton.name = "UpgradeActionButton"; secondButton.transform.SetParent(go_actionPanel.transform, false); secondButton.transform.localScale = new Vector3(1, 1, 1); secondButton.GetComponent <ChooseCommand>().go_BuildingPanel = go_buildPanel; secondButton.GetComponent <ChooseCommand>().go_ConfirmUpgrade = go_ConfirmButton; secondButton.GetComponent <RectTransform>().anchorMax = new Vector2(1, 0); secondButton.GetComponent <RectTransform>().anchorMin = new Vector2(1, 0); secondButton.transform.localPosition = new Vector3(go_selectButton.transform.localPosition.x, go_selectButton.transform.localPosition.y + go_actionButton_Length * 2, 0); //secondButton.GetComponentInChildren<Text>().text = "" + GameObject.FindGameObjectWithTag("PlayerInfo").GetComponent<PlayerInfo>().f_upgradeCost; //secondButton.GetComponentInChildren<Text>().color = new Color(0, 0, 0, 255); secondButton.GetComponent <Image>().sprite = uprankImage; } } } } } } }
public void OnClickCommand() { //TestInput input = GameObject.FindGameObjectWithTag("MainCamera").GetComponent<TestInput>(); if (go_CommandButton.GetComponentInChildren <Text>().text == "MOVE") { Debug.Log("OnClickMOVE"); //go_CommandPanel.SetActive(false); Ray ray = Camera.main.ScreenPointToRay(bc.getCrossHair().position); if (Physics.Raycast(ray, out hit, float.MaxValue, bc.touchInputMask)) { GameObject go_ObjectHit = hit.transform.gameObject; //go_DebugPurpose.GetComponent<Text>().text = "point location: " + hit.point; if (bc.GetListOfUnit().Count < 2) { if (go_ObjectHit.tag == "StoneMine" || go_ObjectHit.tag == "Tree") { bc.go_SelectUnit().GetComponent <PlayerFSM>().GetBuildingTargetPos(go_ObjectHit.transform); } else if ((go_ObjectHit.tag == "Enemy" || go_ObjectHit.transform.parent.tag == "EnemyBuildingList") && bc.go_SelectUnit().GetComponent <PlayerUnitInfo>().GetUnitType() != PlayerUnitInfo.PlayerUnitType.PUN_WORKER) { Debug.Log("Attack enemy"); bc.go_SelectUnit().GetComponent <PlayerFSM>().GetEnemyTargetPos(go_ObjectHit); } else { Debug.Log("Walk here"); //TestInput input = GameObject.FindGameObjectWithTag("MainCamera").GetComponent<TestInput>(); // input.b_MoveUnit = true; bc.go_SelectUnit().GetComponent <PlayerFSM>().SetTargetPos(hit.point); } } else if (bc.GetListOfUnit().Count > 1) { for (int i = 0; i < bc.GetListOfUnit().Count; i++) { if (bc.GetListOfUnit()[i].GetComponent <PlayerUnitInfo>().GetUnitType() == PlayerUnitInfo.PlayerUnitType.PUN_WORKER) { if (go_ObjectHit.tag == "StoneMine" || go_ObjectHit.tag == "Tree") { bc.GetListOfUnit()[i].GetComponent <PlayerFSM>().GetBuildingTargetPos(go_ObjectHit.transform); } else { bc.GetListOfUnit()[i].GetComponent <PlayerFSM>().SetTargetPos(hit.point); } } else { if ((go_ObjectHit.tag == "Enemy" || go_ObjectHit.transform.parent.tag == "EnemyBuildingList")) { Debug.Log("Attack enemy"); bc.GetListOfUnit()[i].GetComponent <PlayerFSM>().GetEnemyTargetPos(go_ObjectHit); } else { bc.GetListOfUnit()[i].GetComponent <PlayerFSM>().SetTargetPos(hit.point); } } } } } //input.b_MoveUnit = true; } else if (go_CommandButton.GetComponentInChildren <Text>().text == "BUILD") { //bc.b_ToBuild = true; //bc.getButton().GetComponentInChildren<Text>().text = "Select"; go_BuildingPanel.SetActive(true); go_CommandPanel.SetActive(false); } else if (go_CommandButton.GetComponentInChildren <Text>().text == "PLACE") { Ray ray = Camera.main.ScreenPointToRay(bc.getCrossHair().position); if (Physics.Raycast(ray, out hit, float.MaxValue, bc.touchInputMask)) { if (hit.transform == GameObject.FindGameObjectWithTag("Terrain").transform) { bc.go_SelectUnit().GetComponent <PlayerFSM>().SetTargetPos(hit.point); bc.go_SelectUnit().GetComponent <PlayerFSM>().b_buildBuilding = true; //go_CommandPanel.SetActive(false); //bc.SetBackToSelect(); go_CommandPanel.GetComponent <CreateActionButton>().CreateButtons(); } } } else if (go_CommandButton.GetComponentInChildren <Text>().text == "CREATE") { go_BarracksPanel.GetComponent <BarracksPanelInfo>().go_SelectedBarracks = go_CommandPanel.GetComponent <CreateActionButton>().go_selectedUnit; go_BarracksPanel.SetActive(true); //go_CommandPanel.SetActive(false); } else if (go_CommandButton.GetComponentInChildren <Text>().text == "CLOSE") // No longer needed { //input.selectedUnit = null; //go_BarracksPanel.SetActive(true); //go_CommandPanel.GetComponent<CreateActionButton>().go_selectedUnit = null; //go_CommandPanel.SetActive(false); //for (int i = 1; i <= bc.GetListOfUnit().Count; i++) //{ // bc.GetListOfUnit().Remove(bc.GetListOfUnit()[i]); //} } else if (go_CommandButton.name == "UpgradeActionButton") { //go_CommandPanel.SetActive(false); go_ConfirmUpgrade.GetComponent <UpgradeBuilding>().building = go_CommandPanel.GetComponent <CreateActionButton>().go_selectedUnit; go_ConfirmUpgrade.SetActive(true); } else if (go_CommandButton.name == "UpgradeBarracksButton") { //go_CommandPanel.SetActive(false); go_ConfirmUpgrade.GetComponent <UpgradeBuilding>().building = go_CommandPanel.GetComponent <CreateActionButton>().go_selectedUnit; go_ConfirmUpgrade.SetActive(true); } else if (go_CommandButton.name == "WorkerActionButton") { go_ConfirmWorker.GetComponent <CreateWorker>().building = go_CommandPanel.GetComponent <CreateActionButton>().go_selectedUnit; go_ConfirmWorker.SetActive(true); } }