@hellpig/anarchy-engine 22.0.2 → 22.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Abstract/Entities/AbstractEntity.js.map +1 -1
- package/dist/Abstract/Factories/AbstractFactory.js.map +1 -1
- package/dist/Abstract/Factories/ReactiveFactory.js.map +1 -1
- package/dist/Abstract/Loaders/AbstractLoader.js.map +1 -1
- package/dist/Abstract/Mixins/WithWrapperIdMixin.js.map +1 -1
- package/dist/Abstract/Models/THtmlElementStyleDeclaration.d.ts +4 -4
- package/dist/Abstract/Registries/AbstractEntityAsyncRegistry.js.map +1 -1
- package/dist/Abstract/Registries/AbstractEntityRegistry.js.map +1 -1
- package/dist/Abstract/Registries/AbstractResourceAsyncRegistry.js.map +1 -1
- package/dist/Abstract/Registries/AbstractSimpleRegistry.js.map +1 -1
- package/dist/Abstract/Registries/AbstractWatcherRegistry.js.map +1 -1
- package/dist/Abstract/Registries/Mixin/Registry/WithBaseAccessorsRegistry.js.map +1 -1
- package/dist/Abstract/Registries/Mixin/Registry/WithReactiveRegistry.js.map +1 -1
- package/dist/Abstract/Services/AbstractService.js.map +1 -1
- package/dist/Abstract/Watchers/AbstractWatcher.js.map +1 -1
- package/dist/Abstract/Watchers/AbstractWatcherWithState.js.map +1 -1
- package/dist/Abstract/Wrappers/AbstractWrapper.js.map +1 -1
- package/dist/Actor/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Actor/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Actor/Adapters/Helpers/ActorStatesConfigToParams.js.map +1 -1
- package/dist/Actor/Adapters/Helpers/Model3dSettingsConfigToParams.js.map +1 -1
- package/dist/Actor/Entities/Actor/Actor.js.map +1 -1
- package/dist/Actor/Factories/ActorFactory.js.map +1 -1
- package/dist/Actor/Mixins/WithActorStates.js.map +1 -1
- package/dist/Actor/Registries/ActorRegistry.js.map +1 -1
- package/dist/Actor/Registries/Model3dToActorConnectionRegistry.js.map +1 -1
- package/dist/Actor/Services/ActorService.js.map +1 -1
- package/dist/Actor/TransformDrive/ActorTransformDrive.js.map +1 -1
- package/dist/Actor/Utils/ActorUtils.js.map +1 -1
- package/dist/Animations/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Animations/Loader/AnimationsLoader.js.map +1 -1
- package/dist/Animations/Registries/AnimationsMetaInfoRegistry.js.map +1 -1
- package/dist/Animations/Registries/AnimationsResourceAsyncRegistry.js.map +1 -1
- package/dist/Animations/Services/AnimationsService.js.map +1 -1
- package/dist/Animations/Utils/SerializationUtils.js.map +1 -1
- package/dist/Audio/Adapters/AudioConfigToParams.js.map +1 -1
- package/dist/Audio/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Audio/Factories/AudioFactory.js.map +1 -1
- package/dist/Audio/Loader/AudioLoader.js.map +1 -1
- package/dist/Audio/Registries/AudioListenersRegistry.js.map +1 -1
- package/dist/Audio/Registries/AudioMetaInfoRegistry.js.map +1 -1
- package/dist/Audio/Registries/AudioRegistry.js.map +1 -1
- package/dist/Audio/Registries/AudioResourceAsyncRegistry.js.map +1 -1
- package/dist/Audio/Services/AudioService.js.map +1 -1
- package/dist/Audio/TransformDrive/Audio3dTransformDrive.js.map +1 -1
- package/dist/Audio/Utils/AudioUtils.js.map +1 -1
- package/dist/Audio/Utils/DebugAudioRenderer.js.map +1 -1
- package/dist/Audio/Wrappers/AbstractAudioWrapper.js.map +1 -1
- package/dist/Audio/Wrappers/Audio3dWrapper.js.map +1 -1
- package/dist/Audio/Wrappers/AudioWrapper.js.map +1 -1
- package/dist/Camera/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Camera/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Camera/Factories/CameraFactory.js.map +1 -1
- package/dist/Camera/Registries/AbstractCameraRegistry.js.map +1 -1
- package/dist/Camera/Services/CameraService.js.map +1 -1
- package/dist/Camera/TransformDrive/CameraTransformDrive.js.map +1 -1
- package/dist/Camera/Utils/CameraUtils.js.map +1 -1
- package/dist/Camera/Wrappers/Accessors.js.map +1 -1
- package/dist/Camera/Wrappers/OrthographicCameraWrapper.js.map +1 -1
- package/dist/Camera/Wrappers/PerspectiveCameraWrapper.js.map +1 -1
- package/dist/Collisions/Mixins/WithCollisions.js.map +1 -1
- package/dist/Collisions/Services/BvhService.js.map +1 -1
- package/dist/Collisions/Services/CollisionsService.js.map +1 -1
- package/dist/Color/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Color/Wrappers/ColorWrapper.js.map +1 -1
- package/dist/Context/AmbientContext/AmbientContext.js.map +1 -1
- package/dist/Controls/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Controls/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Controls/Factories/ControlsFactory.js.map +1 -1
- package/dist/Controls/Loop/ControlsLoopEffect.js.map +1 -1
- package/dist/Controls/Models/TFpsControlsWrapper.d.ts +1 -1
- package/dist/Controls/Models/TOrbitControlsWrapper.d.ts +1 -1
- package/dist/Controls/Registries/ControlsRegistry.js.map +1 -1
- package/dist/Controls/Services/ControlsService.js.map +1 -1
- package/dist/Controls/Utils/ControlsUtils.js.map +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsAccessors.d.ts +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsAccessors.js.map +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapper.js.map +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapperHelper.js.map +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsAccessors.d.ts +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsAccessors.js.map +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapper.js.map +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapperHelper.js.map +1 -1
- package/dist/Distance/Utils/DistanceUtils.js.map +1 -1
- package/dist/EnvMap/Adapters/ConfigToParams.js.map +1 -1
- package/dist/EnvMap/Adapters/EntityToConfig.js.map +1 -1
- package/dist/EnvMap/Factories/EnvMapFactory.js.map +1 -1
- package/dist/EnvMap/Loader/EnvMapLoader.js.map +1 -1
- package/dist/EnvMap/Registries/EnvMapMetaInfoRegistry.js.map +1 -1
- package/dist/EnvMap/Registries/EnvMapRegistry.js.map +1 -1
- package/dist/EnvMap/Registries/EnvMapTextureAsyncRegistry.js.map +1 -1
- package/dist/EnvMap/Services/EnvMapService.js.map +1 -1
- package/dist/EnvMap/Wrappers/EnvMapWrapper.js.map +1 -1
- package/dist/Fog/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Fog/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Fog/Factories/FogFactory.js.map +1 -1
- package/dist/Fog/Registries/FogRegistry.js.map +1 -1
- package/dist/Fog/Services/FogService.js.map +1 -1
- package/dist/Fog/Wrappers/FogWrapper.js.map +1 -1
- package/dist/Fsm/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Fsm/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Fsm/Entities/FsmSource.js.map +1 -1
- package/dist/Fsm/Factories/FsmInstanceFactory.js.map +1 -1
- package/dist/Fsm/Factories/FsmSourceFactory.js.map +1 -1
- package/dist/Fsm/Registries/FsmInstanceRegistry.js.map +1 -1
- package/dist/Fsm/Registries/FsmSourceRegistry.js.map +1 -1
- package/dist/Fsm/Services/FsmInstanceService.js.map +1 -1
- package/dist/Fsm/Services/FsmService.js.map +1 -1
- package/dist/Fsm/Services/FsmSourceService.js.map +1 -1
- package/dist/Fsm/Wrappers/FsmWrapper.js.map +1 -1
- package/dist/Global/Decorators/ContainerDecorator.js.map +1 -1
- package/dist/Global/Utils/ContainerUtils.js.map +1 -1
- package/dist/Intersections/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Intersections/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Intersections/Factories/IntersectionsWatcherFactory.js.map +1 -1
- package/dist/Intersections/Models/TIntersectionsDirectionWatcher.d.ts +1 -1
- package/dist/Intersections/Registries/IntersectionsWatcherRegistry.js.map +1 -1
- package/dist/Intersections/Services/IntersectionsWatcherService.js.map +1 -1
- package/dist/Intersections/Utils/IntersectionsWatcherUtils.js.map +1 -1
- package/dist/Intersections/Watchers/AbstractIntersectionsWatcher.js.map +1 -1
- package/dist/Intersections/Watchers/IntersectionsCameraWatcher.js.map +1 -1
- package/dist/Intersections/Watchers/IntersectionsDirectionWatcher.js.map +1 -1
- package/dist/Keyboard/Factories/KeyWatcherFactory.js.map +1 -1
- package/dist/Keyboard/Registries/KeyWatcherRegistry.js.map +1 -1
- package/dist/Keyboard/Services/KeyboardService.js.map +1 -1
- package/dist/Keyboard/Utils/KeysRxJsUtils.js.map +1 -1
- package/dist/Keyboard/Utils/KeysUtils.js.map +1 -1
- package/dist/Keyboard/Watchers/KeyComboWatcher.js.map +1 -1
- package/dist/Keyboard/Watchers/KeyPressWatcher.js.map +1 -1
- package/dist/Keyboard/Watchers/KeyReleaseWatcher.js.map +1 -1
- package/dist/Kinematic/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Kinematic/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Kinematic/Constants/KinematicConstants.js.map +1 -1
- package/dist/Kinematic/Utils/KinematicUtils.js.map +1 -1
- package/dist/Light/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Light/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Light/Factories/LightFactory.js.map +1 -1
- package/dist/Light/Registries/LightRegistry.js.map +1 -1
- package/dist/Light/Services/LightService.js.map +1 -1
- package/dist/Light/TransformDrive/LightTransformDrive.js.map +1 -1
- package/dist/Light/Utils/Utils.js.map +1 -1
- package/dist/Light/Wrappers/AbstractLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/AmbientLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/DirectionalLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/HemisphereLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/LightWrapperHelper.js.map +1 -1
- package/dist/Light/Wrappers/PointLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/RectAreaLightWrapper.js.map +1 -1
- package/dist/Light/Wrappers/SpotLightWrapper.js.map +1 -1
- package/dist/LoadingManager/Factories/LoadingManagerFactory.js.map +1 -1
- package/dist/LoadingManager/Registries/LoadingManagerRegistry.js.map +1 -1
- package/dist/LoadingManager/Services/LoadingManagerService.js.map +1 -1
- package/dist/LoadingManager/Wrappers/LoadingManagerWrapper.js.map +1 -1
- package/dist/Loop/Constants/LoopsDefaultSettings.js.map +1 -1
- package/dist/Loop/Entities/DeltaCalculator.js.map +1 -1
- package/dist/Loop/Entities/Loop.js.map +1 -1
- package/dist/Loop/Factories/LoopFactory.js.map +1 -1
- package/dist/Loop/Registries/LoopRegistry.js.map +1 -1
- package/dist/Loop/Services/LoopService.js.map +1 -1
- package/dist/Loop/Utils/LoopDebugUtils.js.map +1 -1
- package/dist/Loop/Utils/LoopUtils.js.map +1 -1
- package/dist/Material/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Material/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Material/Constants/Material/MaterialMap.js.map +1 -1
- package/dist/Material/Factories/MaterialFactory.js.map +1 -1
- package/dist/Material/Mixins/WithMaterial.d.ts +1 -1
- package/dist/Material/Mixins/WithMaterial.js.map +1 -1
- package/dist/Material/Models/TMaterialParamsOptions.d.ts +1 -4
- package/dist/Material/Registries/MaterialRegistry.js.map +1 -1
- package/dist/Material/Services/MaterialService.js.map +1 -1
- package/dist/Material/Utils/MaterialUtils.js.map +1 -1
- package/dist/Material/Wrappers/MaterialWrapper.js.map +1 -1
- package/dist/Math/Utils/AnglesUtils.js +1 -1
- package/dist/Math/Utils/AnglesUtils.js.map +1 -1
- package/dist/Math/Utils/DistanceUtils.js.map +1 -1
- package/dist/Measurements/Constants/Distance.js.map +1 -1
- package/dist/Measurements/Constants/Time.js.map +1 -1
- package/dist/Measurements/Utils/MeasurementsUtils.d.ts +1 -1
- package/dist/Measurements/Utils/MeasurementsUtils.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveBy2dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveBy3dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveBy4dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByWMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByXMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByYMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Movable/WithMoveByZMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPosition2dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPosition3dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPosition4dMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Position/WithPositionMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByWMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByXMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByXyzMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByYMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationByZMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Rotatable/WithRotationMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/Scalable/WithScaleMixin.js.map +1 -1
- package/dist/Mixins/GameObjects/Mixins/WithObject3D.js.map +1 -1
- package/dist/Mixins/Generics/DestroyableMixin.js.map +1 -1
- package/dist/Mixins/Generics/ExtractSerializableRegistrableFields.js.map +1 -1
- package/dist/Mixins/Generics/WithActiveEntityServiceMixin.js.map +1 -1
- package/dist/Mixins/Generics/WithActiveMixin.js.map +1 -1
- package/dist/Mixins/Generics/WithNameAndNameAccessorsMixin.js.map +1 -1
- package/dist/Mixins/Services/WithCreateFromConfigService.js.map +1 -1
- package/dist/Mixins/Services/WithCreateService.js.map +1 -1
- package/dist/Mixins/Services/WithFactoryService.js.map +1 -1
- package/dist/Mixins/Services/WithRegistryService.js.map +1 -1
- package/dist/Mixins/Services/WithSceneGetterService.js.map +1 -1
- package/dist/Mixins/Services/WithSerializableEntities.js.map +1 -1
- package/dist/Mixins/Services/WithSerializeAllResources.js.map +1 -1
- package/dist/Models3d/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Models3d/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Models3d/Entities/Model3d.js.map +1 -1
- package/dist/Models3d/Factories/Models3dFactory.js.map +1 -1
- package/dist/Models3d/Loaders/Loader3dCore.js.map +1 -1
- package/dist/Models3d/Loaders/Models3dLoader.js.map +1 -1
- package/dist/Models3d/Mixins/WithModel3dEntities.js.map +1 -1
- package/dist/Models3d/Models/TModel3dParams.d.ts +1 -1
- package/dist/Models3d/Models/TModels3dLoader.d.ts +1 -1
- package/dist/Models3d/Models/TModels3dResourceAsyncRegistry.d.ts +1 -1
- package/dist/Models3d/Models/TModels3dService.d.ts +1 -1
- package/dist/Models3d/Registries/Model3dRawToModel3dConnectionRegistry.js.map +1 -1
- package/dist/Models3d/Registries/Models3dMetaInfoRegistry.js.map +1 -1
- package/dist/Models3d/Registries/Models3dRegistry.js.map +1 -1
- package/dist/Models3d/Registries/Models3dResourceAsyncRegistry.js.map +1 -1
- package/dist/Models3d/Services/Models3dService.js.map +1 -1
- package/dist/Models3d/Utils/SerializationUtils.js.map +1 -1
- package/dist/Models3d/Utils/UtilsModel3d.d.ts +1 -1
- package/dist/Models3d/Utils/UtilsModel3d.js.map +1 -1
- package/dist/Models3d/Utils/UtilsModels3dService.js.map +1 -1
- package/dist/Models3d/Utils/UtilsPrimitiveModels3d.d.ts +1 -1
- package/dist/Models3d/Utils/UtilsPrimitiveModels3d.js.map +1 -1
- package/dist/Mouse/Factories/MouseClickWatcherFactory.js.map +1 -1
- package/dist/Mouse/Factories/MousePositionWatcherFactory.js.map +1 -1
- package/dist/Mouse/Registries/MouseClickWatcherRegistry.js.map +1 -1
- package/dist/Mouse/Registries/MousePositionWatcherRegistry.js.map +1 -1
- package/dist/Mouse/Services/MouseService.js.map +1 -1
- package/dist/Mouse/Utils/MouseUtils.js.map +1 -1
- package/dist/Mouse/Watchers/MouseClickWatcher.js.map +1 -1
- package/dist/Mouse/Watchers/MousePositionWatcher.js.map +1 -1
- package/dist/Particles/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Particles/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Particles/Factories/ParticlesFactory.js.map +1 -1
- package/dist/Particles/Registries/ParticlesRegistry.js.map +1 -1
- package/dist/Particles/Services/ParticlesService.js.map +1 -1
- package/dist/Particles/TransformDrive/ParticlesTransformDrive.js.map +1 -1
- package/dist/Particles/Wrappers/ParticlesWrapper.js.map +1 -1
- package/dist/Physics/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Physics/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Physics/Adapters/PhysicsBodyConfigToParams.js +1 -1
- package/dist/Physics/Adapters/PhysicsBodyConfigToParams.js.map +1 -1
- package/dist/Physics/Adapters/PhysicsWorldConfigToParams.js.map +1 -1
- package/dist/Physics/Constants/RigidBodyTypesMap.d.ts +1 -1
- package/dist/Physics/Constants/RigidBodyTypesMap.js +1 -1
- package/dist/Physics/Constants/RigidBodyTypesMap.js.map +1 -1
- package/dist/Physics/Entities/PhysicsBody.js.map +1 -1
- package/dist/Physics/Entities/PhysicsBodyUtils.d.ts +1 -1
- package/dist/Physics/Entities/PhysicsBodyUtils.js +1 -1
- package/dist/Physics/Entities/PhysicsBodyUtils.js.map +1 -1
- package/dist/Physics/Factories/PhysicsBodyFactory.js.map +1 -1
- package/dist/Physics/Mixins/WithPhysicsBodyEntities.js.map +1 -1
- package/dist/Physics/Models/TPhysicsWorldService.d.ts +1 -1
- package/dist/Physics/Registries/PhysicsBodyRegistry.js.map +1 -1
- package/dist/Physics/Renderers/PhysicsDebugRenderer.d.ts +1 -1
- package/dist/Physics/Renderers/PhysicsDebugRenderer.js.map +1 -1
- package/dist/Physics/Services/PhysicsBodyService.js.map +1 -1
- package/dist/Physics/Services/PhysicsWorldService.js +1 -1
- package/dist/Physics/Services/PhysicsWorldService.js.map +1 -1
- package/dist/Physics/Utils/ParamsUtils.js.map +1 -1
- package/dist/Physics/Utils/PhysicsMovementUtils.d.ts +2 -2
- package/dist/Physics/Utils/PhysicsMovementUtils.js +1 -1
- package/dist/Physics/Utils/PhysicsMovementUtils.js.map +1 -1
- package/dist/Renderer/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Renderer/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Renderer/Factories/RendererFactory.js.map +1 -1
- package/dist/Renderer/Loop/RendererLoopEffect.js.map +1 -1
- package/dist/Renderer/Mixins/WithThreeJsRendererParamsAccessors.js.map +1 -1
- package/dist/Renderer/Mixins/WithThreeJsRendererPropsAccessors.js.map +1 -1
- package/dist/Renderer/Registries/RendererRegistry.js.map +1 -1
- package/dist/Renderer/Services/RendererService.js.map +1 -1
- package/dist/Renderer/Wrappers/Accessors.js.map +1 -1
- package/dist/Renderer/Wrappers/RendererWrapper.js.map +1 -1
- package/dist/Scene/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Scene/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Scene/Factories/SceneFactory.js.map +1 -1
- package/dist/Scene/Registries/SceneRegistry.js.map +1 -1
- package/dist/Scene/Services/ScenesService.js.map +1 -1
- package/dist/Scene/Wrappers/SceneWrapper.js.map +1 -1
- package/dist/Space/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Space/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Space/Entities/Space.js.map +1 -1
- package/dist/Space/Entities/SpaceFromConfig.js.map +1 -1
- package/dist/Space/Factories/SpaceFactory.js.map +1 -1
- package/dist/Space/Registries/SpaceRegistry.js.map +1 -1
- package/dist/Space/Services/SpaceService.js.map +1 -1
- package/dist/Space/Utils/CanvasUtils.js.map +1 -1
- package/dist/Space/Utils/CreateEntitiesUtils.js.map +1 -1
- package/dist/Space/Utils/CreateLoopsUtils.js.map +1 -1
- package/dist/Space/Utils/LoadResourcesUtils.js.map +1 -1
- package/dist/Space/Utils/PrepareServicesUtils.js.map +1 -1
- package/dist/Space/Utils/SchemaValidationUtils.js.map +1 -1
- package/dist/Space/Validators/SchemasValidator.js.map +1 -1
- package/dist/Space/Validators/ValidateConfig.js.map +1 -1
- package/dist/Space/Validators/ValidateSpace.js.map +1 -1
- package/dist/Spatial/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Spatial/Adapters/ConfigToParamsSpatialData.js.map +1 -1
- package/dist/Spatial/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Spatial/Factories/SpatialGridFactory.js.map +1 -1
- package/dist/Spatial/Mixins/WithReactivePosition.js.map +1 -1
- package/dist/Spatial/Mixins/WithReactiveRotation.js.map +1 -1
- package/dist/Spatial/Mixins/WithSpatial.js.map +1 -1
- package/dist/Spatial/Mixins/WithUpdateSpatialCell.js.map +1 -1
- package/dist/Spatial/Registries/SpatialGridRegistry.js.map +1 -1
- package/dist/Spatial/Services/SpatialGridService.js.map +1 -1
- package/dist/Spatial/Services/SpatialHelper.d.ts +1 -1
- package/dist/Spatial/Services/SpatialHelper.js.map +1 -1
- package/dist/Spatial/Wrappers/SpatialCellWrapper.js.map +1 -1
- package/dist/Spatial/Wrappers/SpatialGridWrapper.js.map +1 -1
- package/dist/Text/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Text/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Text/Factories/TextFactory.js.map +1 -1
- package/dist/Text/Loop/TextLoopEffect.js.map +1 -1
- package/dist/Text/Models/TText2dRenderer.d.ts +1 -1
- package/dist/Text/Models/TText2dWrapper.d.ts +1 -1
- package/dist/Text/Models/TText3dRenderer.d.ts +1 -1
- package/dist/Text/Models/TText3dWrapper.d.ts +1 -1
- package/dist/Text/Models/TTextRenderer.d.ts +2 -2
- package/dist/Text/Models/TTextWrapper.d.ts +2 -2
- package/dist/Text/Registries/Text2dRegistry.js.map +1 -1
- package/dist/Text/Registries/Text2dRendererRegistry.js.map +1 -1
- package/dist/Text/Registries/Text3dRegistry.js.map +1 -1
- package/dist/Text/Registries/Text3dRendererRegistry.js.map +1 -1
- package/dist/Text/Registries/Text3dTextureRegistry.js.map +1 -1
- package/dist/Text/Renderers/Text2dRenderer.js.map +1 -1
- package/dist/Text/Renderers/Text3dRenderer.js.map +1 -1
- package/dist/Text/Renderers/TextRendererBuilder.d.ts +2 -2
- package/dist/Text/Renderers/TextRendererBuilder.js.map +1 -1
- package/dist/Text/Services/TextService.js.map +1 -1
- package/dist/Text/TransformDrive/TextTransformDrive.js.map +1 -1
- package/dist/Text/Utils/TextUtils.js.map +1 -1
- package/dist/Text/Wrappers/Accessors.js.map +1 -1
- package/dist/Text/Wrappers/Text2dWrapper.js.map +1 -1
- package/dist/Text/Wrappers/Text3dTextureWrapper.js.map +1 -1
- package/dist/Text/Wrappers/Text3dWrapper.js.map +1 -1
- package/dist/Text/Wrappers/TextTextureWrapper.js.map +1 -1
- package/dist/Text/Wrappers/TextWrapper.d.ts +2 -2
- package/dist/Text/Wrappers/TextWrapper.js.map +1 -1
- package/dist/Text/Wrappers/TextWrapperBuilder.js.map +1 -1
- package/dist/Text/Wrappers/TextWrapperHelper.js.map +1 -1
- package/dist/Texture/Loaders/TexturesLoader.js.map +1 -1
- package/dist/Texture/Registries/TextureMetaInfoRegistry.js.map +1 -1
- package/dist/Texture/Registries/TextureResourceAsyncRegistry.js.map +1 -1
- package/dist/Texture/Services/TextureService.js.map +1 -1
- package/dist/Texture/Utils/TextureServiceHelper.js.map +1 -1
- package/dist/ThreeLib/Utils/Object3dUtils.js.map +1 -1
- package/dist/TransformDrive/Adapters/EntityToConfig.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/AbstractTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/ConnectedTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/DefaultTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/KinematicTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/PhysicsTransformAgent.js.map +1 -1
- package/dist/TransformDrive/Entities/Connectors/DriveToTargetConnector.js.map +1 -1
- package/dist/TransformDrive/Entities/Drive/TransformDrive.js.map +1 -1
- package/dist/TransformDrive/Factories/TransformDriveFactory.js.map +1 -1
- package/dist/TransformDrive/Mixins/WithMutablePositionConnector.js.map +1 -1
- package/dist/TransformDrive/Mixins/WithMutableRotationConnector.js.map +1 -1
- package/dist/TransformDrive/Mixins/WithMutableScaleConnector.js.map +1 -1
- package/dist/TransformDrive/Mixins/WithProxyTransform.js.map +1 -1
- package/dist/TransformDrive/Registries/TransformDriveRegistry.js.map +1 -1
- package/dist/TransformDrive/Services/TransformDriveService.js.map +1 -1
- package/dist/TransformDrive/Utils/ActorDriveUtils.js.map +1 -1
- package/dist/TransformDrive/Utils/AgentUtils.js.map +1 -1
- package/dist/TransformDrive/Utils/KinematicAgentUtils.js.map +1 -1
- package/dist/TransformDrive/Utils/PhysicsTransformAgentUtils.d.ts +1 -1
- package/dist/TransformDrive/Utils/PhysicsTransformAgentUtils.js.map +1 -1
- package/dist/TransformDrive/Utils/TransformDriveUtils.js.map +1 -1
- package/dist/Utils/CheckUtils.js.map +1 -1
- package/dist/Utils/CoordsUtils.js.map +1 -1
- package/dist/Utils/DateTimeUtils.d.ts +1 -1
- package/dist/Utils/DestroyUtils.js.map +1 -1
- package/dist/Utils/DomUtils.js.map +1 -1
- package/dist/Utils/EntityUtils.js.map +1 -1
- package/dist/Utils/RegistryAsyncUtils.js.map +1 -1
- package/dist/Utils/RegistryUtils.js.map +1 -1
- package/dist/Utils/RxJsUtils.js.map +1 -1
- package/dist/Utils/ScreenUtils.js.map +1 -1
- package/dist/Utils/TagsUtils.js.map +1 -1
- package/dist/Utils/TransformUtils.js.map +1 -1
- package/dist/Utils/WrapperHelpers.d.ts +1 -1
- package/dist/Utils/WrapperHelpers.js.map +1 -1
- package/dist/assets/Loop.worker-D1bMWlsN.js.map +1 -1
- package/dist/packages/anarchy-shared/src/Utils/AsyncUtils.js.map +1 -1
- package/dist/packages/anarchy-shared/src/Utils/CssUtils.js.map +1 -1
- package/dist/packages/anarchy-shared/src/Utils/ObjectUtils.js.map +1 -1
- package/legal/NOTICE.md +1 -1
- package/legal/THIRD_PARTY_LICENSES.md +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accessors.js","sources":["../../../src/Camera/Wrappers/Accessors.ts"],"sourcesContent":["import type { TCommonCameraAccessors, TOrthographicCamera, TOrthographicCameraAccessors, TPerspectiveCamera, TPerspectiveCameraAccessors } from '@
|
|
1
|
+
{"version":3,"file":"Accessors.js","sources":["../../../src/Camera/Wrappers/Accessors.ts"],"sourcesContent":["import type { TCommonCameraAccessors, TOrthographicCamera, TOrthographicCameraAccessors, TPerspectiveCamera, TPerspectiveCameraAccessors } from '@hellpig/anarchy-engine/Camera/Models';\nimport type { TWriteable } from '@hellpig/anarchy-shared/Utils';\nimport type { AudioListener, Vector3 } from 'three';\n\nexport function getCommonCameraAccessors(entity: TWriteable<TOrthographicCamera | TPerspectiveCamera>): TCommonCameraAccessors {\n const lookAt = (vector3: Vector3): void => entity.lookAt(vector3);\n const setControls = (x: number, y: number, z: number): Vector3 => entity.position.set(x, y, z);\n\n function setNear(near: number): void {\n // eslint-disable-next-line functional/immutable-data\n entity.near = near;\n entity.updateProjectionMatrix();\n }\n\n function setFar(far: number): void {\n // eslint-disable-next-line functional/immutable-data\n entity.far = far;\n entity.updateProjectionMatrix();\n }\n\n function setZoom(zoom: number): void {\n // eslint-disable-next-line functional/immutable-data\n entity.zoom = zoom;\n entity.updateProjectionMatrix();\n }\n\n function setUp(x: number, y: number, z: number): void {\n entity.up.set(x, y, z);\n entity.updateProjectionMatrix();\n }\n\n function addListener(listener: AudioListener): void {\n entity.add(listener);\n }\n\n return { lookAt, setControls, setNear, setFar, setZoom, setUp, addListener };\n}\n\nexport function getPerspectiveCameraAccessors(entity: TWriteable<TPerspectiveCamera>): TPerspectiveCameraAccessors {\n function setFov(fov: number): void {\n // eslint-disable-next-line functional/immutable-data\n entity.fov = fov;\n entity.updateProjectionMatrix();\n }\n\n function setAspect(aspect: number): void {\n // eslint-disable-next-line functional/immutable-data\n entity.aspect = aspect;\n entity.updateProjectionMatrix();\n }\n\n function setFocus(focus: number): void {\n // eslint-disable-next-line functional/immutable-data\n entity.focus = focus;\n entity.updateProjectionMatrix();\n }\n\n function setFilmGauge(filmGauge: number): void {\n // eslint-disable-next-line functional/immutable-data\n entity.filmGauge = filmGauge;\n entity.updateProjectionMatrix();\n }\n\n function setFilmOffset(filmOffset: number): void {\n // eslint-disable-next-line functional/immutable-data\n entity.filmOffset = filmOffset;\n entity.updateProjectionMatrix();\n }\n\n return { setFov, setAspect, setFocus, setFilmGauge, setFilmOffset };\n}\n\nexport function getOrthographicCameraAccessors(entity: TWriteable<TOrthographicCamera>): TOrthographicCameraAccessors {\n function setLeft(left: number): void {\n // eslint-disable-next-line functional/immutable-data\n entity.left = left;\n entity.updateProjectionMatrix();\n }\n\n function setRight(right: number): void {\n // eslint-disable-next-line functional/immutable-data\n entity.right = right;\n entity.updateProjectionMatrix();\n }\n\n function setTop(top: number): void {\n // eslint-disable-next-line functional/immutable-data\n entity.top = top;\n entity.updateProjectionMatrix();\n }\n\n function setBottom(bottom: number): void {\n // eslint-disable-next-line functional/immutable-data\n entity.bottom = bottom;\n entity.updateProjectionMatrix();\n }\n\n function setAspect(height: number, aspect: number): void {\n const width: number = height * aspect;\n\n // eslint-disable-next-line functional/immutable-data\n entity.left = -width / 2;\n // eslint-disable-next-line functional/immutable-data\n entity.right = width / 2;\n // eslint-disable-next-line functional/immutable-data\n entity.top = height / 2;\n // eslint-disable-next-line functional/immutable-data\n entity.bottom = -height / 2;\n\n entity.updateProjectionMatrix();\n }\n\n return { setAspect, setLeft, setRight, setTop, setBottom };\n}\n"],"names":["getCommonCameraAccessors","entity","lookAt","vector3","setControls","x","y","z","position","set","setNear","near","updateProjectionMatrix","setFar","far","setZoom","zoom","setUp","up","addListener","listener","add","getPerspectiveCameraAccessors","setFov","fov","setAspect","aspect","setFocus","focus","setFilmGauge","filmGauge","setFilmOffset","filmOffset","getOrthographicCameraAccessors","height","width","left","right","top","bottom","setLeft","setRight","setTop","setBottom"],"mappings":"AAIO,SAASA,yBAAyBC,QA+BvC,MAAO,CAAEC,OA9BOC,SAA2BF,OAAOC,OAAOC,SA8BxCC,YA7BG,CAACC,EAAWC,EAAWC,IAAuBN,OAAOO,SAASC,IAAIJ,EAAGC,EAAGC,GA6B9DG,QA3B9B,SAAiBC,MAEfV,OAAOU,KAAOA,KACdV,OAAOW,wBACT,EAuBuCC,OArBvC,SAAgBC,KAEdb,OAAOa,IAAMA,IACbb,OAAOW,wBACT,EAiB+CG,QAf/C,SAAiBC,MAEff,OAAOe,KAAOA,KACdf,OAAOW,wBACT,EAWwDK,MATxD,SAAeZ,EAAWC,EAAWC,GACnCN,OAAOiB,GAAGT,IAAIJ,EAAGC,EAAGC,GACpBN,OAAOW,wBACT,EAM+DO,YAJ/D,SAAqBC,UACnBnB,OAAOoB,IAAID,SACb,EAGF,CAEO,SAASE,8BAA8BrB,QA+B5C,MAAO,CAAEsB,OA9BT,SAAgBC,KAEdvB,OAAOuB,IAAMA,IACbvB,OAAOW,wBACT,EA0BiBa,UAxBjB,SAAmBC,QAEjBzB,OAAOyB,OAASA,OAChBzB,OAAOW,wBACT,EAoB4Be,SAlB5B,SAAkBC,OAEhB3B,OAAO2B,MAAQA,MACf3B,OAAOW,wBACT,EAcsCiB,aAZtC,SAAsBC,WAEpB7B,OAAO6B,UAAYA,UACnB7B,OAAOW,wBACT,EAQoDmB,cANpD,SAAuBC,YAErB/B,OAAO+B,WAAaA,WACpB/B,OAAOW,wBACT,EAGF,CAEO,SAASqB,+BAA+BhC,QAwC7C,MAAO,CAAEwB,UAfT,SAAmBS,OAAgBR,QACjC,MAAMS,MAAgBD,OAASR,OAG/BzB,OAAOmC,MAAQD,MAAQ,EAEvBlC,OAAOoC,MAAQF,MAAQ,EAEvBlC,OAAOqC,IAAMJ,OAAS,EAEtBjC,OAAOsC,QAAUL,OAAS,EAE1BjC,OAAOW,wBACT,EAEoB4B,QAvCpB,SAAiBJ,MAEfnC,OAAOmC,KAAOA,KACdnC,OAAOW,wBACT,EAmC6B6B,SAjC7B,SAAkBJ,OAEhBpC,OAAOoC,MAAQA,MACfpC,OAAOW,wBACT,EA6BuC8B,OA3BvC,SAAgBJ,KAEdrC,OAAOqC,IAAMA,IACbrC,OAAOW,wBACT,EAuB+C+B,UArB/C,SAAmBJ,QAEjBtC,OAAOsC,OAASA,OAChBtC,OAAOW,wBACT,EAkBF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrthographicCameraWrapper.js","sources":["../../../src/Camera/Wrappers/OrthographicCameraWrapper.ts"],"sourcesContent":["import type { TAbstractWrapper } from '@
|
|
1
|
+
{"version":3,"file":"OrthographicCameraWrapper.js","sources":["../../../src/Camera/Wrappers/OrthographicCameraWrapper.ts"],"sourcesContent":["import type { TAbstractWrapper } from '@hellpig/anarchy-engine/Abstract';\nimport { AbstractWrapper, WrapperType } from '@hellpig/anarchy-engine/Abstract';\nimport { cameraEntityToConfig } from '@hellpig/anarchy-engine/Camera/Adapters';\nimport type { CameraType } from '@hellpig/anarchy-engine/Camera/Constants';\nimport type {\n TAnyCamera,\n TCameraTransformDrive,\n TCameraWrapperDependencies,\n TCommonCameraAccessors,\n TOrthographicCamera,\n TOrthographicCameraAccessors,\n TOrthographicCameraParams,\n TOrthographicCameraWrapper\n} from '@hellpig/anarchy-engine/Camera/Models';\nimport type { TOrthographicCameraConfig } from '@hellpig/anarchy-engine/Camera/Models/TOrthographicCameraConfig';\nimport { CameraTransformDrive } from '@hellpig/anarchy-engine/Camera/TransformDrive';\nimport { applyOrthographicCameraParams } from '@hellpig/anarchy-engine/Camera/Utils';\nimport { withActiveMixin, withObject3d } from '@hellpig/anarchy-engine/Mixins';\nimport type { TDriveToTargetConnector } from '@hellpig/anarchy-engine/TransformDrive';\nimport { DriveToTargetConnector } from '@hellpig/anarchy-engine/TransformDrive';\nimport { applyObject3dParams, mergeAll } from '@hellpig/anarchy-engine/Utils';\nimport type { TOptional, TWriteable } from '@hellpig/anarchy-shared/Utils';\nimport { isDefined } from '@hellpig/anarchy-shared/Utils';\nimport type { Subscription } from 'rxjs';\nimport { OrthographicCamera, Vector3 } from 'three';\n\nimport { getCommonCameraAccessors, getOrthographicCameraAccessors } from './Accessors';\n\nexport function OrthographicCameraWrapper(params: TOrthographicCameraParams, { container, transformDriveService, audioService }: TCameraWrapperDependencies): TOrthographicCameraWrapper {\n const { left, right, top, bottom, near, far = 10000, lookAt, audioListener }: TOrthographicCameraParams = params;\n const { width, height }: TOptional<DOMRect> = container.viewportRect$.value ?? { width: 0, height: 0 };\n\n const entity: TWriteable<TOrthographicCamera> = new OrthographicCamera(left, right, top, bottom, near, far);\n\n const accessors: TCommonCameraAccessors & TOrthographicCameraAccessors = Object.assign(getCommonCameraAccessors(entity), getOrthographicCameraAccessors(entity));\n accessors.setAspect(width, height);\n\n const wrapper: TAbstractWrapper<TAnyCamera> = AbstractWrapper(entity, WrapperType.Camera, params);\n const drive: TCameraTransformDrive = CameraTransformDrive(params, { transformDriveService }, wrapper.id);\n const driveToTargetConnector: TDriveToTargetConnector = DriveToTargetConnector(drive, entity);\n\n const result = mergeAll(wrapper, accessors, {\n drive,\n driveToTargetConnector,\n entity,\n getType: (): CameraType => entity.type as CameraType,\n ...withObject3d(entity),\n ...withActiveMixin(),\n serialize: (): TOrthographicCameraConfig => cameraEntityToConfig(result, { audioService })\n });\n\n applyObject3dParams(result, params);\n result._setActive(params.isActive, true);\n\n const destroySub$: Subscription = result.destroy$.subscribe((): void => {\n if (isDefined(audioListener)) result.entity.remove(audioListener);\n destroySub$.unsubscribe();\n });\n\n if (isDefined(lookAt)) accessors.lookAt(new Vector3(lookAt.x, lookAt.y, lookAt.z));\n if (isDefined(params.up)) entity.up.set(params.up.x, params.up.y, params.up.z);\n if (isDefined(audioListener)) accessors.addListener(audioListener);\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(params.zoom)) entity.zoom = params.zoom;\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(params.near)) entity.near = params.near;\n\n applyOrthographicCameraParams(entity, params);\n return result;\n}\n"],"names":["OrthographicCameraWrapper","params","container","transformDriveService","audioService","left","right","top","bottom","near","far","lookAt","audioListener","width","height","viewportRect$","value","entity","OrthographicCamera","accessors","Object","assign","getCommonCameraAccessors","getOrthographicCameraAccessors","setAspect","wrapper","AbstractWrapper","WrapperType","Camera","drive","CameraTransformDrive","id","driveToTargetConnector","DriveToTargetConnector","result","mergeAll","getType","type","withObject3d","withActiveMixin","serialize","cameraEntityToConfig","applyObject3dParams","_setActive","isActive","destroySub$","destroy$","subscribe","isDefined","remove","unsubscribe","Vector3","x","y","z","up","set","addListener","zoom","applyOrthographicCameraParams"],"mappings":"84BA4BO,SAASA,0BAA0BC,QAAmCC,UAAEA,UAAAC,sBAAWA,sBAAAC,aAAuBA,eAC/G,MAAMC,KAAEA,KAAAC,MAAMA,MAAAC,IAAOA,IAAAC,OAAKA,OAAAC,KAAQA,SAAMC,IAAM,IAAAC,OAAOA,OAAAC,cAAQA,eAA6CX,QACpGY,MAAEA,MAAAC,OAAOA,QAA+BZ,UAAUa,cAAcC,OAAS,CAAEH,MAAO,EAAGC,OAAQ,GAE7FG,OAA0C,IAAIC,mBAAmBb,KAAMC,MAAOC,IAAKC,OAAQC,KAAMC,KAEjGS,UAAmEC,OAAOC,OAAOC,yBAAyBL,QAASM,+BAA+BN,SACxJE,UAAUK,UAAUX,MAAOC,QAE3B,MAAMW,QAAwCC,gBAAgBT,OAAQU,YAAYC,OAAQ3B,QACpF4B,MAA+BC,qBAAqB7B,OAAQ,CAAEE,6CAAyBsB,QAAQM,IAC/FC,uBAAkDC,uBAAuBJ,MAAOZ,QAEhFiB,OAASC,SAASV,QAASN,UAAW,CAC1CU,YACAG,8CACAf,cACAmB,QAAS,IAAkBnB,OAAOoB,QAC/BC,aAAarB,WACbsB,kBACHC,UAAW,IAAiCC,qBAAqBP,OAAQ,CAAE9B,8BAG7EsC,oBAAoBR,OAAQjC,QAC5BiC,OAAOS,WAAW1C,OAAO2C,UAAU,GAEnC,MAAMC,YAA4BX,OAAOY,SAASC,UAAU,KACtDC,UAAUpC,gBAAgBsB,OAAOjB,OAAOgC,OAAOrC,eACnDiC,YAAYK,gBAYd,OATIF,UAAUrC,SAASQ,UAAUR,OAAO,IAAIwC,QAAQxC,OAAOyC,EAAGzC,OAAO0C,EAAG1C,OAAO2C,IAC3EN,UAAU/C,OAAOsD,YAAYA,GAAGC,IAAIvD,OAAOsD,GAAGH,EAAGnD,OAAOsD,GAAGF,EAAGpD,OAAOsD,GAAGD,GACxEN,UAAUpC,gBAAgBO,UAAUsC,YAAY7C,eAEhDoC,UAAU/C,OAAOyD,QAAOzC,OAAOyC,KAAOzD,OAAOyD,MAE7CV,UAAU/C,OAAOQ,QAAOQ,OAAOR,KAAOR,OAAOQ,MAEjDkD,8BAA8B1C,OAAQhB,QAC/BiC,MACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PerspectiveCameraWrapper.js","sources":["../../../src/Camera/Wrappers/PerspectiveCameraWrapper.ts"],"sourcesContent":["import type { TAbstractWrapper } from '@
|
|
1
|
+
{"version":3,"file":"PerspectiveCameraWrapper.js","sources":["../../../src/Camera/Wrappers/PerspectiveCameraWrapper.ts"],"sourcesContent":["import type { TAbstractWrapper } from '@hellpig/anarchy-engine/Abstract';\nimport { AbstractWrapper, WrapperType } from '@hellpig/anarchy-engine/Abstract';\nimport { cameraEntityToConfig } from '@hellpig/anarchy-engine/Camera/Adapters';\nimport type { CameraType } from '@hellpig/anarchy-engine/Camera/Constants';\nimport type {\n TAnyCamera,\n TCameraTransformDrive,\n TCameraWrapperDependencies,\n TCommonCameraAccessors,\n TPerspectiveCamera,\n TPerspectiveCameraAccessors,\n TPerspectiveCameraConfig,\n TPerspectiveCameraParams,\n TPerspectiveCameraWrapper\n} from '@hellpig/anarchy-engine/Camera/Models';\nimport { CameraTransformDrive } from '@hellpig/anarchy-engine/Camera/TransformDrive';\nimport { applyPerspectiveCameraParams } from '@hellpig/anarchy-engine/Camera/Utils';\nimport { withActiveMixin, withObject3d } from '@hellpig/anarchy-engine/Mixins';\nimport type { TDriveToTargetConnector } from '@hellpig/anarchy-engine/TransformDrive';\nimport { DriveToTargetConnector } from '@hellpig/anarchy-engine/TransformDrive';\nimport { applyObject3dParams, mergeAll } from '@hellpig/anarchy-engine/Utils';\nimport type { TOptional, TWriteable } from '@hellpig/anarchy-shared/Utils';\nimport { isDefined } from '@hellpig/anarchy-shared/Utils';\nimport type { Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs';\nimport { PerspectiveCamera, Vector3 } from 'three';\n\nimport { getCommonCameraAccessors, getPerspectiveCameraAccessors } from './Accessors';\n\nexport function PerspectiveCameraWrapper(params: TPerspectiveCameraParams, { container, transformDriveService, audioService }: TCameraWrapperDependencies): TPerspectiveCameraWrapper {\n const { fov = 45, near = 1, far = 10000, lookAt, audioListener }: TPerspectiveCameraParams = params;\n const { width, height }: TOptional<DOMRect> = container.viewportRect$.value ?? { width: 0, height: 0 };\n\n const entity: TWriteable<TPerspectiveCamera> = new PerspectiveCamera(fov, container.getRatio(), near, far);\n\n const accessors: TCommonCameraAccessors & TPerspectiveCameraAccessors = Object.assign(getCommonCameraAccessors(entity), getPerspectiveCameraAccessors(entity));\n accessors.setAspect(width / height);\n\n const wrapper: TAbstractWrapper<TAnyCamera> = AbstractWrapper(entity, WrapperType.Camera, params);\n const drive: TCameraTransformDrive = CameraTransformDrive(params, { transformDriveService }, wrapper.id);\n const driveToTargetConnector: TDriveToTargetConnector = DriveToTargetConnector(drive, entity);\n\n container.resize$.pipe(takeUntil(wrapper.destroy$)).subscribe(({ width, height }: DOMRect): void => {\n (accessors as unknown as TPerspectiveCameraAccessors).setAspect(width / height);\n });\n\n const result = mergeAll(wrapper, accessors, {\n drive,\n driveToTargetConnector,\n entity,\n getType: (): CameraType => entity.type as CameraType,\n ...withObject3d(entity),\n ...withActiveMixin(),\n serialize: (): TPerspectiveCameraConfig => cameraEntityToConfig(result, { audioService })\n });\n\n applyObject3dParams(result, params);\n result._setActive(params.isActive, true);\n\n const destroySub$: Subscription = result.destroy$.subscribe((): void => {\n if (isDefined(audioListener)) result.entity.remove(audioListener);\n destroySub$.unsubscribe();\n });\n\n if (isDefined(lookAt)) accessors.lookAt(new Vector3(lookAt.x, lookAt.y, lookAt.z));\n if (isDefined(params.up)) entity.up.set(params.up.x, params.up.y, params.up.z);\n if (isDefined(audioListener)) accessors.addListener(audioListener);\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(params.zoom)) entity.zoom = params.zoom;\n // eslint-disable-next-line functional/immutable-data\n if (isDefined(params.near)) entity.near = params.near;\n\n applyPerspectiveCameraParams(entity, params);\n\n return result;\n}\n"],"names":["PerspectiveCameraWrapper","params","container","transformDriveService","audioService","fov","near","far","lookAt","audioListener","width","height","viewportRect$","value","entity","PerspectiveCamera","getRatio","accessors","Object","assign","getCommonCameraAccessors","getPerspectiveCameraAccessors","setAspect","wrapper","AbstractWrapper","WrapperType","Camera","drive","CameraTransformDrive","id","driveToTargetConnector","DriveToTargetConnector","resize$","pipe","takeUntil","destroy$","subscribe","result","mergeAll","getType","type","withObject3d","withActiveMixin","serialize","cameraEntityToConfig","applyObject3dParams","_setActive","isActive","destroySub$","isDefined","remove","unsubscribe","Vector3","x","y","z","up","set","addListener","zoom","applyPerspectiveCameraParams"],"mappings":"o+BA6BO,SAASA,yBAAyBC,QAAkCC,UAAEA,UAAAC,sBAAWA,sBAAAC,aAAuBA,eAC7G,MAAMC,IAAEA,IAAM,GAAAC,KAAIA,KAAO,MAAGC,IAAM,IAAAC,OAAOA,OAAAC,cAAQA,eAA4CR,QACvFS,MAAEA,MAAAC,OAAOA,QAA+BT,UAAUU,cAAcC,OAAS,CAAEH,MAAO,EAAGC,OAAQ,GAE7FG,OAAyC,IAAIC,kBAAkBV,IAAKH,UAAUc,WAAYV,KAAMC,KAEhGU,UAAkEC,OAAOC,OAAOC,yBAAyBN,QAASO,8BAA8BP,SACtJG,UAAUK,UAAUZ,MAAQC,QAE5B,MAAMY,QAAwCC,gBAAgBV,OAAQW,YAAYC,OAAQzB,QACpF0B,MAA+BC,qBAAqB3B,OAAQ,CAAEE,6CAAyBoB,QAAQM,IAC/FC,uBAAkDC,uBAAuBJ,MAAOb,QAEtFZ,UAAU8B,QAAQC,KAAKC,UAAUX,QAAQY,WAAWC,UAAU,EAAG1B,MAAAA,OAAOC,OAAAA,YACrEM,UAAqDK,UAAUZ,OAAQC,WAG1E,MAAM0B,OAASC,SAASf,QAASN,UAAW,CAC1CU,YACAG,8CACAhB,cACAyB,QAAS,IAAkBzB,OAAO0B,QAC/BC,aAAa3B,WACb4B,kBACHC,UAAW,IAAgCC,qBAAqBP,OAAQ,CAAEjC,8BAG5EyC,oBAAoBR,OAAQpC,QAC5BoC,OAAOS,WAAW7C,OAAO8C,UAAU,GAEnC,MAAMC,YAA4BX,OAAOF,SAASC,UAAU,KACtDa,UAAUxC,gBAAgB4B,OAAOvB,OAAOoC,OAAOzC,eACnDuC,YAAYG,gBAad,OAVIF,UAAUzC,SAASS,UAAUT,OAAO,IAAI4C,QAAQ5C,OAAO6C,EAAG7C,OAAO8C,EAAG9C,OAAO+C,IAC3EN,UAAUhD,OAAOuD,YAAYA,GAAGC,IAAIxD,OAAOuD,GAAGH,EAAGpD,OAAOuD,GAAGF,EAAGrD,OAAOuD,GAAGD,GACxEN,UAAUxC,gBAAgBQ,UAAUyC,YAAYjD,eAEhDwC,UAAUhD,OAAO0D,QAAO7C,OAAO6C,KAAO1D,OAAO0D,MAE7CV,UAAUhD,OAAOK,QAAOQ,OAAOR,KAAOL,OAAOK,MAEjDsD,6BAA6B9C,OAAQb,QAE9BoC,MACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WithCollisions.js","sources":["../../../src/Collisions/Mixins/WithCollisions.ts"],"sourcesContent":["import type { TActor, TActorParams } from '@
|
|
1
|
+
{"version":3,"file":"WithCollisions.js","sources":["../../../src/Collisions/Mixins/WithCollisions.ts"],"sourcesContent":["import type { TActor, TActorParams } from '@hellpig/anarchy-engine/Actor';\nimport type { TCollisionCheckResult, TCollisionsData, TCollisionsLoop, TCollisionsService, TWithCollisions } from '@hellpig/anarchy-engine/Collisions/Models';\nimport { LoopUpdatePriority } from '@hellpig/anarchy-engine/Loop';\nimport type { TMilliseconds } from '@hellpig/anarchy-engine/Math';\nimport type { TDestroyable } from '@hellpig/anarchy-engine/Mixins';\nimport { destroyableMixin } from '@hellpig/anarchy-engine/Mixins';\nimport type { TSpatialCellWrapper } from '@hellpig/anarchy-engine/Spatial';\nimport type { TWriteable } from '@hellpig/anarchy-shared/Utils';\nimport { isDefined, removeDuplicates } from '@hellpig/anarchy-shared/Utils';\nimport type { Observable, Subscription } from 'rxjs';\nimport { BehaviorSubject, EMPTY, filter, Subject, switchMap } from 'rxjs';\n\nexport function withCollisions(params: TActorParams, collisionsService: TCollisionsService, collisionsLoop: TCollisionsLoop): TWithCollisions {\n const autoUpdate$: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(params.collisions?.isAutoUpdate ?? false);\n const value$: Subject<TCollisionCheckResult> = new Subject<TCollisionCheckResult>();\n let collisionsLoopSub$: Subscription;\n let filterFn: ((o: TActor) => boolean) | undefined = undefined;\n\n const destroyable: TDestroyable = destroyableMixin();\n const destroySub$: Subscription = destroyable.destroy$.subscribe((): void => {\n destroySub$.unsubscribe();\n\n autoUpdate$.complete();\n value$.complete();\n collisionsLoopSub$?.unsubscribe();\n });\n\n function getActorsToCheck(actor: TActor): ReadonlyArray<TActor> {\n const cells: ReadonlyArray<TSpatialCellWrapper> = actor.spatial.getSpatialCells();\n if (cells.length > 0) {\n const objects: ReadonlyArray<TActor> = actor.spatial.getSpatialCells().flatMap((cell: TSpatialCellWrapper): ReadonlyArray<TActor> => cell.getObjects());\n return removeDuplicates(isDefined(filterFn) ? objects.filter(filterFn) : objects);\n }\n return [];\n // TODO this code is probably an extra overcomplicated corner case\n // const grid: TSpatialGridWrapper = spatialGridService.getRegistry().getByName(gridName);\n // return grid.findCellsByActorBox(actor).flatMap((cell: TSpatialCellWrapper): ReadonlyArray<TActor> => cell.getObjects());\n }\n\n return {\n collisions: {\n data: {\n updatePriority: params.collisions?.updatePriority ?? LoopUpdatePriority.LOW\n },\n start(actor: TActor): void {\n const collisionsInterpolationLengthMultiplier: number = 4;\n collisionsLoopSub$ = autoUpdate$\n .pipe(\n switchMap((isAutoUpdate: boolean): Subject<TMilliseconds> | Observable<never> => (isAutoUpdate ? collisionsLoop.tick$ : EMPTY)),\n filter((): boolean => collisionsLoop.shouldUpdateWithPriority(this.getCollisionsUpdatePriority()))\n )\n .subscribe((delta: TMilliseconds): void => {\n // TODO should be possible to check collisions against another grid\n const collision: TCollisionCheckResult | undefined = collisionsService.checkCollisions(actor, getActorsToCheck(actor), collisionsInterpolationLengthMultiplier, delta);\n if (isDefined(collision)) value$.next(collision);\n });\n },\n setData({ updatePriority }: TCollisionsData): void {\n this.setCollisionsUpdatePriority(updatePriority);\n },\n getData(): TCollisionsData {\n return this.data;\n },\n setCollisionsUpdatePriority(value: LoopUpdatePriority): void {\n // eslint-disable-next-line functional/immutable-data\n (this.data as TWriteable<TCollisionsData>).updatePriority = value;\n },\n setCollisionsFilterFn(fn: (actor: TActor) => boolean): void {\n filterFn = fn;\n },\n getCollisionsUpdatePriority(): LoopUpdatePriority {\n return this.data.updatePriority;\n },\n ...destroyable,\n autoUpdate$,\n value$: value$.asObservable()\n }\n };\n}\n"],"names":["withCollisions","params","collisionsService","collisionsLoop","autoUpdate$","BehaviorSubject","collisions","isAutoUpdate","value$","Subject","collisionsLoopSub$","filterFn","destroyable","destroyableMixin","destroySub$","destroy$","subscribe","unsubscribe","complete","data","updatePriority","LoopUpdatePriority","LOW","start","actor","pipe","switchMap","tick$","EMPTY","filter","shouldUpdateWithPriority","this","getCollisionsUpdatePriority","delta","collision","checkCollisions","spatial","getSpatialCells","length","objects","flatMap","cell","getObjects","removeDuplicates","isDefined","getActorsToCheck","next","setData","setCollisionsUpdatePriority","getData","value","setCollisionsFilterFn","fn","asObservable"],"mappings":"wtBAYO,SAASA,eAAeC,OAAsBC,kBAAuCC,gBAC1F,MAAMC,YAAwC,IAAIC,gBAAyBJ,OAAOK,YAAYC,eAAgB,GACxGC,OAAyC,IAAIC,QACnD,IAAIC,mBACAC,SAEJ,MAAMC,YAA4BC,mBAC5BC,YAA4BF,YAAYG,SAASC,UAAU,KAC/DF,YAAYG,cAEZb,YAAYc,WACZV,OAAOU,WACPR,oBAAoBO,gBAetB,MAAO,CACLX,WAAY,CACVa,KAAM,CACJC,eAAgBnB,OAAOK,YAAYc,gBAAkBC,mBAAmBC,KAE1E,KAAAC,CAAMC,OAEJd,mBAAqBN,YAClBqB,KACCC,UAAWnB,cAAuEA,aAAeJ,eAAewB,MAAQC,OACxHC,OAAO,IAAe1B,eAAe2B,yBAAyBC,KAAKC,iCAEpEhB,UAAWiB,QAEV,MAAMC,UAA+ChC,kBAAkBiC,gBAAgBX,MA1BjG,SAA0BA,OAExB,GADkDA,MAAMY,QAAQC,kBACtDC,OAAS,EAAG,CACpB,MAAMC,QAAiCf,MAAMY,QAAQC,kBAAkBG,QAASC,MAAqDA,KAAKC,cAC1I,OAAOC,iBAAiBC,UAAUjC,UAAY4B,QAAQV,OAAOlB,UAAY4B,QAC3E,CACA,MAAO,EAIT,CAgBwGM,CAAiBrB,OAR3D,EAQ4GS,OAC5JW,UAAUV,YAAY1B,OAAOsC,KAAKZ,YAE5C,EACA,OAAAa,EAAQ3B,eAAEA,iBACRW,KAAKiB,4BAA4B5B,eACnC,EACA,OAAA6B,GACE,OAAOlB,KAAKZ,IACd,EACA,2BAAA6B,CAA4BE,OAEzBnB,KAAKZ,KAAqCC,eAAiB8B,KAC9D,EACA,qBAAAC,CAAsBC,IACpBzC,SAAWyC,EACb,EACA,2BAAApB,GACE,OAAOD,KAAKZ,KAAKC,cACnB,KACGR,YACHR,wBACAI,OAAQA,OAAO6C,gBAGrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BvhService.js","sources":["../../../src/Collisions/Services/BvhService.ts"],"sourcesContent":["import type { TAbstractService } from '@
|
|
1
|
+
{"version":3,"file":"BvhService.js","sources":["../../../src/Collisions/Services/BvhService.ts"],"sourcesContent":["import type { TAbstractService } from '@hellpig/anarchy-engine/Abstract';\nimport { AbstractService } from '@hellpig/anarchy-engine/Abstract';\nimport type { TActor } from '@hellpig/anarchy-engine/Actor';\nimport type { TBvhOptions, TBvhService } from '@hellpig/anarchy-engine/Collisions/Models';\nimport type { TRawModel3d } from '@hellpig/anarchy-engine/Models3d';\nimport type { TSceneWrapper } from '@hellpig/anarchy-engine/Scene';\nimport type { BufferGeometry, Group, Intersection, Mesh, Object3D, Raycaster } from 'three';\nimport type { MeshBVH } from 'three-mesh-bvh';\nimport { acceleratedRaycast, computeBoundsTree, disposeBoundsTree, MeshBVHHelper } from 'three-mesh-bvh';\n\nexport function BvhService(): TBvhService {\n const abstractService: TAbstractService = AbstractService();\n\n const computeBVHBoundsTree = (geometry: BufferGeometry, options?: TBvhOptions): MeshBVH => computeBoundsTree.call(geometry, options);\n const disposeBVHBoundsTree = (geometry: BufferGeometry): void => disposeBoundsTree.call(geometry);\n\n function raycastWithBvh(actor: TActor, raycaster: Raycaster, intersects: Array<Intersection>): void {\n processEntity(actor.model3d.getRawModel3d(), (mesh) => {\n acceleratedRaycast.call(mesh, raycaster, intersects);\n });\n }\n\n function createBvhForActor(actor: TActor, options?: TBvhOptions): void {\n processEntity(actor.model3d.getRawModel3d(), (mesh: Mesh) => computeBVHBoundsTree(mesh.geometry, options));\n }\n\n // this highlight is for debugging purposes only\n function _debugVisualizeBvhForActor(actor: TActor, sceneW: TSceneWrapper, depth: number = 10): void {\n processEntity(actor.model3d.getRawModel3d(), (mesh: Mesh) => {\n const bvhHelper: MeshBVHHelper = new MeshBVHHelper(mesh, depth);\n sceneW.entity.add(bvhHelper);\n });\n }\n\n // this highlight is for debugging purposes only\n function _debugVisualizeBvhForScene(sceneW: TSceneWrapper, depth: number = 10): void {\n sceneW.entity.traverse((object) => {\n if ((object as Mesh).isMesh) {\n const bvhHelper: MeshBVHHelper = new MeshBVHHelper(object as Mesh, depth);\n sceneW.entity.add(bvhHelper);\n }\n });\n }\n\n // eslint-disable-next-line functional/immutable-data\n return Object.assign(abstractService, {\n computeBVHBoundsTree,\n disposeBVHBoundsTree,\n raycastWithBvh,\n createBvhForActor,\n _debugVisualizeBvhForActor,\n _debugVisualizeBvhForScene\n });\n}\n\nfunction processEntity(entity: TRawModel3d, callback: (mesh: Mesh) => void): void {\n if ((entity as Mesh).isMesh) return callback(entity as Mesh);\n if ((entity as Group).isGroup || (entity as Object3D).isObject3D) {\n return entity.traverse((object: unknown) => {\n if ((object as Mesh).isMesh) {\n callback(object as Mesh);\n }\n });\n }\n return undefined;\n}\n"],"names":["BvhService","abstractService","AbstractService","computeBVHBoundsTree","geometry","options","computeBoundsTree","call","Object","assign","disposeBVHBoundsTree","disposeBoundsTree","raycastWithBvh","actor","raycaster","intersects","processEntity","model3d","getRawModel3d","mesh","acceleratedRaycast","createBvhForActor","_debugVisualizeBvhForActor","sceneW","depth","bvhHelper","MeshBVHHelper","entity","add","_debugVisualizeBvhForScene","traverse","object","isMesh","callback","isGroup","isObject3D"],"mappings":"wSAUO,SAASA,aACd,MAAMC,gBAAoCC,kBAEpCC,qBAAuB,CAACC,SAA0BC,UAAmCC,kBAAkBC,KAAKH,SAAUC,SAgC5H,OAAOG,OAAOC,OAAOR,gBAAiB,CACpCE,0CACAO,qBAjC4BN,UAAmCO,kBAAkBJ,KAAKH,UAkCtFQ,eAhCF,SAAwBC,MAAeC,UAAsBC,YAC3DC,cAAcH,MAAMI,QAAQC,gBAAkBC,OAC5CC,mBAAmBb,KAAKY,KAAML,UAAWC,aAE7C,EA6BEM,kBA3BF,SAA2BR,MAAeR,SACxCW,cAAcH,MAAMI,QAAQC,gBAAkBC,MAAehB,qBAAqBgB,KAAKf,SAAUC,SACnG,EA0BEiB,2BAvBF,SAAoCT,MAAeU,OAAuBC,MAAgB,IACxFR,cAAcH,MAAMI,QAAQC,gBAAkBC,OAC5C,MAAMM,UAA2B,IAAIC,cAAcP,KAAMK,OACzDD,OAAOI,OAAOC,IAAIH,YAEtB,EAmBEI,2BAhBF,SAAoCN,OAAuBC,MAAgB,IACzED,OAAOI,OAAOG,SAAUC,SACtB,GAAKA,OAAgBC,OAAQ,CAC3B,MAAMP,UAA2B,IAAIC,cAAcK,OAAgBP,OACnED,OAAOI,OAAOC,IAAIH,UACpB,GAEJ,GAWF,CAEA,SAAST,cAAcW,OAAqBM,UAC1C,OAAKN,OAAgBK,OAAeC,SAASN,QACxCA,OAAiBO,SAAYP,OAAoBQ,WAC7CR,OAAOG,SAAUC,SACjBA,OAAgBC,QACnBC,SAASF,eAHf,CAQF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollisionsService.js","sources":["../../../src/Collisions/Services/CollisionsService.ts"],"sourcesContent":["import type { TAbstractService } from '@
|
|
1
|
+
{"version":3,"file":"CollisionsService.js","sources":["../../../src/Collisions/Services/CollisionsService.ts"],"sourcesContent":["import type { TAbstractService } from '@hellpig/anarchy-engine/Abstract';\nimport { AbstractService } from '@hellpig/anarchy-engine/Abstract';\nimport type { TActor } from '@hellpig/anarchy-engine/Actor/Models';\nimport type { TBvhService, TCollisionCheckResult, TCollisionsService } from '@hellpig/anarchy-engine/Collisions/Models';\nimport type { TReadonlyVector3 } from '@hellpig/anarchy-engine/ThreeLib';\nimport type { Vector3 } from 'three';\nimport { Raycaster } from 'three';\n\nimport { BvhService } from './BvhService';\n\nexport function CollisionsService(): TCollisionsService {\n const bvhService: TBvhService = BvhService();\n const abstractService: TAbstractService = AbstractService([bvhService]);\n\n // The bigger \"interpolationLengthMultiplier\" then less chance the bullet won't fly through the target without a collision registration. But the too big value might lead to false positives registrations\n // i.g. bigger \"interpolationLengthMultiplier\" (2, 4, etc.) is safer (but better test it first)\n function checkCollisions(actor: TActor, actorsToCheck: ReadonlyArray<TActor>, interpolationLengthMultiplier: number, delta: number): TCollisionCheckResult | undefined {\n const currentPosition: TReadonlyVector3 = actor.drive.position$.value;\n const direction: Vector3 = actor.drive.kinematic.getLinearDirection().clone().normalize();\n const speed: number = actor.drive.kinematic.getLinearSpeed();\n\n const extendedDistance: number = speed * delta * interpolationLengthMultiplier;\n const previousPosition: Vector3 = currentPosition.clone().sub(direction.multiplyScalar(extendedDistance));\n\n // TODO we could reuse raycaster instead of creating a new one every time\n const raycaster = new Raycaster();\n raycaster.set(previousPosition, direction);\n // eslint-disable-next-line functional/immutable-data\n raycaster.far = extendedDistance;\n // eslint-disable-next-line functional/immutable-data\n raycaster.firstHitOnly = true;\n\n // eslint-disable-next-line functional/no-loop-statements\n for (const object of actorsToCheck) {\n if (object.id === actor.id) continue;\n\n const intersects = raycaster.intersectObject(object.model3d.getRawModel3d(), true);\n if (intersects.length > 0) {\n const intersection = intersects[0];\n if (intersection.distance <= extendedDistance) {\n return {\n object,\n distance: intersection.distance,\n collisionPoint: intersection.point,\n bulletPosition: currentPosition.clone()\n };\n }\n }\n }\n\n return undefined;\n }\n\n // eslint-disable-next-line functional/immutable-data\n return Object.assign(abstractService, {\n checkCollisions,\n bvh: bvhService\n });\n}\n"],"names":["CollisionsService","bvhService","BvhService","abstractService","AbstractService","Object","assign","checkCollisions","actor","actorsToCheck","interpolationLengthMultiplier","delta","currentPosition","drive","position$","value","direction","kinematic","getLinearDirection","clone","normalize","extendedDistance","getLinearSpeed","previousPosition","sub","multiplyScalar","raycaster","Raycaster","set","far","firstHitOnly","object","id","intersects","intersectObject","model3d","getRawModel3d","length","intersection","distance","collisionPoint","point","bulletPosition","bvh"],"mappings":"6IAUO,SAASA,oBACd,MAAMC,WAA0BC,aAC1BC,gBAAoCC,gBAAgB,CAACH,aA0C3D,OAAOI,OAAOC,OAAOH,gBAAiB,CACpCI,gBAvCF,SAAyBC,MAAeC,cAAsCC,8BAAuCC,OACnH,MAAMC,gBAAoCJ,MAAMK,MAAMC,UAAUC,MAC1DC,UAAqBR,MAAMK,MAAMI,UAAUC,qBAAqBC,QAAQC,YAGxEC,iBAFgBb,MAAMK,MAAMI,UAAUK,iBAEHX,MAAQD,8BAC3Ca,iBAA4BX,gBAAgBO,QAAQK,IAAIR,UAAUS,eAAeJ,mBAGjFK,UAAY,IAAIC,UACtBD,UAAUE,IAAIL,iBAAkBP,WAEhCU,UAAUG,IAAMR,iBAEhBK,UAAUI,cAAe,EAGzB,IAAA,MAAWC,UAAUtB,cAAe,CAClC,GAAIsB,OAAOC,KAAOxB,MAAMwB,GAAI,SAE5B,MAAMC,WAAaP,UAAUQ,gBAAgBH,OAAOI,QAAQC,iBAAiB,GAC7E,GAAIH,WAAWI,OAAS,EAAG,CACzB,MAAMC,aAAeL,WAAW,GAChC,GAAIK,aAAaC,UAAYlB,iBAC3B,MAAO,CACLU,cACAQ,SAAUD,aAAaC,SACvBC,eAAgBF,aAAaG,MAC7BC,eAAgB9B,gBAAgBO,QAGtC,CACF,CAGF,EAKEwB,IAAK1C,YAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/Color/Adapters/EntityToConfig.ts"],"sourcesContent":["import type { TColorWrapper } from '@
|
|
1
|
+
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/Color/Adapters/EntityToConfig.ts"],"sourcesContent":["import type { TColorWrapper } from '@hellpig/anarchy-engine/Color/Models';\nimport { isNotDefined } from '@hellpig/anarchy-shared/Utils';\nimport type { Color, ColorRepresentation } from 'three';\n\nexport function colorEntityToConfig(entity: TColorWrapper): ColorRepresentation {\n return serializeColor(entity.entity);\n}\n\nexport function serializeColor(color: Color): string {\n return `#${color.getHexString().toUpperCase()}`;\n}\n\nexport function serializeColorWhenPossible(color: Color | undefined): string | undefined {\n if (isNotDefined(color)) return undefined;\n return serializeColor(color);\n}\n"],"names":["colorEntityToConfig","entity","serializeColor","color","getHexString","toUpperCase","serializeColorWhenPossible","isNotDefined"],"mappings":"gFAIO,SAASA,oBAAoBC,QAClC,OAAOC,eAAeD,OAAOA,OAC/B,CAEO,SAASC,eAAeC,OAC7B,MAAO,IAAIA,MAAMC,eAAeC,eAClC,CAEO,SAASC,2BAA2BH,OACzC,IAAII,aAAaJ,OACjB,OAAOD,eAAeC,MACxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorWrapper.js","sources":["../../../src/Color/Wrappers/ColorWrapper.ts"],"sourcesContent":["import { AbstractWrapper, WrapperType } from '@
|
|
1
|
+
{"version":3,"file":"ColorWrapper.js","sources":["../../../src/Color/Wrappers/ColorWrapper.ts"],"sourcesContent":["import { AbstractWrapper, WrapperType } from '@hellpig/anarchy-engine/Abstract';\nimport { colorEntityToConfig } from '@hellpig/anarchy-engine/Color/Adapters';\nimport type { TColor, TColorParams, TColorWrapper } from '@hellpig/anarchy-engine/Color/Models';\nimport { isColorWrapper } from '@hellpig/anarchy-engine/Utils';\nimport type { ColorRepresentation } from 'three';\nimport { Color } from 'three';\n\nexport function ColorWrapper(color: TColorParams): TColorWrapper {\n const entity: TColor = new Color(isColorWrapper(color) ? color.entity : color);\n const result = Object.assign(AbstractWrapper(entity, WrapperType.Color), { entity, serialize: (): ColorRepresentation => colorEntityToConfig(result) });\n return result;\n}\n"],"names":["ColorWrapper","color","entity","Color","isColorWrapper","result","Object","assign","AbstractWrapper","WrapperType","serialize","colorEntityToConfig"],"mappings":"uRAOO,SAASA,aAAaC,OAC3B,MAAMC,OAAiB,IAAIC,MAAMC,eAAeH,OAASA,MAAMC,OAASD,OAClEI,OAASC,OAAOC,OAAOC,gBAAgBN,OAAQO,YAAYN,OAAQ,CAAED,cAAQQ,UAAW,IAA2BC,oBAAoBN,UAC7I,OAAOA,MACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AmbientContext.js","sources":["../../../src/Context/AmbientContext/AmbientContext.ts"],"sourcesContent":["import { ContainerDecorator } from '@
|
|
1
|
+
{"version":3,"file":"AmbientContext.js","sources":["../../../src/Context/AmbientContext/AmbientContext.ts"],"sourcesContent":["import { ContainerDecorator } from '@hellpig/anarchy-engine/Global';\n\nimport type { TAmbientContext } from './Models';\n\nexport const ambientContext: TAmbientContext = { globalContainer: ContainerDecorator(window) };\n"],"names":["ambientContext","globalContainer","ContainerDecorator","window"],"mappings":"8EAIO,MAAMA,eAAkC,CAAEC,gBAAiBC,mBAAmBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigToParams.js","sources":["../../../src/Controls/Adapters/ConfigToParams.ts"],"sourcesContent":["import type { TGetParamsFn } from '@
|
|
1
|
+
{"version":3,"file":"ConfigToParams.js","sources":["../../../src/Controls/Adapters/ConfigToParams.ts"],"sourcesContent":["import type { TGetParamsFn } from '@hellpig/anarchy-engine/Abstract';\nimport { ControlsType } from '@hellpig/anarchy-engine/Controls/Constants';\nimport type {\n TAdditionalControlsConfigParams,\n TControlsConfig,\n TControlsParams,\n TFpsControlsConfig,\n TFpsControlsParams,\n TOrbitControlsConfig,\n TOrbitControlsConfigOptions,\n TOrbitControlsParams,\n TOrbitControlsParamsOptions\n} from '@hellpig/anarchy-engine/Controls/Models';\nimport { isDefined, isNotDefined } from '@hellpig/anarchy-shared/Utils';\nimport { Vector3 } from 'three';\n\nexport const controlsConfigToParams: TGetParamsFn<TControlsParams, TControlsConfig> = (config: TControlsConfig, additional: TAdditionalControlsConfigParams): TControlsParams | never => {\n if (config.type === ControlsType.OrbitControls) return getOrbitControlsParams(config as TOrbitControlsConfig, additional);\n if (config.type === ControlsType.FirstPersonControls) return getFpsControlsParams(config as TFpsControlsConfig, additional);\n throw new Error(`Cannot create controls of unknown type \"${config.type}\"`);\n};\n\nfunction getOrbitControlsParams(config: TOrbitControlsConfig, { camera, canvas }: TAdditionalControlsConfigParams): TOrbitControlsParams {\n if (config.type !== ControlsType.OrbitControls) throw new Error(`Cannot create controls of unknown type \"${config.type}\"`);\n const { options, ...rest } = config;\n const paramsOptions: TOrbitControlsParamsOptions = getOptionsFromConfig(options);\n\n return {\n ...rest,\n options: paramsOptions,\n camera,\n target: isDefined(config.target) ? new Vector3().copy(config.target) : new Vector3(),\n canvas\n };\n}\n\nfunction getOptionsFromConfig(options: TOrbitControlsConfigOptions | undefined): TOrbitControlsParamsOptions {\n if (isNotDefined(options)) return {};\n\n const { cursor, ...rest } = options;\n\n let result: TOrbitControlsParamsOptions = { ...rest };\n if (isDefined(cursor)) result = { ...result, cursor: new Vector3(cursor.x, cursor.y, cursor.z) };\n\n return result;\n}\n\nfunction getFpsControlsParams(config: TFpsControlsConfig, { camera, canvas }: TAdditionalControlsConfigParams): TFpsControlsParams {\n if (config.type !== ControlsType.FirstPersonControls) throw new Error(`Cannot create controls of unknown type \"${config.type}\"`);\n\n return { ...config, camera, canvas };\n}\n"],"names":["controlsConfigToParams","config","additional","type","ControlsType","OrbitControls","camera","canvas","Error","options","rest","paramsOptions","isNotDefined","cursor","result","isDefined","Vector3","x","y","z","getOptionsFromConfig","target","copy","getOrbitControlsParams","FirstPersonControls","getFpsControlsParams"],"mappings":"4KAgBO,MAAMA,uBAAyE,CAACC,OAAyBC,cAC9G,GAAID,OAAOE,OAASC,aAAaC,cAAe,OAKlD,SAAgCJ,QAA8BK,OAAEA,OAAAC,OAAQA,SACtE,GAAIN,OAAOE,OAASC,aAAaC,cAAe,MAAM,IAAIG,MAAM,2CAA2CP,OAAOE,SAClH,MAAMM,QAAEA,WAAYC,MAAST,OACvBU,cAWR,SAA8BF,SAC5B,GAAIG,aAAaH,SAAU,MAAO,CAAA,EAElC,MAAMI,OAAEA,UAAWH,MAASD,QAE5B,IAAIK,OAAsC,IAAKJ,MAG/C,OAFIK,UAAUF,UAASC,OAAS,IAAKA,OAAQD,OAAQ,IAAIG,QAAQH,OAAOI,EAAGJ,OAAOK,EAAGL,OAAOM,KAErFL,MACT,CApBqDM,CAAqBX,SAExE,MAAO,IACFC,KACHD,QAASE,cACTL,cACAe,OAAQN,UAAUd,OAAOoB,SAAU,IAAIL,SAAUM,KAAKrB,OAAOoB,QAAU,IAAIL,QAC3ET,cAEJ,CAjByDgB,CAAuBtB,OAAgCC,YAC9G,GAAID,OAAOE,OAASC,aAAaoB,oBAAqB,OA6BxD,SAA8BvB,QAA4BK,OAAEA,OAAAC,OAAQA,SAClE,GAAIN,OAAOE,OAASC,aAAaoB,oBAAqB,MAAM,IAAIhB,MAAM,2CAA2CP,OAAOE,SAExH,MAAO,IAAKF,OAAQK,cAAQC,cAC9B,CAjC+DkB,CAAqBxB,OAA8BC,YAChH,MAAM,IAAIM,MAAM,2CAA2CP,OAAOE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/Controls/Adapters/EntityToConfig.ts"],"sourcesContent":["import type { TAnyCamera, TAnyCameraWrapper } from '@
|
|
1
|
+
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/Controls/Adapters/EntityToConfig.ts"],"sourcesContent":["import type { TAnyCamera, TAnyCameraWrapper } from '@hellpig/anarchy-engine/Camera';\nimport type {\n TAnyControlsWrapper,\n TControlsConfig,\n TControlsServiceDependencies,\n TFpsControlsWrapper,\n TOrbitControlsConfigOptions,\n TOrbitControlsWrapper\n} from '@hellpig/anarchy-engine/Controls/Models';\nimport type { TFpsControlsConfigOptions } from '@hellpig/anarchy-engine/Controls/Models/TFpsControlsConfigOptions';\nimport { isFpsControls, isOrbitControls } from '@hellpig/anarchy-engine/Controls/Utils';\nimport { extractSerializableRegistrableFields } from '@hellpig/anarchy-engine/Mixins';\nimport { vector3ToXyz } from '@hellpig/anarchy-engine/Utils';\nimport type { TWriteable } from '@hellpig/anarchy-shared/Utils';\nimport { filterOutEmptyFields, isNotDefined } from '@hellpig/anarchy-shared/Utils';\n\nexport function controlsToConfig(entity: TAnyControlsWrapper, { cameraService }: TControlsServiceDependencies): TControlsConfig {\n const camera: TAnyCamera | undefined = entity.entity.object as TAnyCamera;\n if (isNotDefined(camera)) throw new Error(`[Serialization] Controls: camera not found for entity with name: \"${entity.name}\", (id: \"${entity.id}\")`);\n\n const cameraW: TAnyCameraWrapper = cameraService.getRegistry().get((cameraWrapper: TAnyCameraWrapper): boolean => cameraWrapper.entity === camera);\n\n const result: TWriteable<TControlsConfig> = filterOutEmptyFields({\n enabled: entity.isEnable(),\n type: entity.getType(),\n isActive: entity.isActive(),\n cameraName: cameraW.name,\n ...extractSerializableRegistrableFields(entity)\n });\n\n const options = {};\n\n // eslint-disable-next-line functional/immutable-data\n if (isOrbitControls(entity)) Object.assign(options, getOrbitControlsFields(entity as TOrbitControlsWrapper));\n\n // eslint-disable-next-line functional/immutable-data\n if (isFpsControls(entity)) Object.assign(options, getFpsControlsFields(entity as TFpsControlsWrapper));\n\n // eslint-disable-next-line functional/immutable-data\n result.options = filterOutEmptyFields(options);\n\n return filterOutEmptyFields(result);\n}\n\nfunction getOrbitControlsFields(entity: TOrbitControlsWrapper): TOrbitControlsConfigOptions {\n return filterOutEmptyFields({\n autoRotate: entity.getAutoRotate(),\n autoRotateSpeed: entity.getAutoRotateSpeed(),\n cursor: vector3ToXyz(entity.entity.cursor.clone()),\n dampingFactor: entity.getDampingFactor(),\n enableDamping: entity.getDamping(),\n enablePan: entity.getEnablePan(),\n enableRotate: entity.getEnableRotate(),\n enableZoom: entity.getEnableZoom(),\n keyPanSpeed: entity.getKeyPanSpeed(),\n maxAzimuthAngle: entity.getMaxAzimuthAngle(),\n maxDistance: entity.getMaxDistance(),\n maxPolarAngle: entity.getMaxPolarAngle(),\n maxTargetRadius: entity.getMaxTargetRadius(),\n maxZoom: entity.getMaxZoom(),\n minAzimuthAngle: entity.getMinAzimuthAngle(),\n minDistance: entity.getMinDistance(),\n minPolarAngle: entity.getMinPolarAngle(),\n minTargetRadius: entity.getMinTargetRadius(),\n minZoom: entity.getMinZoom(),\n panSpeed: entity.getPanSpeed(),\n rotateSpeed: entity.getRotateSpeed(),\n screenSpacePanning: entity.getScreenSpacePanning(),\n target: vector3ToXyz(entity.entity.target.clone()),\n zoomSpeed: entity.getZoomSpeed(),\n zoomToCursor: entity.getZoomToCursor()\n });\n}\n\nfunction getFpsControlsFields(entity: TFpsControlsWrapper): TFpsControlsConfigOptions {\n return filterOutEmptyFields({\n activeLook: entity.getActiveLook(),\n autoForward: entity.getAutoForward(),\n constrainVertical: entity.getConstrainVertical(),\n heightCoef: entity.getHeightCoef(),\n heightMax: entity.getHeightMax(),\n heightMin: entity.getHeightMin(),\n heightSpeed: entity.getHeightSpeed(),\n lookSpeed: entity.getLookSpeed(),\n lookVertical: entity.getLookVertical(),\n mouseDragOn: entity.getMouseDragOn(),\n movementSpeed: entity.getMovementSpeed(),\n verticalMax: entity.getVerticalMax(),\n verticalMin: entity.getVerticalMin()\n });\n}\n"],"names":["controlsToConfig","entity","cameraService","camera","object","isNotDefined","Error","name","id","cameraW","getRegistry","get","cameraWrapper","result","filterOutEmptyFields","enabled","isEnable","type","getType","isActive","cameraName","extractSerializableRegistrableFields","options","isOrbitControls","Object","assign","autoRotate","getAutoRotate","autoRotateSpeed","getAutoRotateSpeed","cursor","vector3ToXyz","clone","dampingFactor","getDampingFactor","enableDamping","getDamping","enablePan","getEnablePan","enableRotate","getEnableRotate","enableZoom","getEnableZoom","keyPanSpeed","getKeyPanSpeed","maxAzimuthAngle","getMaxAzimuthAngle","maxDistance","getMaxDistance","maxPolarAngle","getMaxPolarAngle","maxTargetRadius","getMaxTargetRadius","maxZoom","getMaxZoom","minAzimuthAngle","getMinAzimuthAngle","minDistance","getMinDistance","minPolarAngle","getMinPolarAngle","minTargetRadius","getMinTargetRadius","minZoom","getMinZoom","panSpeed","getPanSpeed","rotateSpeed","getRotateSpeed","screenSpacePanning","getScreenSpacePanning","target","zoomSpeed","getZoomSpeed","zoomToCursor","getZoomToCursor","getOrbitControlsFields","isFpsControls","activeLook","getActiveLook","autoForward","getAutoForward","constrainVertical","getConstrainVertical","heightCoef","getHeightCoef","heightMax","getHeightMax","heightMin","getHeightMin","heightSpeed","getHeightSpeed","lookSpeed","getLookSpeed","lookVertical","getLookVertical","mouseDragOn","getMouseDragOn","movementSpeed","getMovementSpeed","verticalMax","getVerticalMax","verticalMin","getVerticalMin","getFpsControlsFields"],"mappings":"sZAgBO,SAASA,iBAAiBC,QAA6BC,cAAEA,gBAC9D,MAAMC,OAAiCF,OAAOA,OAAOG,OACrD,GAAIC,aAAaF,QAAS,MAAM,IAAIG,MAAM,qEAAqEL,OAAOM,gBAAgBN,OAAOO,QAE7I,MAAMC,QAA6BP,cAAcQ,cAAcC,IAAKC,eAA8CA,cAAcX,SAAWE,QAErIU,OAAsCC,qBAAqB,CAC/DC,QAASd,OAAOe,WAChBC,KAAMhB,OAAOiB,UACbC,SAAUlB,OAAOkB,WACjBC,WAAYX,QAAQF,QACjBc,qCAAqCpB,UAGpCqB,QAAU,CAAA,EAWhB,OARIC,gBAAgBtB,SAASuB,OAAOC,OAAOH,QAW7C,SAAgCrB,QAC9B,OAAOa,qBAAqB,CAC1BY,WAAYzB,OAAO0B,gBACnBC,gBAAiB3B,OAAO4B,qBACxBC,OAAQC,aAAa9B,OAAOA,OAAO6B,OAAOE,SAC1CC,cAAehC,OAAOiC,mBACtBC,cAAelC,OAAOmC,aACtBC,UAAWpC,OAAOqC,eAClBC,aAActC,OAAOuC,kBACrBC,WAAYxC,OAAOyC,gBACnBC,YAAa1C,OAAO2C,iBACpBC,gBAAiB5C,OAAO6C,qBACxBC,YAAa9C,OAAO+C,iBACpBC,cAAehD,OAAOiD,mBACtBC,gBAAiBlD,OAAOmD,qBACxBC,QAASpD,OAAOqD,aAChBC,gBAAiBtD,OAAOuD,qBACxBC,YAAaxD,OAAOyD,iBACpBC,cAAe1D,OAAO2D,mBACtBC,gBAAiB5D,OAAO6D,qBACxBC,QAAS9D,OAAO+D,aAChBC,SAAUhE,OAAOiE,cACjBC,YAAalE,OAAOmE,iBACpBC,mBAAoBpE,OAAOqE,wBAC3BC,OAAQxC,aAAa9B,OAAOA,OAAOsE,OAAOvC,SAC1CwC,UAAWvE,OAAOwE,eAClBC,aAAczE,OAAO0E,mBAEzB,CAvCsDC,CAAuB3E,SAGvE4E,cAAc5E,SAASuB,OAAOC,OAAOH,QAsC3C,SAA8BrB,QAC5B,OAAOa,qBAAqB,CAC1BgE,WAAY7E,OAAO8E,gBACnBC,YAAa/E,OAAOgF,iBACpBC,kBAAmBjF,OAAOkF,uBAC1BC,WAAYnF,OAAOoF,gBACnBC,UAAWrF,OAAOsF,eAClBC,UAAWvF,OAAOwF,eAClBC,YAAazF,OAAO0F,iBACpBC,UAAW3F,OAAO4F,eAClBC,aAAc7F,OAAO8F,kBACrBC,YAAa/F,OAAOgG,iBACpBC,cAAejG,OAAOkG,mBACtBC,YAAanG,OAAOoG,iBACpBC,YAAarG,OAAOsG,kBAExB,CAtDoDC,CAAqBvG,SAGvEY,OAAOS,QAAUR,qBAAqBQ,SAE/BR,qBAAqBD,OAC9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlsFactory.js","sources":["../../../src/Controls/Factories/ControlsFactory.ts"],"sourcesContent":["import type { TReactiveFactory } from '@
|
|
1
|
+
{"version":3,"file":"ControlsFactory.js","sources":["../../../src/Controls/Factories/ControlsFactory.ts"],"sourcesContent":["import type { TReactiveFactory } from '@hellpig/anarchy-engine/Abstract';\nimport { FactoryType, ReactiveFactory } from '@hellpig/anarchy-engine/Abstract';\nimport { controlsConfigToParams } from '@hellpig/anarchy-engine/Controls/Adapters';\nimport { ControlsType } from '@hellpig/anarchy-engine/Controls/Constants';\nimport type { TAnyControlsWrapper, TControlsFactory, TControlsParams, TFpsControlsParams, TOrbitControlsParams } from '@hellpig/anarchy-engine/Controls/Models';\nimport { FpsControlsWrapper, OrbitControlsWrapper } from '@hellpig/anarchy-engine/Controls/Wrappers';\n\nfunction create(params: TControlsParams): TAnyControlsWrapper | never {\n switch (params.type) {\n case ControlsType.FirstPersonControls:\n return FpsControlsWrapper(params as TFpsControlsParams);\n case ControlsType.OrbitControls:\n return OrbitControlsWrapper(params as TOrbitControlsParams);\n default:\n throw new Error(`Unknown controls type: ${params.type}`);\n }\n}\n\nexport function ControlsFactory(): TControlsFactory {\n const factory: TReactiveFactory<TAnyControlsWrapper, TControlsParams> = ReactiveFactory(FactoryType.Controls, create);\n // eslint-disable-next-line functional/immutable-data\n return Object.assign(factory, { configToParams: controlsConfigToParams });\n}\n"],"names":["create","params","type","ControlsType","FirstPersonControls","FpsControlsWrapper","OrbitControls","OrbitControlsWrapper","Error","ControlsFactory","factory","ReactiveFactory","FactoryType","Controls","Object","assign","configToParams","controlsConfigToParams"],"mappings":"qaAOA,SAASA,OAAOC,QACd,OAAQA,OAAOC,MACb,KAAKC,aAAaC,oBAChB,OAAOC,mBAAmBJ,QAC5B,KAAKE,aAAaG,cAChB,OAAOC,qBAAqBN,QAC9B,QACE,MAAM,IAAIO,MAAM,0BAA0BP,OAAOC,QAEvD,CAEO,SAASO,kBACd,MAAMC,QAAkEC,gBAAgBC,YAAYC,SAAUb,QAE9G,OAAOc,OAAOC,OAAOL,QAAS,CAAEM,eAAgBC,wBAClD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlsLoopEffect.js","sources":["../../../src/Controls/Loop/ControlsLoopEffect.ts"],"sourcesContent":["import type { TAnyControlsWrapper, TControlsLoop, TControlsRegistry } from '@
|
|
1
|
+
{"version":3,"file":"ControlsLoopEffect.js","sources":["../../../src/Controls/Loop/ControlsLoopEffect.ts"],"sourcesContent":["import type { TAnyControlsWrapper, TControlsLoop, TControlsRegistry } from '@hellpig/anarchy-engine/Controls/Models';\nimport type { Subscription } from 'rxjs';\n\nexport function controlsLoopEffect(loop: TControlsLoop, registry: TControlsRegistry): Subscription {\n return loop.tick$.subscribe((delta: number): void => {\n registry.forEach((controls: TAnyControlsWrapper): void => {\n if (controls.entity.enabled) controls.entity.update(delta);\n });\n });\n}\n"],"names":["controlsLoopEffect","loop","registry","tick$","subscribe","delta","forEach","controls","entity","enabled","update"],"mappings":"AAGO,SAASA,mBAAmBC,KAAqBC,UACtD,OAAOD,KAAKE,MAAMC,UAAWC,QAC3BH,SAASI,QAASC,WACZA,SAASC,OAAOC,SAASF,SAASC,OAAOE,OAAOL,UAG1D"}
|
|
@@ -4,7 +4,7 @@ import { ControlsType } from '../Constants';
|
|
|
4
4
|
import { TMilliseconds } from '../../Math';
|
|
5
5
|
import { TWithActiveMixin } from '../../Mixins';
|
|
6
6
|
import { Euler, EventDispatcher, Quaternion } from 'three';
|
|
7
|
-
import { FirstPersonControls } from 'three/examples/jsm/controls/FirstPersonControls';
|
|
7
|
+
import { FirstPersonControls } from '../../../../../node_modules/@types/three/examples/jsm/controls/FirstPersonControls';
|
|
8
8
|
import { TControlsServiceDependencies } from './TControlsServiceDependencies';
|
|
9
9
|
import { TFpsControlsAccessors } from './TFpsControlsAccessors';
|
|
10
10
|
import { TFpsControlsConfig } from './TFpsControlsConfig';
|
|
@@ -5,7 +5,7 @@ import { TMilliseconds } from '../../Math';
|
|
|
5
5
|
import { TWithActiveMixin } from '../../Mixins';
|
|
6
6
|
import { TReadonlyVector3 } from '../../ThreeLib';
|
|
7
7
|
import { Euler, Quaternion, Vector3 } from 'three';
|
|
8
|
-
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';
|
|
8
|
+
import { OrbitControls } from '../../../../../node_modules/@types/three/examples/jsm/controls/OrbitControls';
|
|
9
9
|
import { TControlsServiceDependencies } from './TControlsServiceDependencies';
|
|
10
10
|
import { TOrbitControlsAccessors } from './TOrbitControlsAccessors';
|
|
11
11
|
import { TOrbitControlsConfig } from './TOrbitControlsConfig';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlsRegistry.js","sources":["../../../src/Controls/Registries/ControlsRegistry.ts"],"sourcesContent":["import { RegistryType } from '@
|
|
1
|
+
{"version":3,"file":"ControlsRegistry.js","sources":["../../../src/Controls/Registries/ControlsRegistry.ts"],"sourcesContent":["import { RegistryType } from '@hellpig/anarchy-engine/Abstract/Constants';\nimport { AbstractEntityRegistry } from '@hellpig/anarchy-engine/Abstract/Registries';\nimport type { TAnyControlsWrapper, TControlsRegistry } from '@hellpig/anarchy-engine/Controls/Models';\n\nexport function ControlsRegistry(): TControlsRegistry {\n return AbstractEntityRegistry<TAnyControlsWrapper>(RegistryType.Controls);\n}\n"],"names":["ControlsRegistry","AbstractEntityRegistry","RegistryType","Controls"],"mappings":"2JAIO,SAASA,mBACd,OAAOC,uBAA4CC,aAAaC,SAClE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlsService.js","sources":["../../../src/Controls/Services/ControlsService.ts"],"sourcesContent":["import type { TAbstractService, TRegistryPack } from '@
|
|
1
|
+
{"version":3,"file":"ControlsService.js","sources":["../../../src/Controls/Services/ControlsService.ts"],"sourcesContent":["import type { TAbstractService, TRegistryPack } from '@hellpig/anarchy-engine/Abstract';\nimport { AbstractService } from '@hellpig/anarchy-engine/Abstract';\nimport type { TAbstractCameraRegistry, TAnyCameraWrapper } from '@hellpig/anarchy-engine/Camera';\nimport { controlsLoopEffect } from '@hellpig/anarchy-engine/Controls/Loop';\nimport type {\n TAnyControlsWrapper,\n TControlsConfig,\n TControlsFactory,\n TControlsParams,\n TControlsRegistry,\n TControlsService,\n TControlsServiceDependencies,\n TControlsServiceWithFactory,\n TControlsServiceWithRegistry\n} from '@hellpig/anarchy-engine/Controls/Models';\nimport type { TDisposable, TWithActiveMixinResult } from '@hellpig/anarchy-engine/Mixins';\nimport { withActiveEntityServiceMixin, withFactoryService, withRegistryService, withSerializableEntities } from '@hellpig/anarchy-engine/Mixins';\nimport type { TSpaceCanvas, TSpaceLoops } from '@hellpig/anarchy-engine/Space';\nimport { mergeAll } from '@hellpig/anarchy-engine/Utils';\nimport type { Subscription } from 'rxjs';\n\nexport function ControlService(\n factory: TControlsFactory,\n registry: TControlsRegistry,\n { controlsLoop }: TSpaceLoops,\n { cameraService }: TControlsServiceDependencies,\n canvas: TSpaceCanvas\n): TControlsService {\n const withActive: TWithActiveMixinResult<TAnyControlsWrapper> = withActiveEntityServiceMixin<TAnyControlsWrapper>(registry);\n const registrySub$: Subscription = registry.added$.subscribe(({ value }: TRegistryPack<TAnyControlsWrapper>): void => {\n if (value.isActive()) withActive.active$.next(value);\n });\n const factorySub$: Subscription = factory.entityCreated$.subscribe((wrapper: TAnyControlsWrapper): void => registry.add(wrapper));\n const disposable: ReadonlyArray<TDisposable> = [registry, factory, registrySub$, factorySub$];\n const abstractService: TAbstractService = AbstractService(disposable);\n\n const cameraRegistry: TAbstractCameraRegistry = cameraService.getRegistry();\n\n const create = (params: TControlsParams): TAnyControlsWrapper => factory.create(params, undefined);\n const createFromList = (list: ReadonlyArray<TControlsParams>): ReadonlyArray<TAnyControlsWrapper> => list.map(create);\n const createFromConfig = (controls: ReadonlyArray<TControlsConfig>): void => {\n controls.forEach((control: TControlsConfig): TAnyControlsWrapper => {\n const camera: TAnyCameraWrapper = cameraRegistry.get((camera: TAnyCameraWrapper): boolean => camera.getName() === control.cameraName);\n return create(factory.configToParams(control, { camera, canvas }));\n });\n };\n\n const withFactory: TControlsServiceWithFactory = withFactoryService(factory);\n const withRegistry: TControlsServiceWithRegistry = withRegistryService(registry);\n\n const loopSub$: Subscription = controlsLoopEffect(controlsLoop, registry);\n\n const destroySub$: Subscription = abstractService.destroy$.subscribe((): void => {\n destroySub$.unsubscribe();\n\n loopSub$.unsubscribe();\n\n withActive.active$.complete();\n });\n\n return mergeAll(abstractService, withFactory, withRegistry, withSerializableEntities<TAnyControlsWrapper, TControlsConfig, TControlsServiceDependencies>(registry, { cameraService }), {\n create,\n createFromList,\n createFromConfig,\n setActive: withActive.setActive,\n findActive: withActive.findActive,\n getActive: withActive.getActive,\n active$: withActive.active$\n });\n}\n"],"names":["ControlService","factory","registry","controlsLoop","cameraService","canvas","withActive","withActiveEntityServiceMixin","registrySub$","added$","subscribe","value","isActive","active$","next","factorySub$","entityCreated$","wrapper","add","abstractService","AbstractService","cameraRegistry","getRegistry","create","params","withFactory","withFactoryService","withRegistry","withRegistryService","loopSub$","controlsLoopEffect","destroySub$","destroy$","unsubscribe","complete","mergeAll","withSerializableEntities","createFromList","list","map","createFromConfig","controls","forEach","control","camera","get","getName","cameraName","configToParams","setActive","findActive","getActive"],"mappings":"ygBAqBO,SAASA,eACdC,QACAC,UACAC,aAAEA,eACFC,cAAEA,eACFC,QAEA,MAAMC,WAA0DC,6BAAkDL,UAC5GM,aAA6BN,SAASO,OAAOC,UAAU,EAAGC,gBAC1DA,MAAMC,YAAYN,WAAWO,QAAQC,KAAKH,SAE1CI,YAA4Bd,QAAQe,eAAeN,UAAWO,SAAuCf,SAASgB,IAAID,UAElHE,gBAAoCC,gBADK,CAAClB,SAAUD,QAASO,aAAcO,cAG3EM,eAA0CjB,cAAckB,cAExDC,OAAUC,QAAiDvB,QAAQsB,OAAOC,eAS1EC,YAA2CC,mBAAmBzB,SAC9D0B,aAA6CC,oBAAoB1B,UAEjE2B,SAAyBC,mBAAmB3B,aAAcD,UAE1D6B,YAA4BZ,gBAAgBa,SAAStB,UAAU,KACnEqB,YAAYE,cAEZJ,SAASI,cAET3B,WAAWO,QAAQqB,aAGrB,OAAOC,SAAShB,gBAAiBM,YAAaE,aAAcS,yBAA6FlC,SAAU,CAAEE,8BAAkB,CACrLmB,cACAc,eAvBsBC,MAA6EA,KAAKC,IAAIhB,QAwB5GiB,iBAvBwBC,WACxBA,SAASC,QAASC,UAChB,MAAMC,OAA4BvB,eAAewB,IAAKD,SAAuCA,QAAOE,YAAcH,QAAQI,YAC1H,OAAOxB,OAAOtB,QAAQ+C,eAAeL,QAAS,CAAEC,cAAQvC,oBAqB1D4C,UAAW3C,WAAW2C,UACtBC,WAAY5C,WAAW4C,WACvBC,UAAW7C,WAAW6C,UACtBtC,QAASP,WAAWO,SAExB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlsUtils.js","sources":["../../../src/Controls/Utils/ControlsUtils.ts"],"sourcesContent":["import type { TAnyCameraWrapper } from '@
|
|
1
|
+
{"version":3,"file":"ControlsUtils.js","sources":["../../../src/Controls/Utils/ControlsUtils.ts"],"sourcesContent":["import type { TAnyCameraWrapper } from '@hellpig/anarchy-engine/Camera';\nimport { ControlsType } from '@hellpig/anarchy-engine/Controls/Constants';\nimport type { TAnyControlsWrapper, TFpsControlsWrapper, TOrbitControlsWrapper } from '@hellpig/anarchy-engine/Controls/Models';\nimport type { TMilliseconds } from '@hellpig/anarchy-engine/Math';\nimport type { Subscription } from 'rxjs';\nimport type { Controls } from 'three';\nimport { EventDispatcher, Quaternion } from 'three';\n\nexport const isOrbitControls = (controls: TOrbitControlsWrapper | TAnyControlsWrapper): controls is TOrbitControlsWrapper => controls.getType() === ControlsType.OrbitControls;\nexport const isFpsControls = (controls: TFpsControlsWrapper | TAnyControlsWrapper): controls is TFpsControlsWrapper => controls.getType() === ControlsType.FirstPersonControls;\n\nexport function updateCameraTransformDriveOnChange(controls: TAnyControlsWrapper, camera: TAnyCameraWrapper): void {\n function updateCameraDrive(): void {\n const dumpingTime: TMilliseconds = ((controls as TOrbitControlsWrapper).entity.enableDamping ? 250 : 0) as TMilliseconds; // 250 is an average dumping time for OrbitControls\n setTimeout((): void => {\n camera.drive.position$.next(camera.entity.position);\n camera.drive.rotation$.next(new Quaternion().setFromEuler(camera.entity.rotation));\n }, dumpingTime);\n }\n\n // TransformDrive cannot handle direct changes, such as Controls on Camera, so we are updating it.\n (controls as TOrbitControlsWrapper).entity.addEventListener?.('end', updateCameraDrive);\n\n const destroySub$: Subscription = controls.destroy$.subscribe((): void => {\n destroySub$.unsubscribe();\n (controls as TOrbitControlsWrapper).entity.removeEventListener?.('end', updateCameraDrive);\n });\n}\n\nexport function makeControlsEvented<T extends Controls<any>>(controls: T): T & EventDispatcher {\n // eslint-disable-next-line functional/immutable-data\n Object.assign(controls, new EventDispatcher());\n return controls as T & EventDispatcher;\n}\n"],"names":["isOrbitControls","controls","getType","ControlsType","OrbitControls","isFpsControls","FirstPersonControls","updateCameraTransformDriveOnChange","camera","updateCameraDrive","setTimeout","drive","position$","next","entity","position","rotation$","Quaternion","setFromEuler","rotation","enableDamping","addEventListener","destroySub$","destroy$","subscribe","unsubscribe","removeEventListener","makeControlsEvented","Object","assign","EventDispatcher"],"mappings":"qGAQO,MAAMA,gBAAmBC,UAA6FA,SAASC,YAAcC,aAAaC,cACpJC,cAAiBJ,UAAyFA,SAASC,YAAcC,aAAaG,oBAEpJ,SAASC,mCAAmCN,SAA+BO,QAChF,SAASC,oBAEPC,WAAW,KACTF,OAAOG,MAAMC,UAAUC,KAAKL,OAAOM,OAAOC,UAC1CP,OAAOG,MAAMK,UAAUH,MAAK,IAAII,YAAaC,aAAaV,OAAOM,OAAOK,YAHrClB,SAAmCa,OAAOM,cAAgB,IAAM,EAKvG,CAGCnB,SAAmCa,OAAOO,mBAAmB,MAAOZ,mBAErE,MAAMa,YAA4BrB,SAASsB,SAASC,UAAU,KAC5DF,YAAYG,cACXxB,SAAmCa,OAAOY,sBAAsB,MAAOjB,oBAE5E,CAEO,SAASkB,oBAA6C1B,UAG3D,OADA2B,OAAOC,OAAO5B,SAAU,IAAI6B,iBACrB7B,QACT"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { TFpsControlsAccessors } from '../../Models';
|
|
2
2
|
import { TWriteable } from '../../../../../anarchy-shared/src/Utils';
|
|
3
|
-
import { FirstPersonControls } from 'three/examples/jsm/controls/FirstPersonControls';
|
|
3
|
+
import { FirstPersonControls } from '../../../../../../node_modules/@types/three/examples/jsm/controls/FirstPersonControls';
|
|
4
4
|
export declare function getFpsControlsAccessors(entity: TWriteable<FirstPersonControls>): TFpsControlsAccessors;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FpsControlsAccessors.js","sources":["../../../../src/Controls/Wrappers/FpsControls/FpsControlsAccessors.ts"],"sourcesContent":["import type { TFpsControlsAccessors } from '@
|
|
1
|
+
{"version":3,"file":"FpsControlsAccessors.js","sources":["../../../../src/Controls/Wrappers/FpsControls/FpsControlsAccessors.ts"],"sourcesContent":["import type { TFpsControlsAccessors } from '@hellpig/anarchy-engine/Controls/Models';\nimport type { TWriteable } from '@hellpig/anarchy-shared/Utils';\nimport type { FirstPersonControls } from 'three/examples/jsm/controls/FirstPersonControls';\n\nexport function getFpsControlsAccessors(entity: TWriteable<FirstPersonControls>): TFpsControlsAccessors {\n // eslint-disable-next-line functional/immutable-data\n const setMovementSpeed = (speed: number): void => void (entity.movementSpeed = speed);\n const getMovementSpeed = (): number => entity.movementSpeed;\n\n // eslint-disable-next-line functional/immutable-data\n const setLookSpeed = (speed: number): void => void (entity.lookSpeed = speed);\n const getLookSpeed = (): number => entity.lookSpeed;\n\n // eslint-disable-next-line functional/immutable-data\n const setLookVertical = (isEnabled: boolean): void => void (entity.lookVertical = isEnabled);\n const getLookVertical = (): boolean => entity.lookVertical;\n\n // eslint-disable-next-line functional/immutable-data\n const setAutoForward = (isEnabled: boolean): void => void (entity.autoForward = isEnabled);\n const getAutoForward = (): boolean => entity.autoForward;\n\n // eslint-disable-next-line functional/immutable-data\n const setActiveLook = (isEnabled: boolean): void => void (entity.activeLook = isEnabled);\n const getActiveLook = (): boolean => entity.activeLook;\n\n // eslint-disable-next-line functional/immutable-data\n const setHeightSpeed = (isEnabled: boolean): void => void (entity.heightSpeed = isEnabled);\n const getHeightSpeed = (): boolean => entity.heightSpeed;\n\n // eslint-disable-next-line functional/immutable-data\n const setHeightCoef = (height: number): void => void (entity.heightCoef = height);\n const getHeightCoef = (): number => entity.heightCoef;\n\n // eslint-disable-next-line functional/immutable-data\n const setHeightMin = (height: number): void => void (entity.heightMin = height);\n const getHeightMin = (): number => entity.heightMin;\n\n // eslint-disable-next-line functional/immutable-data\n const setHeightMax = (height: number): void => void (entity.heightMax = height);\n const getHeightMax = (): number => entity.heightMax;\n\n // eslint-disable-next-line functional/immutable-data\n const setConstrainVertical = (isEnabled: boolean): void => void (entity.constrainVertical = isEnabled);\n const getConstrainVertical = (): boolean => entity.constrainVertical;\n\n // eslint-disable-next-line functional/immutable-data\n const setVerticalMin = (angle: number): void => void (entity.verticalMin = angle);\n const getVerticalMin = (): number => entity.verticalMin;\n\n // eslint-disable-next-line functional/immutable-data\n const setVerticalMax = (angle: number): void => void (entity.verticalMax = angle);\n const getVerticalMax = (): number => entity.verticalMax;\n\n // eslint-disable-next-line functional/immutable-data\n const setMouseDragOn = (isEnabled: boolean): void => void (entity.mouseDragOn = isEnabled);\n const getMouseDragOn = (): boolean => entity.mouseDragOn;\n\n return {\n setMovementSpeed,\n getMovementSpeed,\n setLookSpeed,\n getLookSpeed,\n setLookVertical,\n getLookVertical,\n setAutoForward,\n getAutoForward,\n setActiveLook,\n getActiveLook,\n setHeightSpeed,\n getHeightSpeed,\n setHeightCoef,\n getHeightCoef,\n setHeightMin,\n getHeightMin,\n setHeightMax,\n getHeightMax,\n setConstrainVertical,\n getConstrainVertical,\n setVerticalMin,\n getVerticalMin,\n setVerticalMax,\n getVerticalMax,\n setMouseDragOn,\n getMouseDragOn\n };\n}\n"],"names":["getFpsControlsAccessors","entity","setMovementSpeed","speed","movementSpeed","getMovementSpeed","setLookSpeed","lookSpeed","getLookSpeed","setLookVertical","isEnabled","lookVertical","getLookVertical","setAutoForward","autoForward","getAutoForward","setActiveLook","activeLook","getActiveLook","setHeightSpeed","heightSpeed","getHeightSpeed","setHeightCoef","height","heightCoef","getHeightCoef","setHeightMin","heightMin","getHeightMin","setHeightMax","heightMax","getHeightMax","setConstrainVertical","constrainVertical","getConstrainVertical","setVerticalMin","angle","verticalMin","getVerticalMin","setVerticalMax","verticalMax","getVerticalMax","setMouseDragOn","mouseDragOn","getMouseDragOn"],"mappings":"AAIO,SAASA,wBAAwBC,QAqDtC,MAAO,CACLC,iBApDwBC,QAA8BF,OAAOG,cAAgBD,OAqD7EE,iBApDuB,IAAcJ,OAAOG,cAqD5CE,aAlDoBH,QAA8BF,OAAOM,UAAYJ,OAmDrEK,aAlDmB,IAAcP,OAAOM,UAmDxCE,gBAhDuBC,YAAmCT,OAAOU,aAAeD,WAiDhFE,gBAhDsB,IAAeX,OAAOU,aAiD5CE,eA9CsBH,YAAmCT,OAAOa,YAAcJ,WA+C9EK,eA9CqB,IAAed,OAAOa,YA+C3CE,cA5CqBN,YAAmCT,OAAOgB,WAAaP,WA6C5EQ,cA5CoB,IAAejB,OAAOgB,WA6C1CE,eA1CsBT,YAAmCT,OAAOmB,YAAcV,WA2C9EW,eA1CqB,IAAepB,OAAOmB,YA2C3CE,cAxCqBC,SAA+BtB,OAAOuB,WAAaD,QAyCxEE,cAxCoB,IAAcxB,OAAOuB,WAyCzCE,aAtCoBH,SAA+BtB,OAAO0B,UAAYJ,QAuCtEK,aAtCmB,IAAc3B,OAAO0B,UAuCxCE,aApCoBN,SAA+BtB,OAAO6B,UAAYP,QAqCtEQ,aApCmB,IAAc9B,OAAO6B,UAqCxCE,qBAlC4BtB,YAAmCT,OAAOgC,kBAAoBvB,WAmC1FwB,qBAlC2B,IAAejC,OAAOgC,kBAmCjDE,eAhCsBC,QAA8BnC,OAAOoC,YAAcD,OAiCzEE,eAhCqB,IAAcrC,OAAOoC,YAiC1CE,eA9BsBH,QAA8BnC,OAAOuC,YAAcJ,OA+BzEK,eA9BqB,IAAcxC,OAAOuC,YA+B1CE,eA5BsBhC,YAAmCT,OAAO0C,YAAcjC,WA6B9EkC,eA5BqB,IAAe3C,OAAO0C,YA8B/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FpsControlsWrapper.js","sources":["../../../../src/Controls/Wrappers/FpsControls/FpsControlsWrapper.ts"],"sourcesContent":["import { AbstractWrapper, WrapperType } from '@
|
|
1
|
+
{"version":3,"file":"FpsControlsWrapper.js","sources":["../../../../src/Controls/Wrappers/FpsControls/FpsControlsWrapper.ts"],"sourcesContent":["import { AbstractWrapper, WrapperType } from '@hellpig/anarchy-engine/Abstract';\nimport type { TAnyCameraWrapper } from '@hellpig/anarchy-engine/Camera';\nimport { controlsToConfig } from '@hellpig/anarchy-engine/Controls/Adapters';\nimport type { ControlsType } from '@hellpig/anarchy-engine/Controls/Constants';\nimport type { TControlsServiceDependencies, TFpsControlsConfig, TFpsControlsParams, TFpsControlsWrapper } from '@hellpig/anarchy-engine/Controls/Models';\nimport { makeControlsEvented, updateCameraTransformDriveOnChange } from '@hellpig/anarchy-engine/Controls/Utils';\nimport { getFpsControlsAccessors } from '@hellpig/anarchy-engine/Controls/Wrappers/FpsControls/FpsControlsAccessors';\nimport { applyFpsControlsParams } from '@hellpig/anarchy-engine/Controls/Wrappers/FpsControls/FpsControlsWrapperHelper';\nimport type { TMilliseconds } from '@hellpig/anarchy-engine/Math';\nimport { withActiveMixin } from '@hellpig/anarchy-engine/Mixins';\nimport { isEulerLike } from '@hellpig/anarchy-engine/Utils';\nimport type { Euler } from 'three';\nimport { MathUtils, Quaternion, Spherical, Vector3 } from 'three';\nimport { FirstPersonControls } from 'three/examples/jsm/controls/FirstPersonControls';\n\nexport function FpsControlsWrapper(params: TFpsControlsParams): TFpsControlsWrapper {\n const entity: FirstPersonControls = new FirstPersonControls(params.camera.entity, params.canvas);\n\n makeControlsEvented(entity);\n\n const update = (delta: TMilliseconds): void => entity.update(delta);\n const getType = (): ControlsType => params.type;\n\n // TODO - add pointer lock\n // params.canvas.addEventListener('click', () => {\n // params.canvas.requestPointerLock();\n // });\n\n function enable(): void {\n // eslint-disable-next-line functional/immutable-data\n entity.enabled = true;\n update(0);\n }\n\n function disable(): void {\n // eslint-disable-next-line functional/immutable-data\n entity.enabled = false;\n update(0);\n }\n\n const isEnable = (): boolean => entity.enabled;\n\n function rotateCameraBy(rotation: Quaternion | Euler): void {\n const currentQuaternion: Quaternion = params.camera.entity.quaternion.clone();\n\n const deltaQuaternion: Quaternion = rotation instanceof Quaternion ? rotation : new Quaternion().setFromEuler(rotation);\n\n currentQuaternion.multiply(deltaQuaternion); // order: current * delta\n\n params.camera.entity.quaternion.copy(currentQuaternion);\n\n (entity as unknown as any)._setOrientation();\n\n entity.update(0);\n entity.dispatchEvent({ type: 'end' } as never);\n }\n\n function rotateCameraTo(rotation: Quaternion | Euler): void {\n const quaternion: Quaternion = isEulerLike(rotation) ? new Quaternion().setFromEuler(rotation) : rotation;\n\n params.camera.entity.quaternion.copy(quaternion);\n\n const direction: Vector3 = new Vector3(0, 0, -1).applyQuaternion(quaternion);\n const spherical: Spherical = new Spherical().setFromVector3(direction);\n\n const latitude: number = 90 - MathUtils.radToDeg(spherical.phi);\n const longitude: number = MathUtils.radToDeg(spherical.theta);\n\n // eslint-disable-next-line functional/immutable-data\n (entity as unknown as any)._lat = latitude;\n // eslint-disable-next-line functional/immutable-data,spellcheck/spell-checker\n (entity as unknown as any)._lon = longitude;\n\n entity.update(0);\n entity.dispatchEvent({ type: 'end' } as never);\n }\n\n const result = Object.assign(AbstractWrapper(entity, WrapperType.Controls, params), {\n update,\n enable,\n disable,\n isEnable,\n getType,\n rotateCameraBy,\n rotateCameraTo,\n getCamera: (): TAnyCameraWrapper => params.camera,\n ...getFpsControlsAccessors(entity),\n ...withActiveMixin(),\n entity,\n serialize: (dependencies: TControlsServiceDependencies): TFpsControlsConfig => controlsToConfig(result, dependencies) as TFpsControlsConfig\n });\n\n applyFpsControlsParams(result, params.options);\n result.enable();\n result.update(0);\n result._setActive(params.isActive, true);\n updateCameraTransformDriveOnChange(result, params.camera);\n\n return result;\n}\n"],"names":["FpsControlsWrapper","params","entity","FirstPersonControls","camera","canvas","makeControlsEvented","update","delta","result","Object","assign","AbstractWrapper","WrapperType","Controls","enable","enabled","disable","isEnable","getType","type","rotateCameraBy","rotation","currentQuaternion","quaternion","clone","deltaQuaternion","Quaternion","setFromEuler","multiply","copy","_setOrientation","dispatchEvent","rotateCameraTo","isEulerLike","direction","Vector3","applyQuaternion","spherical","Spherical","setFromVector3","latitude","MathUtils","radToDeg","phi","longitude","theta","_lat","_lon","getCamera","getFpsControlsAccessors","withActiveMixin","serialize","dependencies","controlsToConfig","applyFpsControlsParams","options","_setActive","isActive","updateCameraTransformDriveOnChange"],"mappings":"0rBAeO,SAASA,mBAAmBC,QACjC,MAAMC,OAA8B,IAAIC,oBAAoBF,OAAOG,OAAOF,OAAQD,OAAOI,QAEzFC,oBAAoBJ,QAEpB,MAAMK,OAAUC,OAA+BN,OAAOK,OAAOC,OAyDvDC,OAASC,OAAOC,OAAOC,gBAAgBV,OAAQW,YAAYC,SAAUb,QAAS,CAClFM,cACAQ,OAnDF,WAEEb,OAAOc,SAAU,EACjBT,OAAO,EACT,EAgDEU,QA9CF,WAEEf,OAAOc,SAAU,EACjBT,OAAO,EACT,EA2CEW,SAzCe,IAAehB,OAAOc,QA0CrCG,QA7Dc,IAAoBlB,OAAOmB,KA8DzCC,eAzCF,SAAwBC,UACtB,MAAMC,kBAAgCtB,OAAOG,OAAOF,OAAOsB,WAAWC,QAEhEC,gBAA8BJ,oBAAoBK,WAAaL,UAAW,IAAIK,YAAaC,aAAaN,UAE9GC,kBAAkBM,SAASH,iBAE3BzB,OAAOG,OAAOF,OAAOsB,WAAWM,KAAKP,mBAEpCrB,OAA0B6B,kBAE3B7B,OAAOK,OAAO,GACdL,OAAO8B,cAAc,CAAEZ,KAAM,OAC/B,EA6BEa,eA3BF,SAAwBX,UACtB,MAAME,WAAyBU,YAAYZ,WAAY,IAAIK,YAAaC,aAAaN,UAAYA,SAEjGrB,OAAOG,OAAOF,OAAOsB,WAAWM,KAAKN,YAErC,MAAMW,UAAqB,IAAIC,QAAQ,EAAG,MAAOC,gBAAgBb,YAC3Dc,WAAuB,IAAIC,WAAYC,eAAeL,WAEtDM,SAAmB,GAAKC,UAAUC,SAASL,UAAUM,KACrDC,UAAoBH,UAAUC,SAASL,UAAUQ,OAGtD5C,OAA0B6C,KAAON,SAEjCvC,OAA0B8C,KAAOH,UAElC3C,OAAOK,OAAO,GACdL,OAAO8B,cAAc,CAAEZ,KAAM,OAC/B,EAUE6B,UAAW,IAAyBhD,OAAOG,UACxC8C,wBAAwBhD,WACxBiD,kBACHjD,cACAkD,UAAYC,cAAmEC,iBAAiB7C,OAAQ4C,gBAS1G,OANAE,uBAAuB9C,OAAQR,OAAOuD,SACtC/C,OAAOM,SACPN,OAAOF,OAAO,GACdE,OAAOgD,WAAWxD,OAAOyD,UAAU,GACnCC,mCAAmClD,OAAQR,OAAOG,QAE3CK,MACT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FpsControlsWrapperHelper.js","sources":["../../../../src/Controls/Wrappers/FpsControls/FpsControlsWrapperHelper.ts"],"sourcesContent":["import type { TFpsControlsParamsOptions, TFpsControlsWrapper } from '@
|
|
1
|
+
{"version":3,"file":"FpsControlsWrapperHelper.js","sources":["../../../../src/Controls/Wrappers/FpsControls/FpsControlsWrapperHelper.ts"],"sourcesContent":["import type { TFpsControlsParamsOptions, TFpsControlsWrapper } from '@hellpig/anarchy-engine/Controls/Models';\nimport { isDefined, isNotDefined } from '@hellpig/anarchy-shared/Utils';\n\nexport function applyFpsControlsParams(wrapper: TFpsControlsWrapper, params: TFpsControlsParamsOptions | undefined): void {\n if (isNotDefined(params)) return;\n\n if (isDefined(params.movementSpeed)) wrapper.setMovementSpeed(params.movementSpeed);\n if (isDefined(params.lookSpeed)) wrapper.setLookSpeed(params.lookSpeed);\n if (isDefined(params.lookVertical)) wrapper.setLookVertical(params.lookVertical);\n if (isDefined(params.autoForward)) wrapper.setAutoForward(params.autoForward);\n if (isDefined(params.activeLook)) wrapper.setActiveLook(params.activeLook);\n if (isDefined(params.heightSpeed)) wrapper.setHeightSpeed(params.heightSpeed);\n if (isDefined(params.heightCoef)) wrapper.setHeightCoef(params.heightCoef);\n if (isDefined(params.heightMin)) wrapper.setHeightMin(params.heightMin);\n if (isDefined(params.heightMax)) wrapper.setHeightMax(params.heightMax);\n if (isDefined(params.constrainVertical)) wrapper.setConstrainVertical(params.constrainVertical);\n if (isDefined(params.verticalMin)) wrapper.setVerticalMin(params.verticalMin);\n if (isDefined(params.verticalMax)) wrapper.setVerticalMax(params.verticalMax);\n if (isDefined(params.mouseDragOn)) wrapper.setMouseDragOn(params.mouseDragOn);\n}\n"],"names":["applyFpsControlsParams","wrapper","params","isNotDefined","isDefined","movementSpeed","setMovementSpeed","lookSpeed","setLookSpeed","lookVertical","setLookVertical","autoForward","setAutoForward","activeLook","setActiveLook","heightSpeed","setHeightSpeed","heightCoef","setHeightCoef","heightMin","setHeightMin","heightMax","setHeightMax","constrainVertical","setConstrainVertical","verticalMin","setVerticalMin","verticalMax","setVerticalMax","mouseDragOn","setMouseDragOn"],"mappings":"6FAGO,SAASA,uBAAuBC,QAA8BC,QAC/DC,aAAaD,UAEbE,UAAUF,OAAOG,gBAAgBJ,QAAQK,iBAAiBJ,OAAOG,eACjED,UAAUF,OAAOK,YAAYN,QAAQO,aAAaN,OAAOK,WACzDH,UAAUF,OAAOO,eAAeR,QAAQS,gBAAgBR,OAAOO,cAC/DL,UAAUF,OAAOS,cAAcV,QAAQW,eAAeV,OAAOS,aAC7DP,UAAUF,OAAOW,aAAaZ,QAAQa,cAAcZ,OAAOW,YAC3DT,UAAUF,OAAOa,cAAcd,QAAQe,eAAed,OAAOa,aAC7DX,UAAUF,OAAOe,aAAahB,QAAQiB,cAAchB,OAAOe,YAC3Db,UAAUF,OAAOiB,YAAYlB,QAAQmB,aAAalB,OAAOiB,WACzDf,UAAUF,OAAOmB,YAAYpB,QAAQqB,aAAapB,OAAOmB,WACzDjB,UAAUF,OAAOqB,oBAAoBtB,QAAQuB,qBAAqBtB,OAAOqB,mBACzEnB,UAAUF,OAAOuB,cAAcxB,QAAQyB,eAAexB,OAAOuB,aAC7DrB,UAAUF,OAAOyB,cAAc1B,QAAQ2B,eAAe1B,OAAOyB,aAC7DvB,UAAUF,OAAO2B,cAAc5B,QAAQ6B,eAAe5B,OAAO2B,aACnE"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { TOrbitControlsAccessors } from '../../Models';
|
|
2
2
|
import { TWriteable } from '../../../../../anarchy-shared/src/Utils';
|
|
3
|
-
import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';
|
|
3
|
+
import { OrbitControls } from '../../../../../../node_modules/@types/three/examples/jsm/controls/OrbitControls';
|
|
4
4
|
export declare function getOrbitControlsAccessors(entity: TWriteable<OrbitControls>): TOrbitControlsAccessors;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrbitControlsAccessors.js","sources":["../../../../src/Controls/Wrappers/OrbitControls/OrbitControlsAccessors.ts"],"sourcesContent":["import type { TOrbitControlsAccessors } from '@
|
|
1
|
+
{"version":3,"file":"OrbitControlsAccessors.js","sources":["../../../../src/Controls/Wrappers/OrbitControls/OrbitControlsAccessors.ts"],"sourcesContent":["import type { TOrbitControlsAccessors } from '@hellpig/anarchy-engine/Controls/Models';\nimport type { TReadonlyVector3 } from '@hellpig/anarchy-engine/ThreeLib';\nimport type { TWriteable } from '@hellpig/anarchy-shared/Utils';\nimport type { Vector3 } from 'three';\nimport type { OrbitControls } from 'three/examples/jsm/controls/OrbitControls';\n\nexport function getOrbitControlsAccessors(entity: TWriteable<OrbitControls>): TOrbitControlsAccessors {\n // eslint-disable-next-line functional/immutable-data\n const setDamping = (isEnabled: boolean): void => void (entity.enableDamping = isEnabled);\n const getDamping = (): boolean => entity.enableDamping;\n\n function setTarget({ x, y, z }: TReadonlyVector3 | Vector3): void {\n entity.target.set(x, y, z);\n entity.update();\n }\n\n // eslint-disable-next-line functional/immutable-data\n const setAutoRotate = (isEnabled: boolean): void => void (entity.autoRotate = isEnabled);\n const getAutoRotate = (): boolean => entity.autoRotate;\n\n // eslint-disable-next-line functional/immutable-data\n const setMinDistance = (minDistance: number): void => void (entity.minDistance = minDistance);\n const getMinDistance = (): number => entity.minDistance;\n\n // eslint-disable-next-line functional/immutable-data\n const setMaxDistance = (maxDistance: number): void => void (entity.maxDistance = maxDistance);\n const getMaxDistance = (): number => entity.maxDistance;\n\n // eslint-disable-next-line functional/immutable-data\n const setMinZoom = (minZoom: number): void => void (entity.minZoom = minZoom);\n const getMinZoom = (): number => entity.minZoom;\n\n // eslint-disable-next-line functional/immutable-data\n const setMaxZoom = (maxZoom: number): void => void (entity.maxZoom = maxZoom);\n const getMaxZoom = (): number => entity.maxZoom;\n\n // eslint-disable-next-line functional/immutable-data\n const setMinTargetRadius = (minTargetRadius: number): void => void (entity.minPolarAngle = minTargetRadius);\n const getMinTargetRadius = (): number => entity.minPolarAngle;\n\n // eslint-disable-next-line functional/immutable-data\n const setMaxTargetRadius = (maxTargetRadius: number): void => void (entity.maxPolarAngle = maxTargetRadius);\n const getMaxTargetRadius = (): number => entity.maxPolarAngle;\n\n // eslint-disable-next-line functional/immutable-data\n const setMinPolarAngle = (minPolarAngle: number): void => void (entity.minPolarAngle = minPolarAngle);\n const getMinPolarAngle = (): number => entity.minPolarAngle;\n\n // eslint-disable-next-line functional/immutable-data\n const setMaxPolarAngle = (maxPolarAngle: number): void => void (entity.maxPolarAngle = maxPolarAngle);\n const getMaxPolarAngle = (): number => entity.maxPolarAngle;\n\n // eslint-disable-next-line functional/immutable-data\n const setMinAzimuthAngle = (minAzimuthAngle: number): void => void (entity.minAzimuthAngle = minAzimuthAngle);\n const getMinAzimuthAngle = (): number => entity.minAzimuthAngle;\n\n // eslint-disable-next-line functional/immutable-data\n const setMaxAzimuthAngle = (maxAzimuthAngle: number): void => void (entity.maxAzimuthAngle = maxAzimuthAngle);\n const getMaxAzimuthAngle = (): number => entity.maxAzimuthAngle;\n\n // eslint-disable-next-line functional/immutable-data\n const setDampingFactor = (dampingFactor: number): void => void (entity.dampingFactor = dampingFactor);\n const getDampingFactor = (): number => entity.dampingFactor;\n\n // eslint-disable-next-line functional/immutable-data\n const setEnableZoom = (isEnabled: boolean): void => void (entity.enableZoom = isEnabled);\n const getEnableZoom = (): boolean => entity.enableZoom;\n\n // eslint-disable-next-line functional/immutable-data\n const setZoomSpeed = (zoomSpeed: number): void => void (entity.zoomSpeed = zoomSpeed);\n const getZoomSpeed = (): number => entity.zoomSpeed;\n\n // eslint-disable-next-line functional/immutable-data\n const setZoomToCursor = (isEnabled: boolean): void => void (entity.zoomToCursor = isEnabled);\n const getZoomToCursor = (): boolean => entity.zoomToCursor;\n\n // eslint-disable-next-line functional/immutable-data\n const setEnableRotate = (isEnabled: boolean): void => void (entity.enableRotate = isEnabled);\n const getEnableRotate = (): boolean => entity.enableRotate;\n\n // eslint-disable-next-line functional/immutable-data\n const setRotateSpeed = (rotateSpeed: number): void => void (entity.rotateSpeed = rotateSpeed);\n const getRotateSpeed = (): number => entity.rotateSpeed;\n\n // eslint-disable-next-line functional/immutable-data\n const setEnablePan = (isEnabled: boolean): void => void (entity.enablePan = isEnabled);\n const getEnablePan = (): boolean => entity.enablePan;\n\n // eslint-disable-next-line functional/immutable-data\n const setPanSpeed = (panSpeed: number): void => void (entity.panSpeed = panSpeed);\n const getPanSpeed = (): number => entity.panSpeed;\n\n // eslint-disable-next-line functional/immutable-data\n const setScreenSpacePanning = (isEnabled: boolean): void => void (entity.screenSpacePanning = isEnabled);\n const getScreenSpacePanning = (): boolean => entity.screenSpacePanning;\n\n // eslint-disable-next-line functional/immutable-data\n const setKeyPanSpeed = (keyPanSpeed: number): void => void (entity.keyPanSpeed = keyPanSpeed);\n const getKeyPanSpeed = (): number => entity.keyPanSpeed;\n\n // eslint-disable-next-line functional/immutable-data\n const setAutoRotateSpeed = (autoRotateSpeed: number): void => void (entity.autoRotateSpeed = autoRotateSpeed);\n const getAutoRotateSpeed = (): number => entity.autoRotateSpeed;\n\n return {\n setDamping,\n getDamping,\n setTarget,\n setAutoRotate,\n getAutoRotate,\n setMinDistance,\n getMinDistance,\n setMaxDistance,\n getMaxDistance,\n setMinZoom,\n getMinZoom,\n setMaxZoom,\n getMaxZoom,\n setMinTargetRadius,\n getMinTargetRadius,\n setMaxTargetRadius,\n getMaxTargetRadius,\n setMinPolarAngle,\n getMinPolarAngle,\n setMaxPolarAngle,\n getMaxPolarAngle,\n setMinAzimuthAngle,\n getMinAzimuthAngle,\n setMaxAzimuthAngle,\n getMaxAzimuthAngle,\n setDampingFactor,\n getDampingFactor,\n setEnableZoom,\n getEnableZoom,\n setZoomSpeed,\n getZoomSpeed,\n setZoomToCursor,\n getZoomToCursor,\n setEnableRotate,\n getEnableRotate,\n setRotateSpeed,\n getRotateSpeed,\n setEnablePan,\n getEnablePan,\n setPanSpeed,\n getPanSpeed,\n setScreenSpacePanning,\n getScreenSpacePanning,\n setKeyPanSpeed,\n getKeyPanSpeed,\n setAutoRotateSpeed,\n getAutoRotateSpeed\n };\n}\n"],"names":["getOrbitControlsAccessors","entity","setDamping","isEnabled","enableDamping","getDamping","setTarget","x","y","z","target","set","update","setAutoRotate","autoRotate","getAutoRotate","setMinDistance","minDistance","getMinDistance","setMaxDistance","maxDistance","getMaxDistance","setMinZoom","minZoom","getMinZoom","setMaxZoom","maxZoom","getMaxZoom","setMinTargetRadius","minTargetRadius","minPolarAngle","getMinTargetRadius","setMaxTargetRadius","maxTargetRadius","maxPolarAngle","getMaxTargetRadius","setMinPolarAngle","getMinPolarAngle","setMaxPolarAngle","getMaxPolarAngle","setMinAzimuthAngle","minAzimuthAngle","getMinAzimuthAngle","setMaxAzimuthAngle","maxAzimuthAngle","getMaxAzimuthAngle","setDampingFactor","dampingFactor","getDampingFactor","setEnableZoom","enableZoom","getEnableZoom","setZoomSpeed","zoomSpeed","getZoomSpeed","setZoomToCursor","zoomToCursor","getZoomToCursor","setEnableRotate","enableRotate","getEnableRotate","setRotateSpeed","rotateSpeed","getRotateSpeed","setEnablePan","enablePan","getEnablePan","setPanSpeed","panSpeed","getPanSpeed","setScreenSpacePanning","screenSpacePanning","getScreenSpacePanning","setKeyPanSpeed","keyPanSpeed","getKeyPanSpeed","setAutoRotateSpeed","autoRotateSpeed","getAutoRotateSpeed"],"mappings":"AAMO,SAASA,0BAA0BC,QAkGxC,MAAO,CACLC,WAjGkBC,YAAmCF,OAAOG,cAAgBD,WAkG5EE,WAjGiB,IAAeJ,OAAOG,cAkGvCE,UAhGF,UAAmBC,EAAEA,EAAAC,EAAGA,EAAAC,EAAGA,IACzBR,OAAOS,OAAOC,IAAIJ,EAAGC,EAAGC,GACxBR,OAAOW,QACT,EA8FEC,cA3FqBV,YAAmCF,OAAOa,WAAaX,WA4F5EY,cA3FoB,IAAed,OAAOa,WA4F1CE,eAzFsBC,cAAoChB,OAAOgB,YAAcA,aA0F/EC,eAzFqB,IAAcjB,OAAOgB,YA0F1CE,eAvFsBC,cAAoCnB,OAAOmB,YAAcA,aAwF/EC,eAvFqB,IAAcpB,OAAOmB,YAwF1CE,WArFkBC,UAAgCtB,OAAOsB,QAAUA,SAsFnEC,WArFiB,IAAcvB,OAAOsB,QAsFtCE,WAnFkBC,UAAgCzB,OAAOyB,QAAUA,SAoFnEC,WAnFiB,IAAc1B,OAAOyB,QAoFtCE,mBAjF0BC,kBAAwC5B,OAAO6B,cAAgBD,iBAkFzFE,mBAjFyB,IAAc9B,OAAO6B,cAkF9CE,mBA/E0BC,kBAAwChC,OAAOiC,cAAgBD,iBAgFzFE,mBA/EyB,IAAclC,OAAOiC,cAgF9CE,iBA7EwBN,gBAAsC7B,OAAO6B,cAAgBA,eA8ErFO,iBA7EuB,IAAcpC,OAAO6B,cA8E5CQ,iBA3EwBJ,gBAAsCjC,OAAOiC,cAAgBA,eA4ErFK,iBA3EuB,IAActC,OAAOiC,cA4E5CM,mBAzE0BC,kBAAwCxC,OAAOwC,gBAAkBA,iBA0E3FC,mBAzEyB,IAAczC,OAAOwC,gBA0E9CE,mBAvE0BC,kBAAwC3C,OAAO2C,gBAAkBA,iBAwE3FC,mBAvEyB,IAAc5C,OAAO2C,gBAwE9CE,iBArEwBC,gBAAsC9C,OAAO8C,cAAgBA,eAsErFC,iBArEuB,IAAc/C,OAAO8C,cAsE5CE,cAnEqB9C,YAAmCF,OAAOiD,WAAa/C,WAoE5EgD,cAnEoB,IAAelD,OAAOiD,WAoE1CE,aAjEoBC,YAAkCpD,OAAOoD,UAAYA,WAkEzEC,aAjEmB,IAAcrD,OAAOoD,UAkExCE,gBA/DuBpD,YAAmCF,OAAOuD,aAAerD,WAgEhFsD,gBA/DsB,IAAexD,OAAOuD,aAgE5CE,gBA7DuBvD,YAAmCF,OAAO0D,aAAexD,WA8DhFyD,gBA7DsB,IAAe3D,OAAO0D,aA8D5CE,eA3DsBC,cAAoC7D,OAAO6D,YAAcA,aA4D/EC,eA3DqB,IAAc9D,OAAO6D,YA4D1CE,aAzDoB7D,YAAmCF,OAAOgE,UAAY9D,WA0D1E+D,aAzDmB,IAAejE,OAAOgE,UA0DzCE,YAvDmBC,WAAiCnE,OAAOmE,SAAWA,UAwDtEC,YAvDkB,IAAcpE,OAAOmE,SAwDvCE,sBArD6BnE,YAAmCF,OAAOsE,mBAAqBpE,WAsD5FqE,sBArD4B,IAAevE,OAAOsE,mBAsDlDE,eAnDsBC,cAAoCzE,OAAOyE,YAAcA,aAoD/EC,eAnDqB,IAAc1E,OAAOyE,YAoD1CE,mBAjD0BC,kBAAwC5E,OAAO4E,gBAAkBA,iBAkD3FC,mBAjDyB,IAAc7E,OAAO4E,gBAmDlD"}
|