Example #1
0
        /// <summary>
        /// When <see cref="AIMSteeringBehaviour.PrepareEvaluation"/> is called, this method is used in order to
        /// transfer the data from <see cref="Target"/> or <see cref="TargetPosition"/> to <see
        /// cref="AIMPerceptBehaviour{T}.GameObjects"/>.
        /// </summary>
        public override void PrepareEvaluation()
        {
            if (FilteredEnvironments.Count != 0)
            {
                FilteredEnvironments.Clear();
            }

            if (GameObjects.Count == 1)
            {
                GameObjects[0] = Target;
            }
            else
            {
                GameObjects.Clear();
                GameObjects.Add(Target);
            }

            base.PrepareEvaluation();

            if (Target == null)
            {
                PerceptBehaviour.Percepts[0].Position     = TargetPosition;
                PerceptBehaviour.Percepts[0].Active       = true;
                PerceptBehaviour.Percepts[0].Significance = 1f;
            }
        }
Example #2
0
        /// <summary>
        /// This method is used in order to transfer the data from <see cref="Target"/> to <see
        /// cref="AIMPerceptBehaviour{T}.GameObjects"/>. Afterwards, <see
        /// cref="AIMSteeringBehaviour.PrepareEvaluation"/> is called.
        /// </summary>
        public override void PrepareEvaluation()
        {
            if (FilteredEnvironments.Count != 0)
            {
                FilteredEnvironments.Clear();
            }

            if (GameObjects.Count == 1)
            {
                GameObjects[0] = Target;
            }
            else
            {
                GameObjects.Clear();
                GameObjects.Add(Target);
            }

            base.PrepareEvaluation();
        }