public AgentDNA() { alimentation = EvolutionNames.Alimentation.Omnivore; cached_float_values = new Dictionary<EvolutionNames.FloatDNA, float>(); cached_bool_values = new Dictionary<EvolutionNames.BoolDNA, bool>(); SetBaseValues(); }
public void UpdateDNAByTrait(Trait trait) { //Debug.Log (trait); if (trait == null) return; foreach (TraitModifier tm in trait.GetComponents<TraitModifier>()) { //Debug.Log (tm); if (tm as FloatTraitModifier != null) UpdateDNAByFloatTrait((FloatTraitModifier)tm); if(tm as BoolTraitModifier != null) UpdateDNAByBoolTrait((BoolTraitModifier)tm); if (tm as AlimentationTraitModifier != null) alimentation = ((AlimentationTraitModifier)tm).GetValue(); } }
public void Reset(SimpleGenome genome) { alimentation = EvolutionNames.Alimentation.Omnivore; cached_bool_values.Clear (); cached_float_values.Clear (); SetBaseValues(); UpdateDNAByTrait(genome.alimentation); UpdateDNAByTrait(genome.blood); UpdateDNAByTrait(genome.skin); foreach(Trait trait in genome.others) UpdateDNAByTrait(trait); }