public Reproduce(Creature partner) { this.partner = partner; }
public FightCreature(Creature enemy) { this.enemy = enemy; }
public Entity ResourceInRadius(float radius, Creature c) { foreach (Entity ent in entities) { if ((ent.Position + ent.Origin - (c.Position + c.Origin)).Length() <= radius) { if (c is Herbivore) { if (ent is Resource) return ent; } else if (c is Carnivore) { if (ent is Herbivore || ent is Omnivore) return ent; } else if (c is Omnivore) { if (ent is Herbivore || ent is Carnivore || ent is Resource) return ent; } } } return null; }
protected override void Update(GameTime gameTime) { if (Keyboard.GetState().IsKeyDown(Keys.Escape)) Exit(); if (Mouse.GetState().LeftButton == ButtonState.Pressed) { //world.ResourceManager.addResource(Mouse.GetState().X, Mouse.GetState().Y); Entity ent = world.EntityManager.AtPosition(new Vector2(Mouse.GetState().X, Mouse.GetState().Y)); if (ent != null && ent is Creature) { inspecting = (Creature)ent; } Game1.particleEffects["Heart"].Trigger(new Vector2(Mouse.GetState().X, Mouse.GetState().Y)); } float deltaSeconds = (float)gameTime.ElapsedGameTime.TotalSeconds; foreach (KeyValuePair<string, ParticleEffect> particle in particleEffects) { ParticleEffect particleEffect = particle.Value; particleEffect.Update(deltaSeconds); } world.Update(gameTime); base.Update(gameTime); }
public void removeCreature(Creature creature) { if (creatures.Contains(creature)) creatures.Remove(creature); gameWorld.EntityManager.RemoveEntity(creature); }
public void addCreature(Creature creature) { if (!creatures.Contains(creature)) creatures.Add(creature); gameWorld.EntityManager.AddEntity(creature); }