override protected void Awake() { base.Awake(); m_personality = EnemyPersonality.Cautious; m_currentReaction = EnemyReaction.Neutral; m_state = EnemyState.None; }
public override void OnHitFinished() { base.OnHitFinished(); Color c = m_renderer.color; c.a = 1.0f; m_renderer.color = c; ChangeReaction(EnemyReaction.Hostile); m_currentReaction = EnemyReaction.Hostile; List <Entity> objects = GameplayManager.Instance.GetTargetsOnSight(this, s_excludedTargetTypes); if (objects.Count > 0) { m_state = EnemyState.Chasing; m_targetEntity = objects[0]; m_reactionTime = -1.0f; } else { m_state = EnemyState.Wandering; ResetWanderTarget(); m_reactionTime = Time.time; } m_reactionDuration = m_hostileOnHitDuration; Debug.LogFormat("{0} goes hostile upon being hit", name); GameplayManager.Instance.OnEnemyWasHit(this); }
public void ChangeReaction(EnemyReaction reaction) { m_currentReaction = reaction; Color newC = m_currentReaction == EnemyReaction.Neutral ? m_neutralColour : m_hostileColour; newC.a = m_renderer.color.a; m_renderer.color = newC; m_renderer.sprite = m_currentReaction == EnemyReaction.Neutral ? m_neutralSprite : m_hostileSprite; }
protected override void Awake() { base.Awake(); m_personality = EnemyPersonality.Cautious; m_currentReaction = EnemyReaction.Neutral; m_state = EnemyState.None; }
public override void OnHitFinished() { base.OnHitFinished(); Color c = m_renderer.color; c.a = 1.0f; m_renderer.color = c; ChangeReaction(EnemyReaction.Hostile); m_currentReaction = EnemyReaction.Hostile; List<Entity> objects = GameplayManager.Instance.GetTargetsOnSight(this, s_excludedTargetTypes); if (objects.Count > 0) { m_state = EnemyState.Chasing; m_targetEntity = objects[0]; m_reactionTime = -1.0f; } else { m_state = EnemyState.Wandering; ResetWanderTarget(); m_reactionTime = Time.time; } m_reactionDuration = m_hostileOnHitDuration; Debug.LogFormat("{0} goes hostile upon being hit", name); GameplayManager.Instance.OnEnemyWasHit(this); }