public void SpawnTribe(AnimalProperties properties) { Tribe tribe = new Tribe(_world, properties); tribe.TribeColor = new Color(255, 255, 255); AddTribe(tribe); }
public void CreateRandomTribes(int numberOfTribes) { for (int i = 0; i != numberOfTribes; ++i) { AnimalProperties properties = new AnimalProperties(); properties.Agility = 1 + RandomGenerator.Random.Next(0, 2); properties.Stamina = 1 + RandomGenerator.Random.Next(0, 3); properties.Strength = 1 + RandomGenerator.Random.Next(0, 3); properties.Diet = AnimalProperties.DietType.CARNIVORE; properties.GroupBehaviour = 1 + RandomGenerator.Random.Next(0, 6);; properties.PreferredAltitude = 50 + RandomGenerator.Random.Next(-40, 40);; properties.PreferredTemperature = 300 + +RandomGenerator.Random.Next(-40 + 40);; properties.PreferredTerrain = AnimalProperties.TerrainType.LAND; properties.NumberOfAnimals = 10 + RandomGenerator.Random.Next(0, 20); Tribe tribe = new Tribe(_world, properties); tribe.PositionInTiles = RandomGenerator.GetRandomVector2iInRect(new IntRect(0, 0, _world.GetWorldProperties().WorldSizeInTiles.X, _world.GetWorldProperties().WorldSizeInTiles.Y)); for (int j = 0; j != properties.NumberOfAnimals; ++j) { tribe.SpawnAnimal(); } _tribeList.Add(tribe); } }
// Use this for initialization void Start() { animalProperty = this.gameObject.GetComponent <AnimalProperties>(); animalController = this.gameObject.GetComponent <AnimalController>(); animalProperty.currentVel = new Vector3(Random.Range(500.0F, 1000.0F), Random.Range(100.0F, 1000.0F), 0); animalProperty.currentVel = Vector3.Normalize(animalProperty.currentVel) * animalProperty.maxSpeed * Time.deltaTime; animalProperty.acceleration = Vector3.zero; }
private float _fuckDeadTime; // will also use MoveTimerMax public Animal(AnimalProperties properties, IWorld world, Tribe tribe, Vector2i initialPosition) { World = world; Tribe = tribe; _shape = new CircleShape(TileSizeInPixels / 2.0f - 1.0f); PositionInTiles = initialPosition; CalculateAnimalParameters(properties); _intelligence = new AnimalAI(this); }
public Tribe(IWorld world, AnimalProperties properties) { if (world == null) { throw new ArgumentNullException("IWorld world", "could not resolve world in Tribe Constructor."); } _world = world; _animalList = new List <Animal>(); Properties = properties; PositionInTiles = new Vector2i(_world.GetWorldProperties().WorldSizeInTiles.X / 2, _world.GetWorldProperties().WorldSizeInTiles.Y / 2); TribeColor = RandomGenerator.GetRandomColor(); }
private void CalculateAnimalParameters(AnimalProperties prop) { HealthMax = 5 + prop.Stamina * 5 + prop.Strength * 3; HealthCurrent = HealthMax; HealthRegeneration = prop.Stamina * 0.5f; MoveTimerMax = 1.0f / (prop.Agility + 1.0f); //Console.WriteLine("Move Timer is " + MoveTimerMax); Hunger = (prop.Strength + prop.Stamina) * 0.5f; PreferredAltitude = prop.PreferredAltitude; PreferredTerrain = prop.PreferredTerrain; PreferredTemperature = prop.PreferredTemperature; GroupBehaviour = prop.GroupBehaviour / 15.0f - 0.1f; }
// Use this for initialization void Start() { animalProperties = this.gameObject.GetComponent <AnimalProperties>(); steeringBehaviour = this.gameObject.GetComponent <Steering>(); renderer = this.GetComponent <Renderer>(); }
// Use this for initialization void Start() { animalController = this.gameObject.GetComponent <AnimalController>(); animalProperty = this.gameObject.GetComponent <AnimalProperties>(); }