示例#1
0
 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();
         }
     }
 }
示例#2
0
    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;
                            }
                        }
                    }
                }
            }
        }
    }
示例#3
0
    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);
        }
    }