Exemplo n.º 1
0
        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);
        }