public UnitParent[] GetSelectedParentsAsArray() { UnitParent[] array = new UnitParent[selectedParents.Count]; for (int i = 0; i < selectedParents.Count; i++) { array[i] = selectedParents[i]; } return(array); }
public void ResetSelectedParents() { int c = selectedParents.Count; for (int i = 0; i < c; i++) { UnitParent up = selectedParents[0]; RemoveParentFromSelected(up); up.setSelected(false); } UpdateCutButton(); }
public void RemoveParentFromSelected(UnitParent parent) { selectedParents.Remove(parent); UpdateUnitCount(); }
public void AddParentToSelected(UnitParent parent) { selectedParents.Add(parent); UpdateCutButton(); UpdateUnitCount(); }
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); } }