public MainCell(double x, double y, Creature creature, DNA dna) { base.Init(null, creature, int.Parse(dna.abstraction.GetElementsByTagName("size")[0].InnerText), x, y); this.dna = dna; color = dna.abstraction.GetElementsByTagName("color")[0].InnerText; foreach (XmlElement xml in dna.abstraction.ChildNodes) { double dir; int size; switch (xml.Name) { case "MainCell": dir = double.Parse(xml.GetElementsByTagName("dir")[0].InnerText); size = int.Parse(xml.GetElementsByTagName("size")[0].InnerText); Organs.Add(new MainCell((int)(x + size * Math.Cos(dir)), (int)(y + size * Math.Sin(dir)), new DNA(xml), creature)); break; case "Fin": dir = double.Parse(xml.GetElementsByTagName("dir")[0].InnerText); size = int.Parse(xml.GetElementsByTagName("size")[0].InnerText); Organs.Add(new Fin((x + size * Math.Cos(dir)), (y + size * Math.Sin(dir)), new DNA(xml), creature)); break; default: break; } } brainSpeed = int.Parse(dna.abstraction.GetElementsByTagName("brainSpeed")[0].InnerText); brainChange = double.Parse(dna.abstraction.GetElementsByTagName("brainChange")[0].InnerText); creature.iq += 4; }
public Eye(double x, double y, DNA dna, Organ parent) { base.Init(parent, int.Parse(dna.abstraction.GetElementsByTagName("size")[0].InnerText), x, y); amount = 3; foreach (XmlElement xml in dna.abstraction.GetElementsByTagName("MainCell")) { double dir; int size; switch (xml.Name) { case "MainCell": dir = double.Parse(xml.GetElementsByTagName("dir")[0].Value); size = int.Parse(xml.GetElementsByTagName("size")[0].Value); Organs.Add(new MainCell((int)(x + size * Math.Cos(dir)), (int)(y + size * Math.Sin(dir)), creature, new DNA(xml))); break; case "Fin": dir = double.Parse(xml.GetElementsByTagName("dir")[0].Value); size = int.Parse(xml.GetElementsByTagName("size")[0].Value); Organs.Add(new Fin((int)(x + size * Math.Cos(dir)), (int)(y + size * Math.Sin(dir)), this, new DNA(xml))); break; default: break; } } }
public void OnSow(SowPlant2Type Sow) { SowingData = Sow; // Go through all our children and find all organs. Organs.Clear(); foreach (object ChildObject in My.ChildrenAsObjects) { Organ Child = ChildObject as Organ; if (Child != null) { Organs.Add(Child); } } if (NewCrop != null) { NewCropType Crop = new NewCropType(); Crop.crop_type = CropType; Crop.sender = Name; NewCrop.Invoke(Crop); } if (Sowing != null) { Sowing.Invoke(); } // tell all our children about sow foreach (Organ Child in Organs) { Child.OnSow(Sow); } }
public MockForage(double liveWt) { Organs.Add(new MockOrgan(liveWt)); }