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 }
// 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(); }
public override Gene CopyGene() { Gene copied = new ViewRadius(this.value); return(copied); }