Example #1
0
    private bool AttackAttempt()
    {
        Collider targetCollider = null;

        if (paramManager.PlayerOwned)
        {
            targetCollider = worldObject.GetNearestEnemyTargetColliderInRange(paramManager.AggroRange);
        }
        else
        {
            targetCollider = WorkManager.DetermineNearestPlayerTargetColliderInRange(transform.position, paramManager.AggroRange);
        }
        if (targetCollider)
        {
            if (!unit.unitState.StateMidAnimation())
            {
                if (unit.unitState.GetType() != typeof(AttackState))
                {
                    unit.SetUnitState(new AttackState(unit, false));
                }
                unit.unitState.ReactToColliderFocus(targetCollider);
                return(true);
            }
        }
        return(false);
    }
Example #2
0
    //*******************************************
    //END GENERAL MOVEMENT METHODS
    //*******************************************



    //*******************************************
    //BEGIN PATROL METHODS
    //*******************************************

    public virtual void LookForTarget()
    {
        if (mySpawnerWorldObject && mySpawnerWorldObject.paramManager.PlayerOwned || player)
        {
            targetCollider = WorkManager.DetermineNearestEnemyTargetColliderInRange(transform.position, paramManager.AggroRange);
        }
        else if (mySpawnerWorldObject && !mySpawnerWorldObject.paramManager.PlayerOwned)
        {
            targetCollider = WorkManager.DetermineNearestPlayerTargetColliderInRange(transform.position, paramManager.AggroRange);
        }
    }
Example #3
0
 public virtual bool AbleToFindNewTarget()
 {
     if (paramManager.PlayerOwned)
     {
         targetCollider = worldObject.GetNearestEnemyTargetColliderInRange(paramManager.AggroRange);
     }
     else
     {
         targetCollider = WorkManager.DetermineNearestPlayerTargetColliderInRange(transform.position, 5);
     }
     if (targetCollider && targetCollider.gameObject.activeInHierarchy == false)
     {
         targetCollider = null;
     }
     if (targetCollider != null)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }