public override Type Tick() { if (movement.currentTarget) { return(typeof(AttackState)); } if (movement.ReachedDestination()) { if (walking) { walking = false; nextWalk = Time.time + waitTime.GenerateRandom(); } else if (nextWalk < Time.time) { walking = true; movement.useSpeed = 0.6f; movement.agent.SetDestination( AIMovement.RandomNavSphere( movement.transform.position, walkRange.GenerateRandom(), -1)); } } return(GetType()); }