示例#1
0
 void Init()
 {
     wander             = true;
     reachedDestination = false;
     agent = GetComponent <NavMeshAgent>();
     //setup agent
     wanderMaxTime = UnityEngine.Random.Range(0f, 2f);
     wanderTimer   = 0f;
     #region SetTraits
     //set colour
     Colour colour = (Colour)genome.findGene("Colour");
     creatureGO.GetComponentInChildren <Renderer>().material.color = colour.value;
     //set movement speed
     movementSpeed = (MovementSpeed)genome.findGene("MovementSpeed");
     agent.speed   = movementSpeed.value;
     //set acceleration
     acceleration       = (Acceleration)genome.findGene("Acceleration");
     agent.acceleration = acceleration.value;
     //set view range
     viewRadius = (ViewRadius)genome.findGene("ViewRadius");
     creatureGO.GetComponent <SphereCollider>().radius = viewRadius.value;
     //set life span
     lifeSpan      = (LifeSpan)genome.findGene("LifeSpan");
     lifeSpanTimer = 0;
     #endregion
 }
示例#2
0
 // Use this for initialization
 void Start()
 {
     GameManager.instance.worldManager.allCreatures.Add(this);
     size = 0.5f;
     if (genome == null)
     {
         genome = new Genome();
         Colour color = new Colour(new Color32(50, 150, 122, 255));
         genome.Add(color);
         MovementSpeed movementSpeed = new MovementSpeed(10f);
         genome.Add(movementSpeed);
         ViewRadius viewRange = new ViewRadius(20f);
         genome.Add(viewRange);
         LifeSpan lifeSpan = new LifeSpan(40f);
         genome.Add(lifeSpan);
         Acceleration acceleration = new Acceleration(20f);
         genome.Add(acceleration);
     }
     Init();
 }
示例#3
0
    public override Gene CopyGene()
    {
        Gene copied = new ViewRadius(this.value);

        return(copied);
    }