private static void CreateCow(Flock flock, Vector2 startPosition, Vector2 startHeading) { //Creating cow Texture2D cowTexture = MainGame.Instance.Content.Load<Texture2D>(COW_TEXTURE_NAME); FlockEntity cow = new FlockEntity(EntityManager.EntityType.FlockMember, cowTexture, COW_WRAPS_AROUND, flock) { Scale = COW_SCALE, Position = startPosition, Heading = startHeading }; //Adding behaviour new ConstantPropulsion(cow, COW_PROPULSION); new FlockSteering(cow, COW_STEERING_FORCE); new Flee(cow, EntityManager.EntityType.Turret, COW_PROPULSION_INCREMENT, COW_FLEE_DETECTION_DISTANCE); new Flee(cow, EntityManager.EntityType.Projectile, COW_PROPULSION_INCREMENT, COW_FLEE_DETECTION_DISTANCE); }
/*Cows*/ private static void CreateCowFlock() { Flock flock = new Flock(); for (int i = 0; i < NUMBER_OF_COWS; i++) { CreateCow(flock, CreateRandomPosition(), CreateRandomHeading()); } }
//Constructors public FlockEntity(EntityManager.EntityType entityType, Texture2D startTexture, bool wrapsAround, Flock flock) : base(entityType, startTexture, wrapsAround) { this.flock = flock; this.flock.InsertFlockEntity(this); }