Esempio n. 1
0
        private void Start()
        {
            //set components
            navigator = GetComponent <NavMeshAgent>();
            if (GetComponent <DetectionMeter>())
            {
                detection = GetComponent <DetectionMeter>();
            }

            if (pathParent && pathParent.GetComponent <PathController>())
            {
                pathController = pathParent.GetComponent <PathController>();
            }

            //set search pos
            lastKnownPlayerPosition = Vector3.zero;
            SearchPosition          = Vector3.zero;

            //set FOV
            CurrentFOV = patrolFOV;

            //set current point to first point
            if (pathController && pathController.listPoints.Count > 0)
            {
                currentPathPoint = pathController.listPoints[0];
            }
            currentListIndex = 0;

            //find the player
            if (player == null)
            {
                player = GameObject.FindGameObjectWithTag("Player");
                if (player == null)
                {
                    player = GameObject.FindGameObjectWithTag("Player");
                    if (player.transform.root.gameObject.tag == "Player")
                    {
                        player = player.transform.root.gameObject;
                    }
                }
            }

            //check if player has detection component
            if (player.GetComponent <PlayerDetection>())
            {
                playerDetection  = player.GetComponent <PlayerDetection>();
                playerComponents = playerDetection.components;
            }

            if (headTransform == null)
            {
                headTransform = transform;
            }

            //set state
            currentState = StealthState.PATROL;
            EnterPatrol();
        }
Esempio n. 2
0
        public override void OnInspectorGUI()
        {
            DrawDefaultInspector();

            //create detection meter button
            DetectionMeter detectionScript = (DetectionMeter)target;

            if (GUILayout.Button("Add Detection Meter"))
            {
                detectionScript.CreateDetectionMeter();
            }
        }