示例#1
0
 private void HandleFieldOfView()
 {
     if (useFieldOfView)
     {
         if (fieldOfViewController == null)
         {
             fieldOfViewController = GetComponentInChildren <FieldOfViewController>();
         }
         fieldOfViewController.viewAngle    = fieldOfViewAngle;
         fieldOfViewController.viewDistance = fieldOfViewDistance;
     }
 }
示例#2
0
 public void Init(AIStateController stateCon)
 {
     stateController               = stateCon;
     fieldOfViewController         = stateCon.GetComponentInChildren <FieldOfViewController>();
     inventoryController           = stateCon.GetComponent <AIInventoryController>();
     movementController            = stateCon.GetComponent <AIMovementController>();
     animController                = stateCon.GetComponent <AnimationController>();
     lineOfSightObstaclesLayerMask = Resources.Load("LayerMasks/LayerMask_AI_Line Of Sight Obstacles") as ScriptableLayerMask;
     deltaTime           = GetResource.DeltaTimer();
     runtimeWeaponInHand = inventoryController.currentWeaponRuntime;
     inventoryController.currentWeaponRuntime.AttackCooldownEnd();
     inventoryController.rangedWeaponRuntime.currentAmmoInMagazine = inventoryController.rangedWeaponRuntime.rangedData.maxMagazineAmmoAmount;
 }
示例#3
0
        public override void Init()
        {
            aiManager       = FindObjectOfType <AIManager>();
            limbsController = GetComponentInChildren <LimbsController>();

            animHook = GetComponentInChildren <AnimatorHookAI>();
            if (animHook == null)
            {
                animHook = GetComponentInChildren <Animator>().gameObject.AddComponent <AnimatorHookAI>();
            }

            hitboxController      = GetComponentInChildren <HitboxController>();
            aiTroopController     = GetComponent <AITroopController>();
            animController        = GetComponent <AnimationController>();
            movementController    = GetComponent <AIMovementController>();
            inventoryController   = GetComponent <AIInventoryController>();
            healthController      = GetComponent <HealthController>();
            searchController      = GetComponent <AISearchAlertController>();
            aiAlertController     = GetComponent <AIAlertController>();
            fieldOfViewController = GetComponentInChildren <FieldOfViewController>();
            notificationHandler   = GetComponentInChildren <AINotificationHandler>();
            aiStateController     = GetComponent <AIStateController>();

            UpdateTransformLayer(); //Assign Correct Layer to Game Object

            //Init Assigned Components
            limbsController.Init();
            hitboxController.Init();
            aiTroopController.Init();
            animController.Init();
            animHook.Init();
            movementController.Init();
            inventoryController.Init();
            healthController.Init();
            searchController.Init();
            aiAlertController.Init();
            fieldOfViewController.Init();
            aiStateController.Init();
            notificationHandler.Init();
        }
示例#4
0
 void OnEnable()
 {
     m_fov = GetComponent <FieldOfViewController>();
 }
示例#5
0
 public override void Init()
 {
     searchNotificationMask = Resources.Load("LayerMasks/LayerMask_Enemy Notifications") as ScriptableLayerMask;
     searchAlertController  = GetComponent <AISearchAlertController>();
     fieldOfViewController  = GetComponentInChildren <FieldOfViewController>();
 }