public override void AfterUpdatePosition() { Entity self = this._behaviors.owner; if (SteeringTools.CheckPointCrossTargetPoint(self.property.position, this._targetPoint)) { self.UpdateVelocity(Vec3.zero); this.complete = true; } }
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; } }
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)); } }