/// <summary> /// Assignments and code called on start. /// </summary> public virtual void OnStart() { stats = GetComponent <Stats>(); anim = GetComponent <Animator>(); animController = GetComponent <AIAnimationController>(); audioSource = GetComponent <AudioSource>(); state = CreatureState.Idle; allegiance = CreatureAllegiance.Neutral; stats.currentMoveSpeed = stats.defaultMoveSpeed; }
// Start is called before the first frame update void Start() { navMesh = GetComponent <NavMeshAgent>(); anim = GetComponent <Animator>(); rb = GetComponent <Rigidbody>(); audioSource = GetComponent <AudioSource>(); state = CreatureState.Idle; navMesh.speed = speed; state = CreatureState.Idle; allegiance = CreatureAllegiance.Neutral; player = FindObjectOfType <PlayerController>(); winConditionManager = FindObjectOfType <WinConditionManager2>(); }
public void Eat(int foodCode) { if (foodCode == 1) //Normal feed { audioSource.PlayOneShot(eat); winConditionManager.IsFed(true); fedCount++; Instantiate(Resources.Load("EatParticlesBlue"), transform.position + transform.forward + transform.up, transform.rotation); if (fedCount >= requiredFeedCount && allegiance == CreatureAllegiance.Neutral) { allegiance = CreatureAllegiance.Friendly; hasTurned = true; } } else if (foodCode == 2) //Bad feed { audioSource.PlayOneShot(eat); audioSource.PlayOneShot(attack); Instantiate(Resources.Load("EatParticlesRed"), transform.position + transform.forward + transform.up, transform.rotation); if (allegiance == CreatureAllegiance.Neutral) { allegiance = CreatureAllegiance.Hostile; hasTurned = true; } } else if (foodCode == 3) //Cure { audioSource.PlayOneShot(eat); Instantiate(Resources.Load("EatParticlesGreen"), transform.position + transform.forward + transform.up, transform.rotation); if (allegiance == CreatureAllegiance.Hostile) { allegiance = CreatureAllegiance.Neutral; state = CreatureState.Idle; hasTurned = true; } } }