示例#1
0
 public override MovementOutput GetSteering(Path path)
 {
     if (Actuators.ContainsKey(ActiveActuator))
     {
         return Actuators[ActiveActuator].GetSteering(path);
     }
     return new MovementOutput();
 }
示例#2
0
        public override MovementOutput GetSteering(Path path)
        {
            var target = path.GetPosition(1.0f);

            this.Seek.Character = this.Pipeline.Character;
            this.Seek.Target = new KinematicData(new StaticData(target));
            this.Seek.MaxAcceleration = this.Pipeline.MaxAcceleration;

            return this.Seek.GetMovement();
        }
示例#3
0
        public override MovementOutput GetSteering(Path path)
        {
            if (this.PreviousPath == null || this.PreviousPath != path)
            {
                this.FollowPathMovement.Path = path;
                this.FollowPathMovement.CurrentParam = 0;
                this.PreviousPath = path;
            }

            return this.FollowPathMovement.GetMovement();
        }
示例#4
0
        public DynamicFollowPath(KinematicData character, Path path)
        {
            //arrive properties
            this.SlowRadius = 5.0f;
            this.TimeToTarget = 0.5f;
            this.TargetRadius = 1.0f;

            this.MaxAcceleration = 40.0f;

            this.Target = new KinematicData();
            this.Character = character;
            this.Path = path;
            this.CurrentParam = 0.0f;
            this.PathOffset = 0.5f;
            this.EmptyMovementOutput = new MovementOutput();
        }
示例#5
0
 public override MovementOutput GetSteering(Path path)
 {
     return this.StopMovement.GetMovement();
 }
示例#6
0
 public abstract float WillViolate(Path path, float maxPriority);
示例#7
0
 public abstract SteeringGoal Suggest(Path path);
示例#8
0
 public abstract MovementOutput GetSteering(Path path);