Example #1
0
 public AgentDNA()
 {
     alimentation = EvolutionNames.Alimentation.Omnivore;
     cached_float_values = new Dictionary<EvolutionNames.FloatDNA, float>();
     cached_bool_values = new Dictionary<EvolutionNames.BoolDNA, bool>();
     SetBaseValues();
 }
Example #2
0
 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();
     }
 }
Example #3
0
 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);
 }