public void SetSummingMethod(summing_method sm) { m_SummingMethod = sm; }
Example #2
0
 public void SetSummingMethod(summing_method sm)
 {
     summingMethod = sm;
 }
        public SteeringBehavior(MovingEntity agent)
        {
            m_parentMovingEntity = agent;
            m_iFlags = 0;
            m_dDBoxLength = SteerParams.Instance.MinDetectionBoxLength;
            m_dWeightCohesion = SteerParams.Instance.AppliedCohesionWeight();
            m_dWeightAlignment = SteerParams.Instance.AppliedAlignmentWeight();
            m_dWeightSeparation = SteerParams.Instance.AppliedSeparationWeight();
            m_dWeightObstacleAvoidance = SteerParams.Instance.AppliedObstacleAvoidanceWeight();
            m_dWeightWander = SteerParams.Instance.AppliedWanderWeight();
            m_dWeightWallAvoidance = SteerParams.Instance.AppliedWallAvoidanceWeight();
            m_dViewDistance = SteerParams.Instance.ViewDistance;
            m_dWallDetectionFeelerLength = SteerParams.Instance.WallDetectionFeelerLength;
            m_Feelers = new List<Vector2D>(3);
            m_Deceleration = Deceleration.normal;
            m_pTargetAgent1 = null;
            m_pTargetAgent2 = null;
            m_dWanderDistance = WanderDist;
            m_dWanderJitter = WanderJitterPerSec;
            m_dWanderRadius = WanderRad;
            m_dWaypointSeekDistSq = WaypointSeekDist * WaypointSeekDist;
            m_dWeightSeek = SteerParams.Instance.AppliedSeekWeight();
            m_dWeightFlee = SteerParams.Instance.AppliedFleeWeight();
            m_dWeightArrive = SteerParams.Instance.AppliedArriveWeight();
            m_dWeightPursuit = SteerParams.Instance.AppliedPursuitWeight();
            m_dWeightOffsetPursuit = SteerParams.Instance.AppliedOffsetPursuitWeight();
            m_dWeightInterpose = SteerParams.Instance.AppliedInterposeWeight();
            m_dWeightHide = SteerParams.Instance.AppliedHideWeight();
            m_dWeightEvade = SteerParams.Instance.AppliedEvadeWeight();
            m_dWeightFollowPath = SteerParams.Instance.AppliedFollowPathWeight();
            m_SummingMethod = summing_method.prioritized;

            //stuff for the wander behavior
            double theta = Utils.RandFloat() * Utils.TwoPi;

            //create a vector to a target position on the wander circle
            m_vWanderTarget = new Vector2D(m_dWanderRadius * Math.Cos(theta), m_dWanderRadius * Math.Sin(theta));

            //create a Path
            m_pPath = new Path2D(true);

            m_vSteeringForce = new Vector2D();

        }