Ejemplo n.º 1
0
        // SCENE GUI: -----------------------------------------------------------------------------

        private void OnSceneGUI()
        {
            Transform sight = PerceptronSight.GetEyes(this.perception);

            Handles.color = Color.white;
            Handles.DrawWireArc(
                sight.position,
                Vector3.up,
                perception.transform.forward,
                360f,
                this.perception.visionDistance
                );

            Handles.color = COLOR_SIGHT;
            Handles.DrawSolidArc(
                sight.position,
                Vector3.up,
                PerceptronBase.DirectionFromAngle(-this.perception.fieldOfView / 2.0f, this.perception.transform),
                this.perception.fieldOfView,
                this.perception.visionDistance
                );

            if (!Application.isPlaying)
            {
                return;
            }
            PerceptronBase perceptronSight = this.perception.GetPerceptron(Perception.Type.Sight);

            foreach (KeyValuePair <int, Tracker> item in perceptronSight.trackers)
            {
                Handles.color = item.Value.GetState() ? COLOR_SIGHT_ON : COLOR_SIGHT_OFF;
                Handles.DrawLine(
                    sight.position,
                    Tracker.CalculatePosition(item.Value)
                    );
            }
        }
Ejemplo n.º 2
0
        // INITIALIZERS: --------------------------------------------------------------------------

        public override void Awake(Perception perception)
        {
            base.Awake(perception);
            this.eyes = PerceptronSight.GetEyes(perception);
        }