public static void addKoalaJob(TrainingFacility fac, Koala k) { bool b = true; foreach (object[] ob in koalaToJob) { if (((Koala)ob[0]).Equals(k)) { b = false; } } if (b) { object[] ob = new object[2]; ob[0] = k; ob[1] = fac; koalaToJob.Add(ob); } }
public void setTrainingFacility(TrainingFacility tf) { this.tf = tf; }
//For time related stuffies, use FixedUpdate void Start() { terrain = GameObject.FindGameObjectWithTag("terrain"); RAND_Day = Random.Range(2, 6); events.Add(Events.DUST_STORM); events.Add(Events.EARTHQUAKE); events.Add(Events.METEOR); events.Add(Events.SOLAR_FLARE); timeScale = PlayerPrefs.GetInt("TimeScale"); Time.timeScale = .1f; DirectoryInfo d = new DirectoryInfo(@Application.dataPath); IFormatter formatter = new BinaryFormatter(); FileInfo[] pdFiles = d.Parent.GetFiles("Assetspd.bin"); foreach (FileInfo f in pdFiles) { Stream stream = new FileStream(f.Name, FileMode.Open, FileAccess.Read, FileShare.Read); pd = (PlayerData)formatter.Deserialize(stream); stream.Close(); days = pd.getDayCount(); years = pd.getYearCount(); minutes = pd.getMinuteCount(); Debug.Log(pd.getFoodSupply()); Debug.Log(pd.getWaterSupply()); } if (pd == null) { pd = new PlayerData(1500, 1500, 1000, 500); FileInfo[] allBinFiles = d.Parent.GetFiles("*.bin"); foreach (FileInfo f in allBinFiles) { f.Delete(); } for (int i = 0; i < 10; i++) { System.Random rnd = new System.Random(); koalas.Add(new Koala(NameDictionary.firstNames[rnd.Next(NameDictionary.firstNames.Length)] + " " + NameDictionary.lastNames[rnd.Next(NameDictionary.lastNames.Length)], 0, rnd.Next(2) + 1, rnd.Next(2) + 1, rnd.Next(2) + 1, Storage.days, Random.Range(1, 3))); } Debug.Log("New game"); } else { FileInfo[] tbFiles = d.Parent.GetFiles("*tb.bin"); foreach (FileInfo f in tbFiles) { Stream stream = new FileStream(f.Name, FileMode.Open, FileAccess.Read, FileShare.Read); Facility fac = (Facility)formatter.Deserialize(stream); Storage.allTB.Add(fac); fac.create(); stream.Close(); Debug.Log(f.Name); } FileInfo[] tfFiles = d.Parent.GetFiles("*tf.bin"); foreach (FileInfo f in tfFiles) { Stream stream = new FileStream(f.Name, FileMode.Open, FileAccess.Read, FileShare.Read); TrainingFacility tf = (TrainingFacility)formatter.Deserialize(stream); tf.create(); allTF.Add(tf); stream.Close(); } FileInfo[] files = d.Parent.GetFiles("*koala.bin"); foreach (FileInfo f in files) { Stream stream = new FileStream(f.Name, FileMode.Open, FileAccess.Read, FileShare.Read); Koala ko = (Koala)formatter.Deserialize(stream); koalas.Add(ko); stream.Close(); } } FileInfo[] fe = d.Parent.GetFiles("*.bin"); foreach (FileInfo f in fe) { f.Delete(); } }
internal static void create(GameObject gameObject, Vector3 vector3, Quaternion identity, float x, float y, float z, TrainingFacility fac) { GameObject g = (GameObject)Instantiate(gameObject, vector3, identity); Vector3 v = new Vector3(x, y, z); g.transform.eulerAngles = v; g.tag = "inGame"; g.AddComponent <TrainingFacilityFacility>(); g.GetComponent <TrainingFacilityFacility>().setTrainingFacility(fac); }
void Start() { Text observatory_cap = GameObject.FindGameObjectWithTag("observatory_cap").GetComponent <Text>(); Text agriculture_cap = GameObject.FindGameObjectWithTag("agriculture_cap").GetComponent <Text>(); Text water_cap = GameObject.FindGameObjectWithTag("water_cap").GetComponent <Text>(); Text mining_cap = GameObject.FindGameObjectWithTag("mining_cap").GetComponent <Text>(); Text training_cap = GameObject.FindGameObjectWithTag("training_cap").GetComponent <Text>(); Text launchpad_cap = GameObject.FindGameObjectWithTag("launchpad_cap").GetComponent <Text>(); Text powerplant_cap = GameObject.FindGameObjectWithTag("powerplant_cap").GetComponent <Text>(); Text living_cap = GameObject.FindGameObjectWithTag("living_cap").GetComponent <Text>(); Text observatory_health = GameObject.FindGameObjectWithTag("observatory_health").GetComponent <Text>(); Text agriculture_health = GameObject.FindGameObjectWithTag("agriculture_health").GetComponent <Text>(); Text water_health = GameObject.FindGameObjectWithTag("water_health").GetComponent <Text>(); Text mining_health = GameObject.FindGameObjectWithTag("mining_health").GetComponent <Text>(); Text training_health = GameObject.FindGameObjectWithTag("training_health").GetComponent <Text>(); Text launchpad_health = GameObject.FindGameObjectWithTag("launchpad_health").GetComponent <Text>(); Text powerplant_health = GameObject.FindGameObjectWithTag("powerplant_health").GetComponent <Text>(); Text living_health = GameObject.FindGameObjectWithTag("living_health").GetComponent <Text>(); String[] facilityNameArray = new string[8] { "Observatory", "Agriculture Facility", "Water Purification Facility", "Mining Facility", "Training Facility", "Launch Pad", "Power Plant", "Living Facility" }; /* Capacity = (# of buildings) * (max per building) */ /* Full = # koalas per building */ /* Empty = capacity - full */ /* Health = average of each building's health */ /* THERE ARE A TOTAL OF 8 TYPES OF BUILDINGS */ int capacity = 0; int full = 0; int empty = 0; int num_buildings = 0; int facility_maxWorkers = 0; float health = 0; for (int i = 0; i < 8; i++) { if (facilityNameArray[i].ToLower().Contains("training")) { facility_maxWorkers = 4; } else { facility = FacilityType.getFacilityByName(facilityNameArray[i]); facility_maxWorkers = facility.getMaxWorkers(); } List <object> obs = new List <object>(); foreach (Facility fac in Storage.allTB) { obs.Add(fac); } foreach (TrainingFacility tf in Storage.allTF) { obs.Add(tf); } foreach (object f in obs) { if (f is Facility) { Facility fac = (Facility)f; // getFacilityType does not return String type if (fac.getFacilityType().Equals(facilityNameArray[i]) && !facilityNameArray[i].ToLower().Contains("training")) { num_buildings++; full += fac.getKoalas().Count; health += fac.getHP(); } } else { TrainingFacility tf = (TrainingFacility)f; num_buildings++; full += tf.getTrainees().Count + tf.getTrainers().Count; health += tf.getHP(); } } capacity = facility_maxWorkers * num_buildings; empty = capacity - full; health = health / num_buildings; /* String builder */ switch (i) { case 0: observatory_cap.text = full + "F/" + empty + "E"; observatory_health.text = health + "%"; break; case 1: agriculture_cap.text = full + "F/" + empty + "E"; agriculture_health.text = health + "%"; break; case 2: water_cap.text = full + "F/" + empty + "E"; water_health.text = health + "%"; break; case 3: mining_cap.text = full + "F/" + empty + "E"; mining_health.text = health + "%"; break; case 4: training_cap.text = full + "F/" + empty + "E"; training_health.text = health + "%"; break; case 5: launchpad_cap.text = full + "F/" + empty + "E"; launchpad_health.text = health + "%"; break; case 6: powerplant_cap.text = full + "F/" + empty + "E"; powerplant_health.text = health + "%"; break; case 7: living_cap.text = full + "F/" + empty + "E"; living_health.text = health + "%"; break; } num_buildings = 0; full = 0; health = 0; } this.gameObject.SetActive(false); }