Esempio n. 1
0
 public UnitParent[] GetSelectedParentsAsArray()
 {
     UnitParent[] array = new UnitParent[selectedParents.Count];
     for (int i = 0; i < selectedParents.Count; i++)
     {
         array[i] = selectedParents[i];
     }
     return(array);
 }
Esempio n. 2
0
    public void ResetSelectedParents()
    {
        int c = selectedParents.Count;

        for (int i = 0; i < c; i++)
        {
            UnitParent up = selectedParents[0];
            RemoveParentFromSelected(up);
            up.setSelected(false);
        }
        UpdateCutButton();
    }
Esempio n. 3
0
 public void RemoveParentFromSelected(UnitParent parent)
 {
     selectedParents.Remove(parent);
     UpdateUnitCount();
 }
Esempio n. 4
0
 public void AddParentToSelected(UnitParent parent)
 {
     selectedParents.Add(parent);
     UpdateCutButton();
     UpdateUnitCount();
 }
Esempio n. 5
0
    private void Cut(int woodPrice, int munsPrice, float time, string sound)
    {
        int c = selectedParents.Count;

        if (sound == "sawing")
        {
            workerCount -= c;
        }
        else if (sound == "machinery")
        {
            machineCount -= c;
        }
        else if (sound == "team")
        {
            teamCount -= c;
        }

        UpdateUnitCount();

        int wood = 0;
        int muns = 0;

        float audioXMin = 100f;
        float audioZMin = 100f;
        float audioXMax = 0f;
        float audioZMax = 0f;

        for (int i = 0; i < c; i++)
        {
            UnitParent up = selectedParents[0];
            if (audioXMin > up.transform.position.x)
            {
                audioXMin = up.transform.position.x;
            }
            if (audioXMax < up.transform.position.x + up.unit.getSize().x)
            {
                audioXMax = up.transform.position.x + up.unit.getSize().x;
            }
            if (audioZMin > up.transform.position.z)
            {
                audioZMin = up.transform.position.z;
            }
            if (audioZMax < up.transform.position.z + up.unit.getSize().y)
            {
                audioZMax = up.transform.position.z + up.unit.getSize().y;
            }
            RemoveParentFromSelected(up);
            up.CutDownUnit(time);
            wood += woodPrice;
            muns += munsPrice;
        }

        AddToWoodCount(wood);
        AddMoney(muns);

        float audioX = (audioXMin + audioXMax) / 2;
        float audioZ = (audioZMin + audioZMax) / 2;

        GameObject go = (GameObject)Instantiate(Resources.Load("CuttingAudio"),
                                                new Vector3(audioX, Terrain.activeTerrain.SampleHeight(new Vector3(audioX, 100f, audioZ)), audioZ),
                                                Quaternion.Euler(Vector3.forward));

        AudioSource a = go.GetComponent <AudioSource>();

        a.clip = (AudioClip)Resources.Load(sound);
        if (sound == "machinery")
        {
            a.volume -= 0.4f;
        }
        a.Play();
        if (sound == "team")
        {
            // Let the Team cutting sound go on for its length
            GameObject.Destroy(go, a.clip.length);
        }
        else
        {
            GameObject.Destroy(go, time);
        }
    }