public static void CreateMonkey(float speed, float foodViewRange, float waterViewRange, Vector3 spawnPosition, BiologicalSex sex) { MonkeyDNA dna = new MonkeyDNA(); Mutation mutation = new Mutation(); dna.speed = mutation.MutateGene(speed, DNA.SPEED_MIN, DNA.SPEED_MAX); dna.foodViewRange = mutation.MutateGene(foodViewRange, DNA.FOODVIEWRANGE_MIN, DNA.FOODVIEWRANGE_MAX); dna.waterViewRange = mutation.MutateGene(waterViewRange, DNA.WATERVIEWRANGE_MIN, DNA.FOODVIEWRANGE_MAX); dna.sex = sex; Monkey monkey; if (dna.sex == BiologicalSex.Male) { monkey = Instantiate(Instance.maleMonkey, spawnPosition, Quaternion.identity).GetComponent <Monkey>(); } else { monkey = Instantiate(Instance.femaleMonkey, spawnPosition, Quaternion.identity).GetComponent <Monkey>(); } AnimalStatistics.Instance.AddAnimal(monkey); monkey.Initialize(dna); }
public void Initialize(MonkeyDNA dna) { this.dna = dna; speed = dna.speed; foodViewRange = dna.foodViewRange; waterViewRange = dna.waterViewRange; sex = dna.sex; }
public new void Initialize(MonkeyDNA dna) { print(dna.sex); print(babyDNA.sex); babyDNA = dna; speed = dna.speed; foodViewRange = dna.foodViewRange; waterViewRange = dna.waterViewRange; sex = dna.sex; }
public static void CreateBabyMonkey(MonkeyDNA motherDNA, MonkeyDNA fatherDNA, Transform mother) { MonkeyDNA dna = new MonkeyDNA(); Mutation mutation = new Mutation(); Crossover crossover = new Crossover(); dna.speed = mutation.MutateGene(crossover.Cross(motherDNA.speed, fatherDNA.speed), DNA.SPEED_MIN, DNA.SPEED_MAX); dna.foodViewRange = mutation.MutateGene(crossover.Cross(motherDNA.foodViewRange, fatherDNA.foodViewRange), DNA.FOODVIEWRANGE_MIN, DNA.FOODVIEWRANGE_MAX); dna.waterViewRange = mutation.MutateGene(crossover.Cross(motherDNA.waterViewRange, fatherDNA.waterViewRange), DNA.WATERVIEWRANGE_MIN, DNA.FOODVIEWRANGE_MAX); dna.sex = mutation.RandomizeSex(); var monkey = Instantiate(Instance.babyMonkey, mother.position, Quaternion.identity).GetComponent <BabyMonkey>(); AnimalStatistics.Instance.AddAnimal(monkey.matureMaleMonkey); monkey.Initialize(dna); }
protected virtual void Reproduce(MonkeyDNA dna) { }