protected override void OnPositionChanged(PositionComponent component, ref Vector3 position) { if (component.HasFlag(PositionComponent.X) && WrapWidth > 0) { position.X -= (int) Math.Floor(position.X / WrapWidth) * WrapWidth; } if (component.HasFlag(PositionComponent.Z) && WrapHeight > 0) { position.Z -= (int) Math.Floor(position.Z / WrapHeight) * WrapHeight; } if (component.HasFlag(PositionComponent.Y)) { InvalidateProjectionMatrix(); } else { base.OnPositionChanged(component, ref position); } }