Ejemplo n.º 1
0
 void Update()
 {
     if (m_player != null && m_triggerableAI.Active())
     {
         m_movement.MoveToPlayer();
     }
 }
Ejemplo n.º 2
0
    // Update is called once per frame
    void Update()
    {
        if (m_player != null && m_triggerableAI.Active())
        {
            if (m_move)
            {
                Vector2 playerPositionOffset = transform.position - m_player.transform.position;
                if (playerPositionOffset.magnitude > m_combatRange)
                {
                    m_movement.MoveToPlayer();
                }
            }

            if (m_attackSpeed > 0)
            {
                m_attackCooldown += Time.deltaTime;

                float attackRate = (1 / m_attackSpeed);
                if (m_attackCooldown > attackRate)
                {
                    Attack();
                    m_attackCooldown -= attackRate + Random.value * m_attackSpeedRand;
                }
            }
        }
    }