IEnumerator Evolve() { evolutionShowing = true; Patents.Sort((p1, p2) => p1.dateGranted.CompareTo(p2.dateGranted)); Patents.ForEach(p => p.AssociatedGameObject.SetActive(false)); DateTime currentTime = DateTime.MinValue; currentTime = currentTime.AddYears(2000); while (currentTime < DateTime.Today) { foreach (Patent p in Patents) { if (currentTime > p.dateGranted) { p.AssociatedGameObject.SetActive(true); } } currentTime = currentTime.AddMonths(1); yield return(null); } evolutionShowing = false; }
private void Awake() { using (var r = new StreamReader(PatentJsonFileLocation)) { var json = r.ReadToEnd(); Patents = JsonConvert.DeserializeObject <List <Patent> >(json); Patents.ForEach(p => p.Alpha = PatentConfig["DefaultAlpha"].FloatValue); Patents.ForEach(p => p.Size = PatentConfig["InitialSize"].FloatValue); GameObjectToPatent = new Dictionary <GameObject, Patent>(Patents.Count); Patents.ForEach(p => GameObjectToPatent.Add(p.AssociatedGameObject, p)); PatentIdToPatent = new Dictionary <string, Patent>(Patents.Count); Patents.ForEach(p => PatentIdToPatent.Add(p.patentID, p)); } }