protected override void OnEnter() { m_creature.m_audioSource.PlayOneShot(m_creature.m_audioClips[0]); m_emoteIcon.SetActive(true); var targetPosition = Vector3.zero; if (m_blackboardValues.ContainsKey(LAST_BELL)) { targetPosition = (Vector3)m_blackboardValues[LAST_BELL]; // ZAS: We are consuming this event m_blackboardValues.Remove(LAST_BELL); } else if (m_blackboardValues.ContainsKey(FOOD)) { targetPosition = (Vector3)m_blackboardValues[FOOD]; // ZAS: We are consuming this event m_blackboardValues.Remove(FOOD); } else { var randomInCircle = UnityEngine.Random.insideUnitCircle; targetPosition = m_creatureTransform.position + (new Vector3(randomInCircle.x, 0f, randomInCircle.y) * m_creature.Stats.MovementSpeed); } targetPosition = m_environmentController.GetClosesValidPoint(targetPosition); MoveToTargetAsync(targetPosition); }