Ejemplo n.º 1
0
        public override void AfterUpdatePosition()
        {
            Entity self = this._behaviors.owner;

            if (SteeringTools.CheckPointCrossTargetPoint(self.property.position, this._targetPoint))
            {
                self.UpdateVelocity(Vec3.zero);
                this.complete = true;
            }
        }
Ejemplo n.º 2
0
        public override void AfterUpdatePosition()
        {
            Entity self = this._behaviors.owner;

            if (SteeringTools.ReachTarget(self, this._evader))
            {
                Vec3 targetPoint = this._evader.PointToWorld(this._offset);
                self.property.Equal(Attr.Position, targetPoint);
                self.UpdateVelocity(Vec3.zero);
                this.complete = true;
            }
        }
Ejemplo n.º 3
0
        public override void AfterUpdatePosition()
        {
            Entity self = this._behaviors.owner;

            if (SteeringTools.CheckPointCrossTargetPoint(self.property.position, this.path.currentWaypoint))
            {
                if (!this.path.Next())
                {
                    self.UpdateVelocity(Vec3.zero);
                    this.complete = true;
                    return;
                }
                self.UpdateVelocity(Vec3.Normalize(this.path.currentWaypoint - self.property.position) *
                                    (self.maxSpeed * self.property.moveSpeedFactor));
            }
        }