Ejemplo n.º 1
0
    void HireVillager()
    {
        if (RM.gold >= villagerUC.gold && RM.wood >= villagerUC.wood && RM.food >= villagerUC.food && RM.iron >= villagerUC.iron && RM.steel >= villagerUC.steel && RM.skymetal >= villagerUC.skymetal && RM.stone >= villagerUC.stone && RM.housing < RM.maxHousing)
        {
            UI.TownHallTraining();
            RM.gold       -= villagerUC.gold;
            RM.wood       -= villagerUC.wood;
            RM.food       -= villagerUC.food;
            RM.iron       -= villagerUC.iron;
            RM.steel      -= villagerUC.steel;
            RM.skymetal   -= villagerUC.skymetal;
            RM.stone      -= villagerUC.stone;
            RM.housing    += 1;
            selectedObj    = inputScript.selectedObj;
            townHallScript = selectedObj.GetComponent <TownHallController>();
            buildingScript = selectedObj.GetComponent <BuildingController>();


            //  spawnPosition = new Vector3(buildingScript.location.x, buildingScript.location.y, buildingScript.location.z +50f);
            playerAudio.clip = trainVillagerAudio;
            playerAudio.Play();
            townHallScript.HireVillager();
        }
        else
        {
            UI.noResourcesText.SetActive(true);
            StartCoroutine(Wait());
        }
    }
Ejemplo n.º 2
0
    void Start()
    {
        if (townHallBuildings == null || townHallBuildings.Length == 0)
        {
            townHallBuildings = GetComponentsInChildren <TownHallController>();
        }

        if (townHallBuildings.Length > 0)
        {
            activeTownHall = townHallBuildings[0];
        }
    }
Ejemplo n.º 3
0
    public void SetTier(int tier)
    {
        this.tier = tier;

        foreach (var townHall in townHallBuildings)
        {
            townHall.gameObject.SetActive(false);
        }

        if (tier >= townHallBuildings.Length)
        {
            tier = townHallBuildings.Length - 1;
        }

        activeTownHall = townHallBuildings[tier];
        activeTownHall.gameObject.SetActive(true);
    }
Ejemplo n.º 4
0
    void Start()
    {
        if (!info)
        {
            info = FindObjectOfType <TownHallInfoManager>();
        }

        if (townHallBuildings == null || townHallBuildings.Length == 0)
        {
            townHallBuildings = GetComponentsInChildren <TownHallController>();
        }

        if (townHallBuildings.Length > 0)
        {
            activeTownHall = townHallBuildings[0];
        }
    }
Ejemplo n.º 5
0
    // Left click controller
    public void LeftClick()
    {
        // Check for all selectable units in the game
        Ray        ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        RaycastHit hit;

        if (Physics.Raycast(ray, out hit, 350))
        {
            if (hit.collider.tag == "Ground" && (!Input.GetKey(KeyCode.LeftShift)))
            {
                DeselectUnits();
                UI.CloseAllPanels();
            }
            else if (hit.collider.tag == "Enemy Unit" && (!Input.GetKey(KeyCode.LeftShift)))
            {
                DeselectUnits();
                selectedObj  = hit.collider.gameObject;
                selectedInfo = selectedObj.GetComponent <UnitSelection>();
                unitScript   = selectedObj.GetComponent <UnitController>();

                selectedInfo.selected = true;
                //  OPEN ENEMY PANELS!!
                // UnitSelection indicators
                selectedObj.transform.GetChild(2).gameObject.GetComponent <Projector>().material.SetColor("_Color", Color.red);
                selectedObj.transform.GetChild(2).gameObject.SetActive(true);
                // unitAudio = selectedObj.GetComponent<AudioSource>();
                // unitAudio.clip = unitAudioClip;
                // unitAudio.Play();
                // isSelected = true;
                UI.EnemySelect();
            }
            else if (hit.collider.tag == "Selectable")
            {
                DeselectUnits();
                selectedObj = hit.collider.gameObject;
                if (!selectedObjects.Contains(selectedObj))
                {
                    selectedObjects.Add(selectedObj);
                }
                else
                {
                    selectedObjects.Remove(selectedObj);
                }

                selectedObj.transform.GetChild(2).gameObject.GetComponent <Projector>().material.SetColor("_Color", Color.green);
                selectedInfo = selectedObj.GetComponent <UnitSelection>();
                unitScript   = selectedObj.GetComponent <UnitController>();

                if (selectedInfo.selected == true)
                {
                    DeselectUnits();
                }
                else if (Input.GetKey(KeyCode.LeftShift))
                {
                    if (!unitScript.isDead)
                    {
                        selectedInfo.selected = true;

                        // UnitSelection indicators
                        selectedObj.transform.GetChild(2).gameObject.SetActive(true);
                        playerAudio.clip = unitAudioClip;
                        playerAudio.Play();
                        if (!unitScript.isDead)
                        {
                            isSelected = true;
                        }

                        if (unitScript.unitType == "Worker")
                        {
                            UI.WorkerSelect();
                        }
                        else if (unitScript.unitType == "Swordsman")
                        {
                            UI.SwordsmanSelect();
                        }
                        else if (unitScript.unitType == "Archer")
                        {
                            UI.ArcherSelect();
                        }
                        else if (unitScript.unitType == "Wizard")
                        {
                            UI.WizardSelect();
                        }
                        else if (unitScript.unitType == "Footman")
                        {
                            UI.FootmanSelect();
                        }
                    }
                }
                else
                {
                    if (!unitScript.isDead)
                    {
                        GameObject[] selectedIndicators = GameObject.FindGameObjectsWithTag("SelectedIndicator");
                        for (int j = 0; j < selectedIndicators.Length; j++)
                        {
                            selectedIndicators[j].transform.gameObject.SetActive(false);
                            selectedIndicators[j].transform.parent.GetComponent <UnitSelection>().selected = false;
                        }

                        selectedInfo.selected = true;

                        // UnitSelection indicators
                        selectedObj.transform.GetChild(2).gameObject.SetActive(true);
                        playerAudio.clip = unitAudioClip;
                        playerAudio.Play();
                        if (!unitScript.isDead)
                        {
                            isSelected = true;
                        }

                        if (unitScript.unitType == "Worker")
                        {
                            UI.WorkerSelect();
                        }
                        else if (unitScript.unitType == "Swordsman")
                        {
                            UI.SwordsmanSelect();
                        }
                        else if (unitScript.unitType == "Archer")
                        {
                            UI.ArcherSelect();
                        }
                        else if (unitScript.unitType == "Wizard")
                        {
                            UI.WizardSelect();
                        }
                        else if (unitScript.unitType == "Footman")
                        {
                            UI.FootmanSelect();
                        }
                    }
                }
            }
            else if (hit.collider.tag == "Enemy Unit" || hit.collider.tag == "Player 1" || hit.collider.tag == "Foundation" || hit.collider.tag == "Barracks" || hit.collider.tag == "House" || hit.collider.tag == "Resource" || hit.collider.tag == "Fort" || hit.collider.tag == "Blacksmith" || hit.transform.tag == "Stables")
            {
                UI.CloseAllPanels();
                if (selectedObjects.Count >= 0)
                {
                    DeselectUnits();
                }
                selectedObj = hit.collider.gameObject;

                if (selectedObj.tag == "Player 1")
                {
                    buildingScript = selectedObj.GetComponent <BuildingController>();

                    if (buildingScript.unitType == "Lumber Yard")
                    {
                        selectedObj.transform.GetChild(0).gameObject.SetActive(true);
                        UI.LumberYardSelect();
                    }
                    else if (buildingScript.unitType == "Town Hall")
                    {
                        selectedObj.transform.GetChild(0).gameObject.SetActive(true);
                        townHallScript = selectedObj.GetComponent <TownHallController>();
                        isTraining     = townHallScript.isTraining;
                        SwapProgressIcon();
                        if (isTraining)
                        {
                            UI.TownHallTraining();
                        }
                        else
                        {
                            UI.TownHallSelect();
                        }
                    }
                }
                else if (selectedObj.tag == "House")
                {
                    selectedObj.transform.GetChild(0).gameObject.SetActive(true);
                    UI.HouseSelect();
                }
                else if (selectedObj.tag == "Resource")
                {
                    selectedObj.transform.GetChild(0).gameObject.SetActive(true);
                    UI.ResourceSelect();
                }
                else if (selectedObj.tag == "Foundation")
                {
                    selectedObj.transform.GetChild(0).gameObject.SetActive(true);
                    foundationScript = selectedObj.GetComponent <FoundationController>();
                    isBuilding       = foundationScript.isBuilding;
                    if (isBuilding)
                    {
                        SwapProgressIcon();
                        UI.FoundationBuilding();
                    }
                    else
                    {
                        UI.FoundationSelect();
                    }
                }
                else if (selectedObj.tag == "Blacksmith")
                {
                    blacksmithScript = selectedObj.GetComponent <BlacksmithController>();
                    selectedObj.transform.GetChild(0).gameObject.SetActive(true);
                    isTraining = blacksmithScript.isTraining;
                    SwapProgressIcon();
                    if (isTraining)
                    {
                        UI.BlacksmithTraining();
                    }
                    else
                    {
                        UI.BlacksmithSelect();
                    }
                }
                else if (selectedObj.tag == "Barracks")
                {
                    selectedObj.transform.GetChild(0).gameObject.SetActive(true);
                    barracksScript = selectedObj.GetComponent <BarracksController>();
                    isTraining     = barracksScript.isTraining;
                    SwapProgressIcon();
                    if (isTraining)
                    {
                        UI.BarracksTraining();
                    }
                    else
                    {
                        UI.BarracksSelect();
                    }
                }
                else if (selectedObj.tag == "Stables")
                {
                    selectedObj.transform.GetChild(0).gameObject.SetActive(true);
                    UI.StablesSelect();
                }
            }
            else if (hit.collider.tag != "Selectable" && (!Input.GetKey(KeyCode.LeftShift)))
            {
                DeselectUnits();
                UI.CloseAllPanels();
            }
        }
    }