public void LayEgg() { NoiseMaker.MakeNoise("Lay Egg", AI.Position, true, 1.0f); // Todo: Egg resource type and the baby made need to be in the species. if (!Library.DoesResourceTypeExist(Stats.CurrentClass.Name + " Egg") || !EntityFactory.EnumerateEntityTypes().Contains(Stats.CurrentClass.Name + " Egg Resource")) { var newEggResource = Library.CreateResourceType(Library.GetResourceType("Egg")); newEggResource.Name = Stats.CurrentClass.Name + " Egg"; Library.AddResourceType(newEggResource); } var parent = EntityFactory.CreateEntity <GameComponent>(Stats.CurrentClass.Name + " Egg Resource", Physics.Position); parent.AddChild(new Egg(parent, Stats.Species.BabyType, Manager, Physics.Position, AI.PositionConstraint)); }
public void LayEgg() { NoiseMaker.MakeNoise("Lay Egg", AI.Position, true, 1.0f); if (ResourceLibrary.GetResourceByName(Species + " Egg") == null || !EntityFactory.EnumerateEntityTypes().Contains(Species + " Egg Resource")) { Resource newEggResource = new Resource(ResourceLibrary.GetResourceByName(ResourceType.Egg)); newEggResource.Name = Species + " Egg"; ResourceLibrary.Add(newEggResource); } var parent = EntityFactory.CreateEntity <Body>(this.Species + " Egg Resource", Physics.Position); parent.AddChild(new Egg(parent, this.Species, Manager, Physics.Position, AI.PositionConstraint)); }
public Egg(string adult, ComponentManager manager, Vector3 position, BoundingBox positionConstraint) : base(manager) { PositionConstrain = positionConstraint; Adult = adult; Birthday = Manager.World.Time.CurrentDate + new TimeSpan(0, 12, 0, 0); if (ResourceLibrary.GetResourceByName(adult + " Egg") == null || !EntityFactory.EnumerateEntityTypes().Contains(adult + " Egg Resource")) { Resource newEggResource = new Resource(ResourceLibrary.GetResourceByName(ResourceType.Egg)); newEggResource.Name = adult + " Egg"; ResourceLibrary.Add(newEggResource); } ParentBody = EntityFactory.CreateEntity <Body>(adult + " Egg Resource", position); ParentBody.AddChild(this); }