示例#1
0
文件: Enemy.cs 项目: wildrabbit/ld33
 override protected void Awake()
 {
     base.Awake();
     m_personality     = EnemyPersonality.Cautious;
     m_currentReaction = EnemyReaction.Neutral;
     m_state           = EnemyState.None;
 }
示例#2
0
文件: Enemy.cs 项目: wildrabbit/ld33
    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);
    }
示例#3
0
文件: Enemy.cs 项目: wildrabbit/ld33
    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;
    }
示例#4
0
文件: Enemy.cs 项目: wildrabbit/ld33
    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;
    }
示例#5
0
文件: Enemy.cs 项目: wildrabbit/ld33
 protected override void Awake()
 {
     base.Awake();
     m_personality = EnemyPersonality.Cautious;
     m_currentReaction = EnemyReaction.Neutral;
     m_state = EnemyState.None;
 }
示例#6
0
文件: Enemy.cs 项目: wildrabbit/ld33
    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);
    }