@hellpig/anarchy-engine 22.0.0 → 22.0.2
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/Actor/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Actor/Adapters/ConfigToParams.js +1 -1
- package/dist/Actor/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Actor/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Actor/Adapters/EntityToConfig.js +1 -1
- package/dist/Actor/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Actor/Entities/Actor/Actor.js +1 -1
- package/dist/Actor/Entities/Actor/Actor.js.map +1 -1
- package/dist/Actor/Factories/ActorFactory.js +1 -1
- package/dist/Actor/Factories/ActorFactory.js.map +1 -1
- package/dist/Actor/index.d.ts +1 -0
- package/dist/Audio/Adapters/AudioConfigToParams.d.ts +2 -0
- package/dist/Audio/Adapters/AudioConfigToParams.js +2 -0
- package/dist/Audio/Adapters/AudioConfigToParams.js.map +1 -0
- package/dist/Audio/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Audio/Adapters/EntityToConfig.js +1 -1
- package/dist/Audio/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Audio/Adapters/index.d.ts +1 -1
- package/dist/Audio/Factories/AudioFactory.js +1 -1
- package/dist/Audio/Factories/AudioFactory.js.map +1 -1
- package/dist/Audio/Wrappers/AbstractAudioWrapper.js +1 -1
- package/dist/Audio/Wrappers/AbstractAudioWrapper.js.map +1 -1
- package/dist/Camera/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Camera/Adapters/ConfigToParams.js +1 -1
- package/dist/Camera/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Camera/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Camera/Adapters/EntityToConfig.js +1 -1
- package/dist/Camera/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Camera/Adapters/index.d.ts +1 -1
- package/dist/Camera/Factories/CameraFactory.js +1 -1
- package/dist/Camera/Factories/CameraFactory.js.map +1 -1
- package/dist/Camera/Wrappers/OrthographicCameraWrapper.js +1 -1
- package/dist/Camera/Wrappers/OrthographicCameraWrapper.js.map +1 -1
- package/dist/Camera/Wrappers/PerspectiveCameraWrapper.js +1 -1
- package/dist/Camera/Wrappers/PerspectiveCameraWrapper.js.map +1 -1
- package/dist/Color/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Color/Adapters/EntityToConfig.js +1 -1
- package/dist/Color/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Color/Wrappers/ColorWrapper.js +1 -1
- package/dist/Color/Wrappers/ColorWrapper.js.map +1 -1
- package/dist/Controls/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Controls/Adapters/ConfigToParams.js +1 -1
- package/dist/Controls/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Controls/Factories/ControlsFactory.js +1 -1
- package/dist/Controls/Factories/ControlsFactory.js.map +1 -1
- package/dist/Controls/Wrappers/FpsControls/FpsControlsWrapper.js +1 -1
- package/dist/Controls/Wrappers/OrbitControls/OrbitControlsWrapper.js +1 -1
- package/dist/Controls/index.d.ts +1 -0
- package/dist/EnvMap/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/EnvMap/Adapters/ConfigToParams.js +1 -1
- package/dist/EnvMap/Adapters/ConfigToParams.js.map +1 -1
- package/dist/EnvMap/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/EnvMap/Adapters/EntityToConfig.js +1 -1
- package/dist/EnvMap/Adapters/EntityToConfig.js.map +1 -1
- package/dist/EnvMap/Factories/EnvMapFactory.js +1 -1
- package/dist/EnvMap/Factories/EnvMapFactory.js.map +1 -1
- package/dist/EnvMap/Wrappers/EnvMapWrapper.js +1 -1
- package/dist/EnvMap/Wrappers/EnvMapWrapper.js.map +1 -1
- package/dist/EnvMap/index.d.ts +1 -1
- package/dist/Fog/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Fog/Adapters/ConfigToParams.js +1 -1
- package/dist/Fog/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Fog/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Fog/Adapters/EntityToConfig.js +1 -1
- package/dist/Fog/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Fog/Factories/FogFactory.js +1 -1
- package/dist/Fog/Factories/FogFactory.js.map +1 -1
- package/dist/Fog/Wrappers/FogWrapper.js +1 -1
- package/dist/Fog/Wrappers/FogWrapper.js.map +1 -1
- package/dist/Fog/index.d.ts +1 -0
- package/dist/Fsm/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Fsm/Adapters/ConfigToParams.js +1 -1
- package/dist/Fsm/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Fsm/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Fsm/Adapters/EntityToConfig.js +1 -1
- package/dist/Fsm/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Fsm/Factories/FsmInstanceFactory.js +1 -1
- package/dist/Fsm/Factories/FsmInstanceFactory.js.map +1 -1
- package/dist/Fsm/Factories/FsmSourceFactory.js +1 -1
- package/dist/Fsm/Factories/FsmSourceFactory.js.map +1 -1
- package/dist/Fsm/Wrappers/FsmWrapper.js +1 -1
- package/dist/Fsm/Wrappers/FsmWrapper.js.map +1 -1
- package/dist/Intersections/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Intersections/Adapters/ConfigToParams.js +1 -1
- package/dist/Intersections/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Intersections/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Intersections/Adapters/EntityToConfig.js +1 -1
- package/dist/Intersections/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Intersections/Factories/IntersectionsWatcherFactory.js +1 -1
- package/dist/Intersections/Factories/IntersectionsWatcherFactory.js.map +1 -1
- package/dist/Intersections/Watchers/AbstractIntersectionsWatcher.js +1 -1
- package/dist/Intersections/Watchers/AbstractIntersectionsWatcher.js.map +1 -1
- package/dist/Intersections/index.d.ts +1 -1
- package/dist/Kinematic/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Kinematic/Adapters/ConfigToParams.js +1 -1
- package/dist/Kinematic/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Kinematic/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Kinematic/Adapters/EntityToConfig.js +1 -1
- package/dist/Kinematic/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Kinematic/Adapters/index.d.ts +1 -1
- package/dist/Light/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Light/Adapters/ConfigToParams.js +1 -1
- package/dist/Light/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Light/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Light/Adapters/EntityToConfig.js +1 -1
- package/dist/Light/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Light/Factories/LightFactory.js +1 -1
- package/dist/Light/Factories/LightFactory.js.map +1 -1
- package/dist/Light/Wrappers/AbstractLightWrapper.js +1 -1
- package/dist/Light/Wrappers/AbstractLightWrapper.js.map +1 -1
- package/dist/Light/index.d.ts +1 -0
- package/dist/Material/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Material/Adapters/ConfigToParams.js +1 -1
- package/dist/Material/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Material/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Material/Adapters/EntityToConfig.js +1 -1
- package/dist/Material/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Material/Factories/MaterialFactory.js +1 -1
- package/dist/Material/Factories/MaterialFactory.js.map +1 -1
- package/dist/Material/Wrappers/MaterialWrapper.js +1 -1
- package/dist/Material/Wrappers/MaterialWrapper.js.map +1 -1
- package/dist/Material/index.d.ts +1 -0
- package/dist/Models3d/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Models3d/Adapters/ConfigToParams.js +1 -1
- package/dist/Models3d/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Models3d/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Models3d/Adapters/EntityToConfig.js +1 -1
- package/dist/Models3d/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Models3d/Entities/Model3d.js +1 -1
- package/dist/Models3d/Entities/Model3d.js.map +1 -1
- package/dist/Models3d/Factories/Models3dFactory.js +1 -1
- package/dist/Models3d/Factories/Models3dFactory.js.map +1 -1
- package/dist/Models3d/index.d.ts +1 -1
- package/dist/Particles/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Particles/Adapters/ConfigToParams.js +1 -1
- package/dist/Particles/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Particles/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Particles/Adapters/EntityToConfig.js +1 -1
- package/dist/Particles/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Particles/Factories/ParticlesFactory.js +1 -1
- package/dist/Particles/Factories/ParticlesFactory.js.map +1 -1
- package/dist/Particles/Wrappers/ParticlesWrapper.js +1 -1
- package/dist/Particles/Wrappers/ParticlesWrapper.js.map +1 -1
- package/dist/Particles/index.d.ts +1 -1
- package/dist/Physics/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Physics/Adapters/EntityToConfig.js +1 -1
- package/dist/Physics/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Physics/Adapters/PhysicsBodyConfigToParams.d.ts +1 -1
- package/dist/Physics/Adapters/PhysicsBodyConfigToParams.js +1 -1
- package/dist/Physics/Adapters/PhysicsBodyConfigToParams.js.map +1 -1
- package/dist/Physics/Adapters/PhysicsWorldConfigToParams.d.ts +1 -1
- package/dist/Physics/Adapters/PhysicsWorldConfigToParams.js +1 -1
- package/dist/Physics/Adapters/PhysicsWorldConfigToParams.js.map +1 -1
- package/dist/Physics/Entities/PhysicsBody.js +1 -1
- package/dist/Physics/Entities/PhysicsBody.js.map +1 -1
- package/dist/Physics/Factories/PhysicsBodyFactory.js +1 -1
- package/dist/Physics/Factories/PhysicsBodyFactory.js.map +1 -1
- package/dist/Renderer/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Renderer/Adapters/ConfigToParams.js +1 -1
- package/dist/Renderer/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Renderer/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Renderer/Adapters/EntityToConfig.js +1 -1
- package/dist/Renderer/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Renderer/Factories/RendererFactory.js +1 -1
- package/dist/Renderer/Factories/RendererFactory.js.map +1 -1
- package/dist/Renderer/Wrappers/RendererWrapper.js +1 -1
- package/dist/Renderer/Wrappers/RendererWrapper.js.map +1 -1
- package/dist/Renderer/index.d.ts +1 -1
- package/dist/Scene/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Scene/Adapters/ConfigToParams.js +1 -1
- package/dist/Scene/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Scene/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Scene/Adapters/EntityToConfig.js +1 -1
- package/dist/Scene/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Scene/Factories/SceneFactory.js +1 -1
- package/dist/Scene/Factories/SceneFactory.js.map +1 -1
- package/dist/Scene/Wrappers/SceneWrapper.js +1 -1
- package/dist/Scene/Wrappers/SceneWrapper.js.map +1 -1
- package/dist/Scene/index.d.ts +1 -0
- package/dist/Space/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Space/Adapters/ConfigToParams.js +1 -1
- package/dist/Space/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Space/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Space/Adapters/EntityToConfig.js +1 -1
- package/dist/Space/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Space/Entities/Space.js +1 -1
- package/dist/Space/Entities/Space.js.map +1 -1
- package/dist/Space/Factories/SpaceFactory.js +1 -1
- package/dist/Space/Factories/SpaceFactory.js.map +1 -1
- package/dist/Space/index.d.ts +1 -1
- package/dist/Spatial/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Spatial/Adapters/ConfigToParams.js +1 -1
- package/dist/Spatial/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Spatial/Adapters/ConfigToParamsSpatialData.d.ts +1 -1
- package/dist/Spatial/Adapters/ConfigToParamsSpatialData.js +1 -1
- package/dist/Spatial/Adapters/ConfigToParamsSpatialData.js.map +1 -1
- package/dist/Spatial/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Spatial/Adapters/EntityToConfig.js +1 -1
- package/dist/Spatial/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Spatial/Factories/SpatialGridFactory.js +1 -1
- package/dist/Spatial/Factories/SpatialGridFactory.js.map +1 -1
- package/dist/Spatial/Wrappers/SpatialGridWrapper.js +1 -1
- package/dist/Spatial/Wrappers/SpatialGridWrapper.js.map +1 -1
- package/dist/Text/Adapters/ConfigToParams.d.ts +1 -1
- package/dist/Text/Adapters/ConfigToParams.js +1 -1
- package/dist/Text/Adapters/ConfigToParams.js.map +1 -1
- package/dist/Text/Adapters/EntityToConfig.d.ts +1 -1
- package/dist/Text/Adapters/EntityToConfig.js +1 -1
- package/dist/Text/Adapters/EntityToConfig.js.map +1 -1
- package/dist/Text/Factories/TextFactory.js +1 -1
- package/dist/Text/Factories/TextFactory.js.map +1 -1
- package/dist/Text/Wrappers/TextTextureWrapper.js +1 -1
- package/dist/Text/Wrappers/TextTextureWrapper.js.map +1 -1
- package/dist/Text/Wrappers/TextWrapper.js +1 -1
- package/dist/Text/Wrappers/TextWrapper.js.map +1 -1
- package/dist/Text/index.d.ts +1 -0
- package/dist/ThreeLib/Utils/Object3dUtils.d.ts +1 -1
- package/dist/ThreeLib/Utils/Object3dUtils.js +1 -1
- package/dist/ThreeLib/Utils/Object3dUtils.js.map +1 -1
- package/dist/TransformDrive/Entities/Agents/KinematicTransformAgent.js +1 -1
- package/dist/TransformDrive/Entities/Agents/KinematicTransformAgent.js.map +1 -1
- package/dist/index.js +1 -1
- package/legal/NOTICE.md +1 -1
- package/legal/THIRD_PARTY_LICENSES.md +1 -1
- package/package.json +2 -1
- package/dist/Audio/Adapters/ConfigToParams.d.ts +0 -2
- package/dist/Audio/Adapters/ConfigToParams.js +0 -2
- package/dist/Audio/Adapters/ConfigToParams.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TColorWrapper } from '../Models';
|
|
2
2
|
import { Color, ColorRepresentation } from 'three';
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function colorEntityToConfig(entity: TColorWrapper): ColorRepresentation;
|
|
4
4
|
export declare function serializeColor(color: Color): string;
|
|
5
5
|
export declare function serializeColorWhenPossible(color: Color | undefined): string | undefined;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isNotDefined}from"../../packages/anarchy-shared/src/Utils/CheckUtils.js";function
|
|
1
|
+
import{isNotDefined}from"../../packages/anarchy-shared/src/Utils/CheckUtils.js";function colorEntityToConfig(entity){return serializeColor(entity.entity)}function serializeColor(color){return`#${color.getHexString().toUpperCase()}`}function serializeColorWhenPossible(color){if(!isNotDefined(color))return serializeColor(color)}export{colorEntityToConfig,serializeColor,serializeColorWhenPossible};
|
|
2
2
|
//# sourceMappingURL=EntityToConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/Color/Adapters/EntityToConfig.ts"],"sourcesContent":["import type { TColorWrapper } from '@Anarchy/Engine/Color/Models';\nimport { isNotDefined } from '@Anarchy/Shared/Utils';\nimport type { Color, ColorRepresentation } from 'three';\n\nexport function
|
|
1
|
+
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/Color/Adapters/EntityToConfig.ts"],"sourcesContent":["import type { TColorWrapper } from '@Anarchy/Engine/Color/Models';\nimport { isNotDefined } from '@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,2 +1,2 @@
|
|
|
1
|
-
import{Color}from"three";import{isColorWrapper}from"../../Utils/CheckUtils.js";import{
|
|
1
|
+
import{Color}from"three";import{isColorWrapper}from"../../Utils/CheckUtils.js";import{colorEntityToConfig}from"../Adapters/EntityToConfig.js";import{AbstractWrapper}from"../../Abstract/Wrappers/AbstractWrapper.js";import{WrapperType}from"../../Abstract/Constants/WrapperType.js";function ColorWrapper(color){const entity=new Color(isColorWrapper(color)?color.entity:color),result=Object.assign(AbstractWrapper(entity,WrapperType.Color),{entity:entity,serialize:()=>colorEntityToConfig(result)});return result}export{ColorWrapper};
|
|
2
2
|
//# sourceMappingURL=ColorWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColorWrapper.js","sources":["../../../src/Color/Wrappers/ColorWrapper.ts"],"sourcesContent":["import { AbstractWrapper, WrapperType } from '@Anarchy/Engine/Abstract';\nimport {
|
|
1
|
+
{"version":3,"file":"ColorWrapper.js","sources":["../../../src/Color/Wrappers/ColorWrapper.ts"],"sourcesContent":["import { AbstractWrapper, WrapperType } from '@Anarchy/Engine/Abstract';\nimport { colorEntityToConfig } from '@Anarchy/Engine/Color/Adapters';\nimport type { TColor, TColorParams, TColorWrapper } from '@Anarchy/Engine/Color/Models';\nimport { isColorWrapper } from '@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,3 +1,3 @@
|
|
|
1
1
|
import { TGetParamsFn } from '../../Abstract';
|
|
2
2
|
import { TControlsConfig, TControlsParams } from '../Models';
|
|
3
|
-
export declare const
|
|
3
|
+
export declare const controlsConfigToParams: TGetParamsFn<TControlsParams, TControlsConfig>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isDefined,isNotDefined}from"../../packages/anarchy-shared/src/Utils/CheckUtils.js";import{Vector3}from"three";import{ControlsType}from"../Constants/ControlsType.js";const
|
|
1
|
+
import{isDefined,isNotDefined}from"../../packages/anarchy-shared/src/Utils/CheckUtils.js";import{Vector3}from"three";import{ControlsType}from"../Constants/ControlsType.js";const controlsConfigToParams=(config,additional)=>{if(config.type===ControlsType.OrbitControls)return function(config,{camera:camera,canvas:canvas}){if(config.type!==ControlsType.OrbitControls)throw new Error(`Cannot create controls of unknown type "${config.type}"`);const{options:options,...rest}=config,paramsOptions=function(options){if(isNotDefined(options))return{};const{cursor:cursor,...rest}=options;let result={...rest};return isDefined(cursor)&&(result={...result,cursor:new Vector3(cursor.x,cursor.y,cursor.z)}),result}(options);return{...rest,options:paramsOptions,camera:camera,target:isDefined(config.target)?(new Vector3).copy(config.target):new Vector3,canvas:canvas}}(config,additional);if(config.type===ControlsType.FirstPersonControls)return function(config,{camera:camera,canvas:canvas}){if(config.type!==ControlsType.FirstPersonControls)throw new Error(`Cannot create controls of unknown type "${config.type}"`);return{...config,camera:camera,canvas:canvas}}(config,additional);throw new Error(`Cannot create controls of unknown type "${config.type}"`)};export{controlsConfigToParams};
|
|
2
2
|
//# sourceMappingURL=ConfigToParams.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigToParams.js","sources":["../../../src/Controls/Adapters/ConfigToParams.ts"],"sourcesContent":["import type { TGetParamsFn } from '@Anarchy/Engine/Abstract';\nimport { ControlsType } from '@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 '@Anarchy/Engine/Controls/Models';\nimport { isDefined, isNotDefined } from '@Anarchy/Shared/Utils';\nimport { Vector3 } from 'three';\n\nexport const
|
|
1
|
+
{"version":3,"file":"ConfigToParams.js","sources":["../../../src/Controls/Adapters/ConfigToParams.ts"],"sourcesContent":["import type { TGetParamsFn } from '@Anarchy/Engine/Abstract';\nimport { ControlsType } from '@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 '@Anarchy/Engine/Controls/Models';\nimport { isDefined, isNotDefined } from '@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,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{controlsConfigToParams}from"../Adapters/ConfigToParams.js";import{OrbitControlsWrapper}from"../Wrappers/OrbitControls/OrbitControlsWrapper.js";import{FpsControlsWrapper}from"../Wrappers/FpsControls/FpsControlsWrapper.js";import{ReactiveFactory}from"../../Abstract/Factories/ReactiveFactory.js";import{FactoryType}from"../../Abstract/Constants/FactoryType.js";import{ControlsType}from"../Constants/ControlsType.js";function create(params){switch(params.type){case ControlsType.FirstPersonControls:return FpsControlsWrapper(params);case ControlsType.OrbitControls:return OrbitControlsWrapper(params);default:throw new Error(`Unknown controls type: ${params.type}`)}}function ControlsFactory(){const factory=ReactiveFactory(FactoryType.Controls,create);return Object.assign(factory,{configToParams:controlsConfigToParams})}export{ControlsFactory};
|
|
2
2
|
//# sourceMappingURL=ControlsFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ControlsFactory.js","sources":["../../../src/Controls/Factories/ControlsFactory.ts"],"sourcesContent":["import type { TReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport { FactoryType, ReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport {
|
|
1
|
+
{"version":3,"file":"ControlsFactory.js","sources":["../../../src/Controls/Factories/ControlsFactory.ts"],"sourcesContent":["import type { TReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport { FactoryType, ReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport { controlsConfigToParams } from '@Anarchy/Engine/Controls/Adapters';\nimport { ControlsType } from '@Anarchy/Engine/Controls/Constants';\nimport type { TAnyControlsWrapper, TControlsFactory, TControlsParams, TFpsControlsParams, TOrbitControlsParams } from '@Anarchy/Engine/Controls/Models';\nimport { FpsControlsWrapper, OrbitControlsWrapper } from '@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,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{getFpsControlsAccessors}from"./FpsControlsAccessors.js";import{applyFpsControlsParams}from"./FpsControlsWrapperHelper.js";import{Quaternion,Vector3,Spherical,MathUtils}from"three";import{FirstPersonControls}from"three/examples/jsm/controls/FirstPersonControls";import{makeControlsEvented,updateCameraTransformDriveOnChange}from"../../Utils/ControlsUtils.js";import{controlsToConfig}from"../../Adapters/EntityToConfig.js";import{isEulerLike}from"../../../Utils/CheckUtils.js";import{AbstractWrapper}from"../../../Abstract/Wrappers/AbstractWrapper.js";import{WrapperType}from"../../../Abstract/Constants/WrapperType.js";import{withActiveMixin}from"../../../Mixins/Generics/WithActiveMixin.js";function FpsControlsWrapper(params){const entity=new FirstPersonControls(params.camera.entity,params.canvas);makeControlsEvented(entity);const update=delta=>entity.update(delta),result=Object.assign(AbstractWrapper(entity,WrapperType.Controls,params),{update:update,enable:function(){entity.enabled=!0,update(0)},disable:function(){entity.enabled=!1,update(0)},isEnable:()=>entity.enabled,getType:()=>params.type,rotateCameraBy:function(rotation){const currentQuaternion=params.camera.entity.quaternion.clone(),deltaQuaternion=rotation instanceof Quaternion?rotation:(new Quaternion).setFromEuler(rotation);currentQuaternion.multiply(deltaQuaternion),params.camera.entity.quaternion.copy(currentQuaternion),entity._setOrientation(),entity.update(0),entity.dispatchEvent({type:"end"})},rotateCameraTo:function(rotation){const quaternion=isEulerLike(rotation)?(new Quaternion).setFromEuler(rotation):rotation;params.camera.entity.quaternion.copy(quaternion);const direction=new Vector3(0,0,-1).applyQuaternion(quaternion),spherical=(new Spherical).setFromVector3(direction),latitude=90-MathUtils.radToDeg(spherical.phi),longitude=MathUtils.radToDeg(spherical.theta);entity._lat=latitude,entity._lon=longitude,entity.update(0),entity.dispatchEvent({type:"end"})},getCamera:()=>params.camera,...getFpsControlsAccessors(entity),...withActiveMixin(),entity:entity,serialize:dependencies=>controlsToConfig(result,dependencies)});return applyFpsControlsParams(result,params.options),result.enable(),result.update(0),result._setActive(params.isActive,!0),updateCameraTransformDriveOnChange(result,params.camera),result}export{FpsControlsWrapper};
|
|
2
2
|
//# sourceMappingURL=FpsControlsWrapper.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{getOrbitControlsAccessors}from"./OrbitControlsAccessors.js";import{applyOrbitControlsParams}from"./OrbitControlsWrapperHelper.js";import{isDefined}from"../../../packages/anarchy-shared/src/Utils/CheckUtils.js";import{Quaternion,Vector3}from"three";import{OrbitControls}from"three/examples/jsm/controls/OrbitControls";import{AbstractWrapper}from"../../../Abstract/Wrappers/AbstractWrapper.js";import{WrapperType}from"../../../Abstract/Constants/WrapperType.js";import{controlsToConfig}from"../../Adapters/EntityToConfig.js";import{withActiveMixin}from"../../../Mixins/Generics/WithActiveMixin.js";import{updateCameraTransformDriveOnChange}from"../../Utils/ControlsUtils.js";import{isEulerLike}from"../../../Utils/CheckUtils.js";function OrbitControlsWrapper(params){const entity=new OrbitControls(params.camera.entity,params.canvas),update=delta=>entity.update(delta);isDefined(params.target)&&(entity.target.set(params.target.x,params.target.y,params.target.z),update(0));const result=Object.assign(AbstractWrapper(entity,WrapperType.Controls,params),{update:update,enable:function(){entity.enabled=!0,update(0)},disable:function(){entity.enabled=!1,update(0)},isEnable:()=>entity.enabled,getType:()=>params.type,...getOrbitControlsAccessors(entity),...withActiveMixin(),moveToTargetSmoothly:function(position){const currentPolarAngle=entity.getPolarAngle(),currentAzimuthalAngle=entity.getAzimuthalAngle(),currentDistance=entity.getDistance(),x=currentDistance*Math.sin(currentPolarAngle)*Math.sin(currentAzimuthalAngle),y=currentDistance*Math.cos(currentPolarAngle),z=currentDistance*Math.sin(currentPolarAngle)*Math.cos(currentAzimuthalAngle);params.camera.drive.position$.next(new Vector3(x+position.x,y+position.y,z+position.z)),result.setTarget(position)},rotateCameraBy:function(rotation){const quaternion=isEulerLike(rotation)?(new Quaternion).setFromEuler(rotation):rotation,offset=(new Vector3).subVectors(params.camera.entity.position,entity.target);offset.applyQuaternion(quaternion),params.camera.entity.position.copy(entity.target).add(offset),params.camera.entity.quaternion.copy(quaternion),entity.update(),entity.dispatchEvent({type:"end"})},rotateCameraTo:function(rotation){const quaternion=isEulerLike(rotation)?(new Quaternion).setFromEuler(rotation):rotation,distance=params.camera.entity.position.distanceTo(entity.target),direction=new Vector3(0,0,1).applyQuaternion(quaternion).multiplyScalar(distance),newCameraPosition=(new Vector3).copy(entity.target).add(direction);params.camera.entity.position.copy(newCameraPosition),params.camera.entity.quaternion.copy(quaternion),entity.update(),entity.dispatchEvent({type:"end"})},getCamera:()=>params.camera,entity:entity,serialize:dependencies=>controlsToConfig(result,dependencies)});return applyOrbitControlsParams(result,params.options),result.enable(),result.update(0),result._setActive(params.isActive,!0),updateCameraTransformDriveOnChange(result,params.camera),result}export{OrbitControlsWrapper};
|
|
2
2
|
//# sourceMappingURL=OrbitControlsWrapper.js.map
|
package/dist/Controls/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { TEnvMapConfig, TEnvMapConfigToParamsDependencies, TEnvMapParams } from '../Models';
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function envMapConfigToParams(config: TEnvMapConfig, { resourcesRegistry }: TEnvMapConfigToParamsDependencies): TEnvMapParams | never;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
1
|
+
function envMapConfigToParams(config,{resourcesRegistry:resourcesRegistry}){const texture=resourcesRegistry.getByKey(config.texture);return{...config,texture:texture}}export{envMapConfigToParams};
|
|
2
2
|
//# sourceMappingURL=ConfigToParams.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigToParams.js","sources":["../../../src/EnvMap/Adapters/ConfigToParams.ts"],"sourcesContent":["import type { TEnvMapConfig, TEnvMapConfigToParamsDependencies, TEnvMapParams, TEnvMapTexture } from '@Anarchy/Engine/EnvMap/Models';\n\nexport function
|
|
1
|
+
{"version":3,"file":"ConfigToParams.js","sources":["../../../src/EnvMap/Adapters/ConfigToParams.ts"],"sourcesContent":["import type { TEnvMapConfig, TEnvMapConfigToParamsDependencies, TEnvMapParams, TEnvMapTexture } from '@Anarchy/Engine/EnvMap/Models';\n\nexport function envMapConfigToParams(config: TEnvMapConfig, { resourcesRegistry }: TEnvMapConfigToParamsDependencies): TEnvMapParams | never {\n const texture: TEnvMapTexture | undefined = resourcesRegistry.getByKey(config.texture);\n\n return {\n ...config,\n texture\n };\n}\n"],"names":["envMapConfigToParams","config","resourcesRegistry","texture","getByKey"],"mappings":"AAEO,SAASA,qBAAqBC,QAAuBC,kBAAEA,oBAC5D,MAAMC,QAAsCD,kBAAkBE,SAASH,OAAOE,SAE9E,MAAO,IACFF,OACHE,gBAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { TEnvMapConfig, TEnvMapConfigToParamsDependencies, TEnvMapWrapper } from '../Models';
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function envMapEntityToConfig(entity: TEnvMapWrapper, { resourcesRegistry }: TEnvMapConfigToParamsDependencies): TEnvMapConfig;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{filterOutEmptyFields}from"../../packages/anarchy-shared/src/Utils/ObjectUtils.js";import{extractSerializableRegistrableFields}from"../../Mixins/Generics/ExtractSerializableRegistrableFields.js";function
|
|
1
|
+
import{filterOutEmptyFields}from"../../packages/anarchy-shared/src/Utils/ObjectUtils.js";import{extractSerializableRegistrableFields}from"../../Mixins/Generics/ExtractSerializableRegistrableFields.js";function envMapEntityToConfig(entity,{resourcesRegistry:resourcesRegistry}){const texture=resourcesRegistry.getKeyByValue(entity.entity);return filterOutEmptyFields({isActive:entity.isActive(),texture:texture,...extractSerializableRegistrableFields(entity)})}export{envMapEntityToConfig};
|
|
2
2
|
//# sourceMappingURL=EntityToConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/EnvMap/Adapters/EntityToConfig.ts"],"sourcesContent":["import type { TEnvMapConfig, TEnvMapConfigToParamsDependencies, TEnvMapWrapper } from '@Anarchy/Engine/EnvMap/Models';\nimport { extractSerializableRegistrableFields } from '@Anarchy/Engine/Mixins';\nimport { filterOutEmptyFields } from '@Anarchy/Shared/Utils';\n\nexport function
|
|
1
|
+
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/EnvMap/Adapters/EntityToConfig.ts"],"sourcesContent":["import type { TEnvMapConfig, TEnvMapConfigToParamsDependencies, TEnvMapWrapper } from '@Anarchy/Engine/EnvMap/Models';\nimport { extractSerializableRegistrableFields } from '@Anarchy/Engine/Mixins';\nimport { filterOutEmptyFields } from '@Anarchy/Shared/Utils';\n\nexport function envMapEntityToConfig(entity: TEnvMapWrapper, { resourcesRegistry }: TEnvMapConfigToParamsDependencies): TEnvMapConfig {\n const texture: string = resourcesRegistry.getKeyByValue(entity.entity);\n\n return filterOutEmptyFields({\n isActive: entity.isActive(),\n texture,\n ...extractSerializableRegistrableFields(entity)\n });\n}\n"],"names":["envMapEntityToConfig","entity","resourcesRegistry","texture","getKeyByValue","filterOutEmptyFields","isActive","extractSerializableRegistrableFields"],"mappings":"yMAIO,SAASA,qBAAqBC,QAAwBC,kBAAEA,oBAC7D,MAAMC,QAAkBD,kBAAkBE,cAAcH,OAAOA,QAE/D,OAAOI,qBAAqB,CAC1BC,SAAUL,OAAOK,WACjBH,mBACGI,qCAAqCN,SAE5C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{envMapConfigToParams}from"../Adapters/ConfigToParams.js";import{EnvMapWrapper}from"../Wrappers/EnvMapWrapper.js";import{ReactiveFactory}from"../../Abstract/Factories/ReactiveFactory.js";import{FactoryType}from"../../Abstract/Constants/FactoryType.js";function EnvMapFactory(){const factory=ReactiveFactory(FactoryType.EnvMap,EnvMapWrapper);return Object.assign(factory,{configToParams:envMapConfigToParams})}export{EnvMapFactory};
|
|
2
2
|
//# sourceMappingURL=EnvMapFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvMapFactory.js","sources":["../../../src/EnvMap/Factories/EnvMapFactory.ts"],"sourcesContent":["import type { TReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport { FactoryType, ReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport {
|
|
1
|
+
{"version":3,"file":"EnvMapFactory.js","sources":["../../../src/EnvMap/Factories/EnvMapFactory.ts"],"sourcesContent":["import type { TReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport { FactoryType, ReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport { envMapConfigToParams } from '@Anarchy/Engine/EnvMap/Adapters';\nimport type { TEnvMapFactory, TEnvMapParams, TEnvMapWrapper } from '@Anarchy/Engine/EnvMap/Models';\nimport { EnvMapWrapper } from '@Anarchy/Engine/EnvMap/Wrappers';\n\nexport function EnvMapFactory(): TEnvMapFactory {\n const factory: TReactiveFactory<TEnvMapWrapper, TEnvMapParams> = ReactiveFactory(FactoryType.EnvMap, EnvMapWrapper);\n // eslint-disable-next-line functional/immutable-data\n return Object.assign(factory, { configToParams: envMapConfigToParams });\n}\n"],"names":["EnvMapFactory","factory","ReactiveFactory","FactoryType","EnvMap","EnvMapWrapper","Object","assign","configToParams","envMapConfigToParams"],"mappings":"kQAMO,SAASA,gBACd,MAAMC,QAA2DC,gBAAgBC,YAAYC,OAAQC,eAErG,OAAOC,OAAOC,OAAON,QAAS,CAAEO,eAAgBC,sBAClD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{envMapEntityToConfig}from"../Adapters/EntityToConfig.js";import{AbstractWrapper}from"../../Abstract/Wrappers/AbstractWrapper.js";import{WrapperType}from"../../Abstract/Constants/WrapperType.js";import{withActiveMixin}from"../../Mixins/Generics/WithActiveMixin.js";function EnvMapWrapper(params){const{texture:texture,isActive:isActive}=params,wrapper=Object.assign(AbstractWrapper(texture,WrapperType.EnvMap,params),{getName:()=>params.name,...withActiveMixin(),serialize:dependencies=>envMapEntityToConfig(wrapper,dependencies)});wrapper._setActive(isActive,!0);const destroySub$=wrapper.destroy$.subscribe(()=>{texture.dispose(),destroySub$.unsubscribe()});return wrapper}export{EnvMapWrapper};
|
|
2
2
|
//# sourceMappingURL=EnvMapWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EnvMapWrapper.js","sources":["../../../src/EnvMap/Wrappers/EnvMapWrapper.ts"],"sourcesContent":["import { AbstractWrapper, WrapperType } from '@Anarchy/Engine/Abstract';\nimport {
|
|
1
|
+
{"version":3,"file":"EnvMapWrapper.js","sources":["../../../src/EnvMap/Wrappers/EnvMapWrapper.ts"],"sourcesContent":["import { AbstractWrapper, WrapperType } from '@Anarchy/Engine/Abstract';\nimport { envMapEntityToConfig } from '@Anarchy/Engine/EnvMap/Adapters';\nimport type { TEnvMapConfig, TEnvMapConfigToParamsDependencies, TEnvMapParams, TEnvMapTexture, TEnvMapWrapper } from '@Anarchy/Engine/EnvMap/Models';\nimport { withActiveMixin } from '@Anarchy/Engine/Mixins';\nimport type { Subscription } from 'rxjs';\n\nexport function EnvMapWrapper(params: TEnvMapParams): TEnvMapWrapper {\n const { texture, isActive } = params;\n const entity: TEnvMapTexture = texture;\n\n const wrapper = Object.assign(AbstractWrapper(entity, WrapperType.EnvMap, params), {\n getName: (): string => params.name,\n ...withActiveMixin(),\n serialize: (dependencies: TEnvMapConfigToParamsDependencies): TEnvMapConfig => envMapEntityToConfig(wrapper, dependencies)\n });\n\n wrapper._setActive(isActive, true);\n\n const destroySub$: Subscription = wrapper.destroy$.subscribe((): void => {\n texture.dispose();\n destroySub$.unsubscribe();\n });\n\n return wrapper;\n}\n"],"names":["EnvMapWrapper","params","texture","isActive","wrapper","Object","assign","AbstractWrapper","WrapperType","EnvMap","getName","name","withActiveMixin","serialize","dependencies","envMapEntityToConfig","_setActive","destroySub$","destroy$","subscribe","dispose","unsubscribe"],"mappings":"+QAMO,SAASA,cAAcC,QAC5B,MAAMC,QAAEA,QAAAC,SAASA,UAAaF,OAGxBG,QAAUC,OAAOC,OAAOC,gBAFCL,QAEuBM,YAAYC,OAAQR,QAAS,CACjFS,QAAS,IAAcT,OAAOU,QAC3BC,kBACHC,UAAYC,cAAmEC,qBAAqBX,QAASU,gBAG/GV,QAAQY,WAAWb,UAAU,GAE7B,MAAMc,YAA4Bb,QAAQc,SAASC,UAAU,KAC3DjB,QAAQkB,UACRH,YAAYI,gBAGd,OAAOjB,OACT"}
|
package/dist/EnvMap/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { TFogConfig, TFogParams } from '../Models';
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function fogConfigToParams(config: TFogConfig): TFogParams;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Color}from"three";function
|
|
1
|
+
import{Color}from"three";function fogConfigToParams(config){const{color:color,...rest}=config;return{...rest,...(colorStr=color,{color:new Color(colorStr)})};var colorStr}export{fogConfigToParams};
|
|
2
2
|
//# sourceMappingURL=ConfigToParams.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigToParams.js","sources":["../../../src/Fog/Adapters/ConfigToParams.ts"],"sourcesContent":["import type { TFogConfig, TFogParams } from '@Anarchy/Engine/Fog/Models';\nimport { Color } from 'three';\n\nexport function
|
|
1
|
+
{"version":3,"file":"ConfigToParams.js","sources":["../../../src/Fog/Adapters/ConfigToParams.ts"],"sourcesContent":["import type { TFogConfig, TFogParams } from '@Anarchy/Engine/Fog/Models';\nimport { Color } from 'three';\n\nexport function fogConfigToParams(config: TFogConfig): TFogParams {\n const { color, ...rest } = config;\n\n return {\n ...rest,\n ...getColorParams(color)\n };\n}\n\nfunction getColorParams(colorStr: string): Readonly<{ color: Color }> {\n return { color: new Color(colorStr) };\n}\n"],"names":["fogConfigToParams","config","color","rest","colorStr","Color"],"mappings":"yBAGO,SAASA,kBAAkBC,QAChC,MAAMC,MAAEA,SAAUC,MAASF,OAE3B,MAAO,IACFE,SAKiBC,SAJFF,MAKb,CAAEA,MAAO,IAAIG,MAAMD,aAD5B,IAAwBA,QAFxB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { TFogConfig, TFogWrapper } from '../Models';
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function fogEntityToConfig(entity: TFogWrapper): TFogConfig;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{filterOutEmptyFields}from"../../packages/anarchy-shared/src/Utils/ObjectUtils.js";import{serializeColor}from"../../Color/Adapters/EntityToConfig.js";import{extractSerializableRegistrableFields}from"../../Mixins/Generics/ExtractSerializableRegistrableFields.js";function
|
|
1
|
+
import{filterOutEmptyFields}from"../../packages/anarchy-shared/src/Utils/ObjectUtils.js";import{serializeColor}from"../../Color/Adapters/EntityToConfig.js";import{extractSerializableRegistrableFields}from"../../Mixins/Generics/ExtractSerializableRegistrableFields.js";function fogEntityToConfig(entity){const json=entity.entity.toJSON();return filterOutEmptyFields({color:serializeColor(entity.entity.color),near:json.near,far:json.far,...extractSerializableRegistrableFields(entity)})}export{fogEntityToConfig};
|
|
2
2
|
//# sourceMappingURL=EntityToConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/Fog/Adapters/EntityToConfig.ts"],"sourcesContent":["import { serializeColor } from '@Anarchy/Engine/Color';\nimport type { TFogConfig, TFogWrapper } from '@Anarchy/Engine/Fog/Models';\nimport { extractSerializableRegistrableFields } from '@Anarchy/Engine/Mixins';\nimport { filterOutEmptyFields } from '@Anarchy/Shared/Utils';\nimport type { FogJSON } from 'three';\n\nexport function
|
|
1
|
+
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/Fog/Adapters/EntityToConfig.ts"],"sourcesContent":["import { serializeColor } from '@Anarchy/Engine/Color';\nimport type { TFogConfig, TFogWrapper } from '@Anarchy/Engine/Fog/Models';\nimport { extractSerializableRegistrableFields } from '@Anarchy/Engine/Mixins';\nimport { filterOutEmptyFields } from '@Anarchy/Shared/Utils';\nimport type { FogJSON } from 'three';\n\nexport function fogEntityToConfig(entity: TFogWrapper): TFogConfig {\n const json: FogJSON = entity.entity.toJSON();\n\n return filterOutEmptyFields({\n color: serializeColor(entity.entity.color),\n near: json.near,\n far: json.far,\n ...extractSerializableRegistrableFields(entity)\n });\n}\n"],"names":["fogEntityToConfig","entity","json","toJSON","filterOutEmptyFields","color","serializeColor","near","far","extractSerializableRegistrableFields"],"mappings":"4QAMO,SAASA,kBAAkBC,QAChC,MAAMC,KAAgBD,OAAOA,OAAOE,SAEpC,OAAOC,qBAAqB,CAC1BC,MAAOC,eAAeL,OAAOA,OAAOI,OACpCE,KAAML,KAAKK,KACXC,IAAKN,KAAKM,OACPC,qCAAqCR,SAE5C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{fogConfigToParams}from"../Adapters/ConfigToParams.js";import{FogWrapper}from"../Wrappers/FogWrapper.js";import{ReactiveFactory}from"../../Abstract/Factories/ReactiveFactory.js";import{FactoryType}from"../../Abstract/Constants/FactoryType.js";function FogFactory(){const factory=ReactiveFactory(FactoryType.Fog,FogWrapper);return Object.assign(factory,{configToParams:fogConfigToParams})}export{FogFactory};
|
|
2
2
|
//# sourceMappingURL=FogFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FogFactory.js","sources":["../../../src/Fog/Factories/FogFactory.ts"],"sourcesContent":["import type { TReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport { FactoryType, ReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport {
|
|
1
|
+
{"version":3,"file":"FogFactory.js","sources":["../../../src/Fog/Factories/FogFactory.ts"],"sourcesContent":["import type { TReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport { FactoryType, ReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport { fogConfigToParams } from '@Anarchy/Engine/Fog/Adapters';\nimport type { TFogFactory, TFogParams, TFogWrapper } from '@Anarchy/Engine/Fog/Models';\nimport { FogWrapper } from '@Anarchy/Engine/Fog/Wrappers';\n\nexport function FogFactory(): TFogFactory {\n const factory: TReactiveFactory<TFogWrapper, TFogParams> = ReactiveFactory(FactoryType.Fog, FogWrapper);\n // eslint-disable-next-line functional/immutable-data\n return Object.assign(factory, { configToParams: fogConfigToParams });\n}\n"],"names":["FogFactory","factory","ReactiveFactory","FactoryType","Fog","FogWrapper","Object","assign","configToParams","fogConfigToParams"],"mappings":"yPAMO,SAASA,aACd,MAAMC,QAAqDC,gBAAgBC,YAAYC,IAAKC,YAE5F,OAAOC,OAAOC,OAAON,QAAS,CAAEO,eAAgBC,mBAClD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{Fog}from"three";import{fogEntityToConfig}from"../Adapters/EntityToConfig.js";import{AbstractWrapper}from"../../Abstract/Wrappers/AbstractWrapper.js";import{WrapperType}from"../../Abstract/Constants/WrapperType.js";function FogWrapper(params){const entity=new Fog(params.color,params.near,params.far),wrapper=AbstractWrapper(entity,WrapperType.Fog,params),result=Object.assign(wrapper,{entity:entity,serialize:()=>fogEntityToConfig(result)});return result}export{FogWrapper};
|
|
2
2
|
//# sourceMappingURL=FogWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FogWrapper.js","sources":["../../../src/Fog/Wrappers/FogWrapper.ts"],"sourcesContent":["import type { TAbstractWrapper } from '@Anarchy/Engine/Abstract';\nimport { AbstractWrapper, WrapperType } from '@Anarchy/Engine/Abstract';\nimport {
|
|
1
|
+
{"version":3,"file":"FogWrapper.js","sources":["../../../src/Fog/Wrappers/FogWrapper.ts"],"sourcesContent":["import type { TAbstractWrapper } from '@Anarchy/Engine/Abstract';\nimport { AbstractWrapper, WrapperType } from '@Anarchy/Engine/Abstract';\nimport { fogEntityToConfig } from '@Anarchy/Engine/Fog/Adapters';\nimport type { TFog, TFogConfig, TFogParams, TFogWrapper } from '@Anarchy/Engine/Fog/Models';\nimport { Fog } from 'three';\n\nexport function FogWrapper(params: TFogParams): TFogWrapper {\n const entity: TFog = new Fog(params.color, params.near, params.far);\n\n const wrapper: TAbstractWrapper<TFog> = AbstractWrapper(entity, WrapperType.Fog, params);\n\n // eslint-disable-next-line functional/immutable-data\n const result = Object.assign(wrapper, {\n entity,\n serialize: (): TFogConfig => fogEntityToConfig(result)\n });\n\n return result;\n}\n"],"names":["FogWrapper","params","entity","Fog","color","near","far","wrapper","AbstractWrapper","WrapperType","result","Object","assign","serialize","fogEntityToConfig"],"mappings":"6NAMO,SAASA,WAAWC,QACzB,MAAMC,OAAe,IAAIC,IAAIF,OAAOG,MAAOH,OAAOI,KAAMJ,OAAOK,KAEzDC,QAAkCC,gBAAgBN,OAAQO,YAAYN,IAAKF,QAG3ES,OAASC,OAAOC,OAAOL,QAAS,CACpCL,cACAW,UAAW,IAAkBC,kBAAkBJ,UAGjD,OAAOA,MACT"}
|
package/dist/Fog/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { TFsmConfig, TFsmParams } from '../Models';
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function fsmConfigToParams(config: TFsmConfig): TFsmParams | never;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function
|
|
1
|
+
function fsmConfigToParams(config){if(hasFunctions(config))throw new Error("Config must not contains functions");if(config.transitions.every(t=>3!==t.length))throw new Error("Transitions must be an array of 3 elements");return{...config,transitions:config.transitions}}function hasFunctions(obj){for(const key in obj){if("function"==typeof obj[key])return!0;if("object"==typeof obj[key]&&null!==obj[key]&&hasFunctions(obj[key]))return!0}return!1}export{fsmConfigToParams};
|
|
2
2
|
//# sourceMappingURL=ConfigToParams.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigToParams.js","sources":["../../../src/Fsm/Adapters/ConfigToParams.ts"],"sourcesContent":["import type { TFsmConfig, TFsmEvents, TFsmParams, TFsmSource } from '@Anarchy/Engine/Fsm/Models';\n\nexport function
|
|
1
|
+
{"version":3,"file":"ConfigToParams.js","sources":["../../../src/Fsm/Adapters/ConfigToParams.ts"],"sourcesContent":["import type { TFsmConfig, TFsmEvents, TFsmParams, TFsmSource } from '@Anarchy/Engine/Fsm/Models';\n\nexport function fsmConfigToParams(config: TFsmConfig): TFsmParams | never {\n if (hasFunctions(config)) throw new Error('Config must not contains functions');\n\n if (config.transitions.every((t: ReadonlyArray<TFsmSource | TFsmEvents>): boolean => t.length !== 3)) throw new Error('Transitions must be an array of 3 elements');\n\n return {\n ...config,\n transitions: config.transitions as TFsmParams['transitions']\n };\n}\n\nfunction hasFunctions(obj: any): boolean {\n // eslint-disable-next-line functional/no-loop-statements\n for (const key in obj) {\n if (typeof obj[key] === 'function') {\n return true;\n } else if (typeof obj[key] === 'object' && obj[key] !== null) {\n if (hasFunctions(obj[key])) return true;\n }\n }\n return false;\n}\n"],"names":["fsmConfigToParams","config","hasFunctions","Error","transitions","every","t","length","obj","key"],"mappings":"AAEO,SAASA,kBAAkBC,QAChC,GAAIC,aAAaD,QAAS,MAAM,IAAIE,MAAM,sCAE1C,GAAIF,OAAOG,YAAYC,MAAOC,GAAoE,IAAbA,EAAEC,QAAe,MAAM,IAAIJ,MAAM,8CAEtH,MAAO,IACFF,OACHG,YAAaH,OAAOG,YAExB,CAEA,SAASF,aAAaM,KAEpB,IAAA,MAAWC,OAAOD,IAAK,CACrB,GAAwB,mBAAbA,IAAIC,KACb,OAAO,EACT,GAA+B,iBAAbD,IAAIC,MAAkC,OAAbD,IAAIC,MACzCP,aAAaM,IAAIC,MAAO,OAAO,CAEvC,CACA,OAAO,CACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { TFsmConfig, TFsmWrapper } from '../Models';
|
|
2
|
-
export declare function
|
|
2
|
+
export declare function fsmEntityToConfig(entity: TFsmWrapper): TFsmConfig;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{filterOutEmptyFields}from"../../packages/anarchy-shared/src/Utils/ObjectUtils.js";import{extractSerializableRegistrableFields}from"../../Mixins/Generics/ExtractSerializableRegistrableFields.js";function
|
|
1
|
+
import{filterOutEmptyFields}from"../../packages/anarchy-shared/src/Utils/ObjectUtils.js";import{extractSerializableRegistrableFields}from"../../Mixins/Generics/ExtractSerializableRegistrableFields.js";function fsmEntityToConfig(entity){return filterOutEmptyFields({initial:entity.getInitial(),currentState:entity.getState(),transitions:entity.getTransitions(),type:entity.type,strategy:entity.strategy$.value,...extractSerializableRegistrableFields(entity)})}export{fsmEntityToConfig};
|
|
2
2
|
//# sourceMappingURL=EntityToConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/Fsm/Adapters/EntityToConfig.ts"],"sourcesContent":["import type { TFsmConfig, TFsmWrapper } from '@Anarchy/Engine/Fsm/Models';\nimport { extractSerializableRegistrableFields } from '@Anarchy/Engine/Mixins';\nimport { filterOutEmptyFields } from '@Anarchy/Shared/Utils';\n\nexport function
|
|
1
|
+
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/Fsm/Adapters/EntityToConfig.ts"],"sourcesContent":["import type { TFsmConfig, TFsmWrapper } from '@Anarchy/Engine/Fsm/Models';\nimport { extractSerializableRegistrableFields } from '@Anarchy/Engine/Mixins';\nimport { filterOutEmptyFields } from '@Anarchy/Shared/Utils';\n\nexport function fsmEntityToConfig(entity: TFsmWrapper): TFsmConfig {\n return filterOutEmptyFields({\n initial: entity.getInitial(),\n currentState: entity.getState(),\n transitions: entity.getTransitions(),\n type: entity.type,\n strategy: entity.strategy$.value,\n ...extractSerializableRegistrableFields(entity)\n });\n}\n"],"names":["fsmEntityToConfig","entity","filterOutEmptyFields","initial","getInitial","currentState","getState","transitions","getTransitions","type","strategy","strategy$","value","extractSerializableRegistrableFields"],"mappings":"yMAIO,SAASA,kBAAkBC,QAChC,OAAOC,qBAAqB,CAC1BC,QAASF,OAAOG,aAChBC,aAAcJ,OAAOK,WACrBC,YAAaN,OAAOO,iBACpBC,KAAMR,OAAOQ,KACbC,SAAUT,OAAOU,UAAUC,SACxBC,qCAAqCZ,SAE5C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{fsmConfigToParams}from"../Adapters/ConfigToParams.js";import{FsmWrapper}from"../Wrappers/FsmWrapper.js";import{ReactiveFactory}from"../../Abstract/Factories/ReactiveFactory.js";import{FactoryType}from"../../Abstract/Constants/FactoryType.js";function FsmInstanceFactory(){const factory=ReactiveFactory(FactoryType.FsmInstance,FsmWrapper);return Object.assign(factory,{configToParams:fsmConfigToParams})}export{FsmInstanceFactory};
|
|
2
2
|
//# sourceMappingURL=FsmInstanceFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FsmInstanceFactory.js","sources":["../../../src/Fsm/Factories/FsmInstanceFactory.ts"],"sourcesContent":["import type { TReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport { FactoryType, ReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport {
|
|
1
|
+
{"version":3,"file":"FsmInstanceFactory.js","sources":["../../../src/Fsm/Factories/FsmInstanceFactory.ts"],"sourcesContent":["import type { TReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport { FactoryType, ReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport { fsmConfigToParams } from '@Anarchy/Engine/Fsm/Adapters';\nimport type { TFsmInstanceFactory, TFsmParams, TFsmWrapper } from '@Anarchy/Engine/Fsm/Models';\nimport { FsmWrapper } from '@Anarchy/Engine/Fsm/Wrappers';\n\nexport function FsmInstanceFactory(): TFsmInstanceFactory {\n const factory: TReactiveFactory<TFsmWrapper, TFsmParams> = ReactiveFactory(FactoryType.FsmInstance, FsmWrapper);\n // eslint-disable-next-line functional/immutable-data\n return Object.assign(factory, { configToParams: fsmConfigToParams });\n}\n"],"names":["FsmInstanceFactory","factory","ReactiveFactory","FactoryType","FsmInstance","FsmWrapper","Object","assign","configToParams","fsmConfigToParams"],"mappings":"yPAMO,SAASA,qBACd,MAAMC,QAAqDC,gBAAgBC,YAAYC,YAAaC,YAEpG,OAAOC,OAAOC,OAAON,QAAS,CAAEO,eAAgBC,mBAClD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{FsmSource}from"../Entities/FsmSource.js";import{ReactiveFactory}from"../../Abstract/Factories/ReactiveFactory.js";import{FactoryType}from"../../Abstract/Constants/FactoryType.js";import{
|
|
1
|
+
import{FsmSource}from"../Entities/FsmSource.js";import{ReactiveFactory}from"../../Abstract/Factories/ReactiveFactory.js";import{FactoryType}from"../../Abstract/Constants/FactoryType.js";import{fsmConfigToParams}from"../Adapters/ConfigToParams.js";function FsmSourceFactory(){const factory=ReactiveFactory(FactoryType.FsmSource,FsmSource);return Object.assign(factory,{configToParams:fsmConfigToParams})}export{FsmSourceFactory};
|
|
2
2
|
//# sourceMappingURL=FsmSourceFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FsmSourceFactory.js","sources":["../../../src/Fsm/Factories/FsmSourceFactory.ts"],"sourcesContent":["import type { TReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport { FactoryType, ReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport {
|
|
1
|
+
{"version":3,"file":"FsmSourceFactory.js","sources":["../../../src/Fsm/Factories/FsmSourceFactory.ts"],"sourcesContent":["import type { TReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport { FactoryType, ReactiveFactory } from '@Anarchy/Engine/Abstract';\nimport { fsmConfigToParams } from '@Anarchy/Engine/Fsm/Adapters';\nimport { FsmSource } from '@Anarchy/Engine/Fsm/Entities';\nimport type { TFsmParams, TFsmSource, TFsmSourceFactory } from '@Anarchy/Engine/Fsm/Models';\n\nexport function FsmSourceFactory(): TFsmSourceFactory {\n const factory: TReactiveFactory<TFsmSource, TFsmParams> = ReactiveFactory(FactoryType.FsmSource, FsmSource);\n // eslint-disable-next-line functional/immutable-data\n return Object.assign(factory, { configToParams: fsmConfigToParams });\n}\n"],"names":["FsmSourceFactory","factory","ReactiveFactory","FactoryType","FsmSource","Object","assign","configToParams","fsmConfigToParams"],"mappings":"uPAMO,SAASA,mBACd,MAAMC,QAAoDC,gBAAgBC,YAAYC,UAAWA,WAEjG,OAAOC,OAAOC,OAAOL,QAAS,CAAEM,eAAgBC,mBAClD"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{s as stateMachineExports}from"../../_virtual/stateMachine.js";import{BehaviorSubject}from"../../node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js";import{FsmEventsStrategy}from"../Constants/FsmEventsStrategy.js";import{takeUntil}from"../../node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js";import{mergeMap}from"../../node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js";import{switchMap}from"../../node_modules/rxjs/dist/esm5/internal/operators/switchMap.js";import{exhaustMap}from"../../node_modules/rxjs/dist/esm5/internal/operators/exhaustMap.js";import{concatMap}from"../../node_modules/rxjs/dist/esm5/internal/operators/concatMap.js";import{
|
|
1
|
+
import{s as stateMachineExports}from"../../_virtual/stateMachine.js";import{BehaviorSubject}from"../../node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js";import{FsmEventsStrategy}from"../Constants/FsmEventsStrategy.js";import{takeUntil}from"../../node_modules/rxjs/dist/esm5/internal/operators/takeUntil.js";import{mergeMap}from"../../node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js";import{switchMap}from"../../node_modules/rxjs/dist/esm5/internal/operators/switchMap.js";import{exhaustMap}from"../../node_modules/rxjs/dist/esm5/internal/operators/exhaustMap.js";import{concatMap}from"../../node_modules/rxjs/dist/esm5/internal/operators/concatMap.js";import{fsmEntityToConfig}from"../Adapters/EntityToConfig.js";import{filter}from"../../node_modules/rxjs/dist/esm5/internal/operators/filter.js";import{AbstractWrapper}from"../../Abstract/Wrappers/AbstractWrapper.js";import{WrapperType}from"../../Abstract/Constants/WrapperType.js";function FsmWrapper(params){const changed$=new BehaviorSubject(params.currentState??params.initial),{name:name,...machineParams}=params,entity=new stateMachineExports.StateMachine(machineParams.currentState??machineParams.initial,machineParams.transitions.map(([from,to,event])=>stateMachineExports.t(from,to,event,()=>changed$.next(to)))),strategy$=new BehaviorSubject(params.strategy??FsmEventsStrategy.SkipPending),strategyOperator$=new BehaviorSubject(getStrategyOperator(strategy$.value)),wrapper=AbstractWrapper(entity,WrapperType.Fsm,params);function getStrategyOperator(strategy){switch(strategy){case FsmEventsStrategy.StrictQueue:return concatMap;case FsmEventsStrategy.SkipPending:return exhaustMap;case FsmEventsStrategy.ReplacePending:return switchMap;case FsmEventsStrategy.RunParallel:return mergeMap;default:throw new Error(`Unknown strategy: ${strategy}`)}}strategy$.pipe(takeUntil(wrapper.destroy$)).subscribe(strategy=>strategyOperator$.next(getStrategyOperator(strategy)));const send$=new BehaviorSubject(entity.getState()),sendSub$=strategyOperator$.pipe(switchMap(operator=>send$.pipe(filter(event=>event!==entity.getState()),operator(event=>entity.dispatch(event))))).subscribe(),destroySub$=wrapper.destroy$.subscribe(()=>{destroySub$.unsubscribe(),sendSub$.unsubscribe(),changed$.complete(),strategy$.complete(),strategyOperator$.complete(),send$.complete()}),result=Object.assign(wrapper,{entity:entity,type:params.type,changed$:changed$.asObservable(),send$:send$,strategy$:strategy$,getState:()=>entity.getState(),getInitial:()=>params.initial,serialize:()=>fsmEntityToConfig(result),getTransitions:()=>params.transitions});return result}export{FsmWrapper};
|
|
2
2
|
//# sourceMappingURL=FsmWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FsmWrapper.js","sources":["../../../src/Fsm/Wrappers/FsmWrapper.ts"],"sourcesContent":["import type { TAbstractWrapper } from '@Anarchy/Engine/Abstract';\nimport { AbstractWrapper, WrapperType } from '@Anarchy/Engine/Abstract';\nimport {
|
|
1
|
+
{"version":3,"file":"FsmWrapper.js","sources":["../../../src/Fsm/Wrappers/FsmWrapper.ts"],"sourcesContent":["import type { TAbstractWrapper } from '@Anarchy/Engine/Abstract';\nimport { AbstractWrapper, WrapperType } from '@Anarchy/Engine/Abstract';\nimport { fsmEntityToConfig } from '@Anarchy/Engine/Fsm/Adapters';\nimport { FsmEventsStrategy } from '@Anarchy/Engine/Fsm/Constants';\nimport type { TFsmConfig, TFsmEvents, TFsmMachine, TFsmParams, TFsmStates, TFsmWrapper } from '@Anarchy/Engine/Fsm/Models';\nimport type { Subscription } from 'rxjs';\nimport { BehaviorSubject, concatMap, exhaustMap, filter, mergeMap, switchMap, takeUntil } from 'rxjs';\nimport { StateMachine, t } from 'typescript-fsm';\n\ntype TStrategyType = typeof concatMap | typeof exhaustMap | typeof switchMap | typeof mergeMap;\n\nexport function FsmWrapper(params: TFsmParams): TFsmWrapper {\n const changed$: BehaviorSubject<TFsmStates> = new BehaviorSubject<TFsmStates>(params.currentState ?? params.initial);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { name, ...machineParams } = params;\n\n const onChange = (val: TFsmStates): void => changed$.next(val);\n\n const entity: TFsmMachine = new StateMachine<TFsmStates, TFsmEvents>(\n machineParams.currentState ?? machineParams.initial,\n machineParams.transitions.map(([from, to, event]) => {\n return t(from, to, event, (): void => onChange(to));\n })\n );\n\n const strategy$: BehaviorSubject<FsmEventsStrategy> = new BehaviorSubject<FsmEventsStrategy>(params.strategy ?? FsmEventsStrategy.SkipPending);\n const strategyOperator$: BehaviorSubject<TStrategyType> = new BehaviorSubject<TStrategyType>(getStrategyOperator(strategy$.value));\n\n const wrapper: TAbstractWrapper<TFsmMachine> = AbstractWrapper(entity, WrapperType.Fsm, params);\n\n strategy$.pipe(takeUntil(wrapper.destroy$)).subscribe((strategy: FsmEventsStrategy): void => strategyOperator$.next(getStrategyOperator(strategy)));\n\n function getStrategyOperator(strategy: FsmEventsStrategy): TStrategyType {\n switch (strategy) {\n case FsmEventsStrategy.StrictQueue:\n return concatMap;\n case FsmEventsStrategy.SkipPending:\n return exhaustMap;\n case FsmEventsStrategy.ReplacePending:\n return switchMap;\n case FsmEventsStrategy.RunParallel:\n return mergeMap;\n default:\n throw new Error(`Unknown strategy: ${strategy}`);\n }\n }\n\n const getState = (): TFsmStates => entity.getState();\n\n const send$: BehaviorSubject<TFsmStates> = new BehaviorSubject<TFsmStates>(entity.getState());\n const sendSub$: Subscription = strategyOperator$\n .pipe(\n switchMap((operator: TStrategyType) =>\n send$.pipe(\n filter((event: TFsmStates): boolean => event !== entity.getState()),\n (operator as any)((event: TFsmEvents): Promise<void> => entity.dispatch(event))\n )\n )\n )\n .subscribe();\n\n const destroySub$: Subscription = wrapper.destroy$.subscribe((): void => {\n destroySub$.unsubscribe();\n sendSub$.unsubscribe();\n\n changed$.complete();\n\n strategy$.complete();\n\n strategyOperator$.complete();\n\n send$.complete();\n });\n\n // eslint-disable-next-line functional/immutable-data\n const result = Object.assign(wrapper, {\n entity,\n type: params.type,\n changed$: changed$.asObservable(),\n send$,\n strategy$,\n getState,\n getInitial: (): TFsmStates => params.initial,\n serialize: (): TFsmConfig => fsmEntityToConfig(result),\n getTransitions: (): ReadonlyArray<readonly [TFsmStates, TFsmEvents, TFsmStates]> => params.transitions\n });\n\n return result;\n}\n"],"names":["FsmWrapper","params","changed$","BehaviorSubject","currentState","initial","name","machineParams","entity","StateMachine","transitions","map","from","to","event","t","next","strategy$","strategy","FsmEventsStrategy","SkipPending","strategyOperator$","getStrategyOperator","value","wrapper","AbstractWrapper","WrapperType","Fsm","StrictQueue","concatMap","exhaustMap","ReplacePending","switchMap","RunParallel","mergeMap","Error","pipe","takeUntil","destroy$","subscribe","send$","getState","sendSub$","operator","filter","dispatch","destroySub$","unsubscribe","complete","result","Object","assign","type","asObservable","getInitial","serialize","fsmEntityToConfig","getTransitions"],"mappings":"u7BAWO,SAASA,WAAWC,QACzB,MAAMC,SAAwC,IAAIC,gBAA4BF,OAAOG,cAAgBH,OAAOI,UAEtGC,KAAEA,QAASC,eAAkBN,OAI7BO,OAAsB,IAAIC,oBAAAA,aAC9BF,cAAcH,cAAgBG,cAAcF,QAC5CE,cAAcG,YAAYC,IAAI,EAAEC,KAAMC,GAAIC,SACjCC,oBAAAA,EAAEH,KAAMC,GAAIC,MAAO,IALcZ,SAASc,KAKFH,OAI7CI,UAAgD,IAAId,gBAAmCF,OAAOiB,UAAYC,kBAAkBC,aAC5HC,kBAAoD,IAAIlB,gBAA+BmB,oBAAoBL,UAAUM,QAErHC,QAAyCC,gBAAgBjB,OAAQkB,YAAYC,IAAK1B,QAIxF,SAASqB,oBAAoBJ,UAC3B,OAAQA,UACN,KAAKC,kBAAkBS,YACrB,OAAOC,UACT,KAAKV,kBAAkBC,YACrB,OAAOU,WACT,KAAKX,kBAAkBY,eACrB,OAAOC,UACT,KAAKb,kBAAkBc,YACrB,OAAOC,SACT,QACE,MAAM,IAAIC,MAAM,qBAAqBjB,YAE3C,CAfAD,UAAUmB,KAAKC,UAAUb,QAAQc,WAAWC,UAAWrB,UAAsCG,kBAAkBL,KAAKM,oBAAoBJ,YAiBxI,MAEMsB,MAAqC,IAAIrC,gBAA4BK,OAAOiC,YAC5EC,SAAyBrB,kBAC5Be,KACCJ,UAAWW,UACTH,MAAMJ,KACJQ,OAAQ9B,OAA+BA,QAAUN,OAAOiC,YACvDE,SAAkB7B,OAAqCN,OAAOqC,SAAS/B,WAI7EyB,YAEGO,YAA4BtB,QAAQc,SAASC,UAAU,KAC3DO,YAAYC,cACZL,SAASK,cAET7C,SAAS8C,WAET/B,UAAU+B,WAEV3B,kBAAkB2B,WAElBR,MAAMQ,aAIFC,OAASC,OAAOC,OAAO3B,QAAS,CACpChB,cACA4C,KAAMnD,OAAOmD,KACblD,SAAUA,SAASmD,eACnBb,YACAvB,oBACAwB,SAlCe,IAAkBjC,OAAOiC,WAmCxCa,WAAY,IAAkBrD,OAAOI,QACrCkD,UAAW,IAAkBC,kBAAkBP,QAC/CQ,eAAgB,IAAoExD,OAAOS,cAG7F,OAAOuC,MACT"}
|
|
@@ -3,4 +3,4 @@ import { TCameraService } from '../../Camera';
|
|
|
3
3
|
import { TAnyIntersectionsWatcherConfig, TAnyIntersectionsWatcherParams } from '../Models';
|
|
4
4
|
import { TLoopService } from '../../Loop';
|
|
5
5
|
import { TMouseService } from '../../Mouse';
|
|
6
|
-
export declare function
|
|
6
|
+
export declare function intersectionsWatcherConfigToParams(config: TAnyIntersectionsWatcherConfig, mouseService: TMouseService, cameraService: TCameraService, actorsService: TActorService, loopService: TLoopService): TAnyIntersectionsWatcherParams | never;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{isNotDefined}from"../../packages/anarchy-shared/src/Utils/CheckUtils.js";import{Vector3}from"three";import{isIntersectionsDirectionWatcherConfig,isIntersectionsCameraWatcherConfig}from"../Utils/IntersectionsWatcherUtils.js";function
|
|
1
|
+
import{isNotDefined}from"../../packages/anarchy-shared/src/Utils/CheckUtils.js";import{Vector3}from"three";import{isIntersectionsDirectionWatcherConfig,isIntersectionsCameraWatcherConfig}from"../Utils/IntersectionsWatcherUtils.js";function intersectionsWatcherConfigToParams(config,mouseService,cameraService,actorsService,loopService){const params=function(config,actorsService,loopService){const actors=config.actorNames.map(name=>actorsService.getRegistry().getByName(name)),intersectionsLoop=loopService.getIntersectionsLoop(config.intersectionsLoop);if(isNotDefined(intersectionsLoop))throw new Error(`configToParams: Cannot find loop "${config.intersectionsLoop}" for intersections watcher "${config.name}".`);return{...config,actors:actors,intersectionsLoop:intersectionsLoop}}(config,actorsService,loopService);let result;if(isIntersectionsDirectionWatcherConfig(config))result={...params,...configToParamsIntersectionsDirectionWatcher(config)};else{if(!isIntersectionsCameraWatcherConfig(config))throw new Error(`[Intersections] configToParams: Unknown intersections watcher config type for "${config.name}".`);result={...params,...configToParamsIntersectionsCameraWatcher(config,mouseService,cameraService)}}return result}function configToParamsIntersectionsCameraWatcher(config,mouseService,cameraService){return{camera:cameraService.getRegistry().getByName(config.cameraName),position$:mouseService.normalizedPosition$}}function configToParamsIntersectionsDirectionWatcher(config){return{origin:(new Vector3).copy(config.origin),direction:(new Vector3).copy(config.direction)}}export{intersectionsWatcherConfigToParams};
|
|
2
2
|
//# sourceMappingURL=ConfigToParams.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigToParams.js","sources":["../../../src/Intersections/Adapters/ConfigToParams.ts"],"sourcesContent":["import type { TActor, TActorService } from '@Anarchy/Engine/Actor';\nimport type { TAnyCameraWrapper, TCameraService } from '@Anarchy/Engine/Camera';\nimport type {\n TAbstractIntersectionsWatcherParams,\n TAnyIntersectionsWatcherConfig,\n TAnyIntersectionsWatcherParams,\n TIntersectionsCameraWatcherConfig,\n TIntersectionsCameraWatcherParams,\n TIntersectionsDirectionWatcherConfig,\n TIntersectionsDirectionWatcherParams,\n TIntersectionsLoop\n} from '@Anarchy/Engine/Intersections/Models';\nimport { isIntersectionsCameraWatcherConfig, isIntersectionsDirectionWatcherConfig } from '@Anarchy/Engine/Intersections/Utils';\nimport type { TLoopService } from '@Anarchy/Engine/Loop';\nimport type { TMouseService } from '@Anarchy/Engine/Mouse';\nimport { isNotDefined } from '@Anarchy/Shared/Utils';\nimport { Vector3 } from 'three';\n\nexport function
|
|
1
|
+
{"version":3,"file":"ConfigToParams.js","sources":["../../../src/Intersections/Adapters/ConfigToParams.ts"],"sourcesContent":["import type { TActor, TActorService } from '@Anarchy/Engine/Actor';\nimport type { TAnyCameraWrapper, TCameraService } from '@Anarchy/Engine/Camera';\nimport type {\n TAbstractIntersectionsWatcherParams,\n TAnyIntersectionsWatcherConfig,\n TAnyIntersectionsWatcherParams,\n TIntersectionsCameraWatcherConfig,\n TIntersectionsCameraWatcherParams,\n TIntersectionsDirectionWatcherConfig,\n TIntersectionsDirectionWatcherParams,\n TIntersectionsLoop\n} from '@Anarchy/Engine/Intersections/Models';\nimport { isIntersectionsCameraWatcherConfig, isIntersectionsDirectionWatcherConfig } from '@Anarchy/Engine/Intersections/Utils';\nimport type { TLoopService } from '@Anarchy/Engine/Loop';\nimport type { TMouseService } from '@Anarchy/Engine/Mouse';\nimport { isNotDefined } from '@Anarchy/Shared/Utils';\nimport { Vector3 } from 'three';\n\nexport function intersectionsWatcherConfigToParams(\n config: TAnyIntersectionsWatcherConfig,\n mouseService: TMouseService,\n cameraService: TCameraService,\n actorsService: TActorService,\n loopService: TLoopService\n): TAnyIntersectionsWatcherParams | never {\n const params: TAbstractIntersectionsWatcherParams = configToParamsAbstractIntersectionsWatcher(config, actorsService, loopService);\n\n let result: TAnyIntersectionsWatcherParams;\n if (isIntersectionsDirectionWatcherConfig(config)) {\n result = { ...params, ...configToParamsIntersectionsDirectionWatcher(config) };\n } else if (isIntersectionsCameraWatcherConfig(config)) {\n result = { ...params, ...configToParamsIntersectionsCameraWatcher(config, mouseService, cameraService) };\n } else {\n throw new Error(`[Intersections] configToParams: Unknown intersections watcher config type for \"${(config as TAnyIntersectionsWatcherConfig).name}\".`);\n }\n\n return result;\n}\n\nfunction configToParamsAbstractIntersectionsWatcher(config: TAnyIntersectionsWatcherConfig, actorsService: TActorService, loopService: TLoopService): TAbstractIntersectionsWatcherParams {\n const actors: ReadonlyArray<TActor> = config.actorNames.map((name: string): TActor => actorsService.getRegistry().getByName(name));\n\n const intersectionsLoop: TIntersectionsLoop | undefined = loopService.getIntersectionsLoop(config.intersectionsLoop);\n if (isNotDefined(intersectionsLoop)) throw new Error(`configToParams: Cannot find loop \"${config.intersectionsLoop}\" for intersections watcher \"${config.name}\".`);\n\n return {\n ...config,\n actors,\n intersectionsLoop\n };\n}\n\nfunction configToParamsIntersectionsCameraWatcher(\n config: TIntersectionsCameraWatcherConfig,\n mouseService: TMouseService,\n cameraService: TCameraService\n): Omit<TIntersectionsCameraWatcherParams, keyof TAbstractIntersectionsWatcherParams> {\n const camera: TAnyCameraWrapper = cameraService.getRegistry().getByName(config.cameraName);\n\n return {\n camera,\n position$: mouseService.normalizedPosition$\n };\n}\n\nfunction configToParamsIntersectionsDirectionWatcher(config: TIntersectionsDirectionWatcherConfig): Omit<TIntersectionsDirectionWatcherParams, keyof TAbstractIntersectionsWatcherParams> {\n return {\n origin: new Vector3().copy(config.origin),\n direction: new Vector3().copy(config.direction)\n };\n}\n"],"names":["intersectionsWatcherConfigToParams","config","mouseService","cameraService","actorsService","loopService","params","actors","actorNames","map","name","getRegistry","getByName","intersectionsLoop","getIntersectionsLoop","isNotDefined","Error","configToParamsAbstractIntersectionsWatcher","result","isIntersectionsDirectionWatcherConfig","configToParamsIntersectionsDirectionWatcher","isIntersectionsCameraWatcherConfig","configToParamsIntersectionsCameraWatcher","camera","cameraName","position$","normalizedPosition$","origin","Vector3","copy","direction"],"mappings":"uOAkBO,SAASA,mCACdC,OACAC,aACAC,cACAC,cACAC,aAEA,MAAMC,OAcR,SAAoDL,OAAwCG,cAA8BC,aACxH,MAAME,OAAgCN,OAAOO,WAAWC,IAAKC,MAAyBN,cAAcO,cAAcC,UAAUF,OAEtHG,kBAAoDR,YAAYS,qBAAqBb,OAAOY,mBAClG,GAAIE,aAAaF,mBAAoB,MAAM,IAAIG,MAAM,qCAAqCf,OAAOY,iDAAiDZ,OAAOS,UAEzJ,MAAO,IACFT,OACHM,cACAM,oCAEJ,CAzBsDI,CAA2ChB,OAAQG,cAAeC,aAEtH,IAAIa,OACJ,GAAIC,sCAAsClB,QACxCiB,OAAS,IAAKZ,UAAWc,4CAA4CnB,aACvE,KAAWoB,mCAAmCpB,QAG5C,MAAM,IAAIe,MAAM,kFAAmFf,OAA0CS,UAF7IQ,OAAS,IAAKZ,UAAWgB,yCAAyCrB,OAAQC,aAAcC,eAG1F,CAEA,OAAOe,MACT,CAeA,SAASI,yCACPrB,OACAC,aACAC,eAIA,MAAO,CACLoB,OAHgCpB,cAAcQ,cAAcC,UAAUX,OAAOuB,YAI7EC,UAAWvB,aAAawB,oBAE5B,CAEA,SAASN,4CAA4CnB,QACnD,MAAO,CACL0B,QAAQ,IAAIC,SAAUC,KAAK5B,OAAO0B,QAClCG,WAAW,IAAIF,SAAUC,KAAK5B,OAAO6B,WAEzC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TAbstractIntersectionsWatcherConfig, TAnyIntersectionsWatcher, TAnyIntersectionsWatcherConfig, TIntersectionsCameraWatcher, TIntersectionsCameraWatcherConfig, TIntersectionsDirectionWatcher, TIntersectionsDirectionWatcherConfig, TIntersectionsWatcher } from '../Models';
|
|
2
2
|
import { TIntersectionsWatcherConfig } from '../Models/TIntersectionsWatcherConfig';
|
|
3
|
-
export declare function
|
|
3
|
+
export declare function intersectionsEntityToConfig(entity: TAnyIntersectionsWatcher): TAnyIntersectionsWatcherConfig;
|
|
4
4
|
export declare function intersectionsAbstractToConfig(entity: TIntersectionsWatcher): TIntersectionsWatcherConfig;
|
|
5
5
|
export declare function intersectionsCameraToConfig(entity: TIntersectionsCameraWatcher): Omit<TIntersectionsCameraWatcherConfig, keyof TAbstractIntersectionsWatcherConfig>;
|
|
6
6
|
export declare function intersectionsDirectionToConfig(entity: TIntersectionsDirectionWatcher): Omit<TIntersectionsDirectionWatcherConfig, keyof TAbstractIntersectionsWatcherConfig>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{filterOutEmptyFields}from"../../packages/anarchy-shared/src/Utils/ObjectUtils.js";import{isIntersectionsDirectionWatcher,isIntersectionsCameraWatcher}from"../Utils/IntersectionsWatcherUtils.js";import{extractSerializableRegistrableFields}from"../../Mixins/Generics/ExtractSerializableRegistrableFields.js";import{vector3ToXyz}from"../../Utils/TransformUtils.js";function
|
|
1
|
+
import{filterOutEmptyFields}from"../../packages/anarchy-shared/src/Utils/ObjectUtils.js";import{isIntersectionsDirectionWatcher,isIntersectionsCameraWatcher}from"../Utils/IntersectionsWatcherUtils.js";import{extractSerializableRegistrableFields}from"../../Mixins/Generics/ExtractSerializableRegistrableFields.js";import{vector3ToXyz}from"../../Utils/TransformUtils.js";function intersectionsEntityToConfig(entity){const config=intersectionsAbstractToConfig(entity);let result;if(isIntersectionsDirectionWatcher(entity))result={...config,...intersectionsDirectionToConfig(entity)};else{if(!isIntersectionsCameraWatcher(entity))throw new Error(`[Intersections]: Entity to config failed: Unknown intersections watcher type: ${entity.name}`);result={...config,...intersectionsCameraToConfig(entity)}}return result}function intersectionsAbstractToConfig(entity){return filterOutEmptyFields({actorNames:Array.from(entity.getActors().values(),actor=>actor.name),isAutoStart:entity.isAutoStart,intersectionsLoop:entity.getIntersectionsLoop()?.name,far:entity.raycaster?.far,performance:entity.getPerformanceSettings(),...extractSerializableRegistrableFields(entity)})}function intersectionsCameraToConfig(entity){return filterOutEmptyFields({cameraName:entity.getCamera().name})}function intersectionsDirectionToConfig(entity){return filterOutEmptyFields({origin:vector3ToXyz(entity.origin$.value),direction:vector3ToXyz(entity.direction$.value)})}export{intersectionsAbstractToConfig,intersectionsCameraToConfig,intersectionsDirectionToConfig,intersectionsEntityToConfig};
|
|
2
2
|
//# sourceMappingURL=EntityToConfig.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/Intersections/Adapters/EntityToConfig.ts"],"sourcesContent":["import type { TActor } from '@Anarchy/Engine/Actor';\nimport type {\n TAbstractIntersectionsWatcherConfig,\n TAnyIntersectionsWatcher,\n TAnyIntersectionsWatcherConfig,\n TIntersectionsCameraWatcher,\n TIntersectionsCameraWatcherConfig,\n TIntersectionsDirectionWatcher,\n TIntersectionsDirectionWatcherConfig,\n TIntersectionsWatcher\n} from '@Anarchy/Engine/Intersections/Models';\nimport type { TIntersectionsWatcherConfig } from '@Anarchy/Engine/Intersections/Models/TIntersectionsWatcherConfig';\nimport { isIntersectionsCameraWatcher, isIntersectionsDirectionWatcher } from '@Anarchy/Engine/Intersections/Utils';\nimport { extractSerializableRegistrableFields } from '@Anarchy/Engine/Mixins';\nimport { vector3ToXyz } from '@Anarchy/Engine/Utils';\nimport { filterOutEmptyFields } from '@Anarchy/Shared/Utils';\n\nexport function
|
|
1
|
+
{"version":3,"file":"EntityToConfig.js","sources":["../../../src/Intersections/Adapters/EntityToConfig.ts"],"sourcesContent":["import type { TActor } from '@Anarchy/Engine/Actor';\nimport type {\n TAbstractIntersectionsWatcherConfig,\n TAnyIntersectionsWatcher,\n TAnyIntersectionsWatcherConfig,\n TIntersectionsCameraWatcher,\n TIntersectionsCameraWatcherConfig,\n TIntersectionsDirectionWatcher,\n TIntersectionsDirectionWatcherConfig,\n TIntersectionsWatcher\n} from '@Anarchy/Engine/Intersections/Models';\nimport type { TIntersectionsWatcherConfig } from '@Anarchy/Engine/Intersections/Models/TIntersectionsWatcherConfig';\nimport { isIntersectionsCameraWatcher, isIntersectionsDirectionWatcher } from '@Anarchy/Engine/Intersections/Utils';\nimport { extractSerializableRegistrableFields } from '@Anarchy/Engine/Mixins';\nimport { vector3ToXyz } from '@Anarchy/Engine/Utils';\nimport { filterOutEmptyFields } from '@Anarchy/Shared/Utils';\n\nexport function intersectionsEntityToConfig(entity: TAnyIntersectionsWatcher): TAnyIntersectionsWatcherConfig {\n const config: TIntersectionsWatcherConfig = intersectionsAbstractToConfig(entity);\n let result: TAnyIntersectionsWatcherConfig;\n\n if (isIntersectionsDirectionWatcher(entity)) {\n result = { ...config, ...intersectionsDirectionToConfig(entity) };\n } else if (isIntersectionsCameraWatcher(entity)) {\n result = { ...config, ...intersectionsCameraToConfig(entity) };\n } else {\n throw new Error(`[Intersections]: Entity to config failed: Unknown intersections watcher type: ${(entity as TAnyIntersectionsWatcherConfig).name}`);\n }\n\n return result;\n}\n\nexport function intersectionsAbstractToConfig(entity: TIntersectionsWatcher): TIntersectionsWatcherConfig {\n return filterOutEmptyFields({\n actorNames: Array.from(entity.getActors().values(), (actor: TActor): string => actor.name),\n isAutoStart: entity.isAutoStart,\n intersectionsLoop: entity.getIntersectionsLoop()?.name,\n far: entity.raycaster?.far,\n performance: entity.getPerformanceSettings(),\n ...extractSerializableRegistrableFields(entity)\n });\n}\n\nexport function intersectionsCameraToConfig(entity: TIntersectionsCameraWatcher): Omit<TIntersectionsCameraWatcherConfig, keyof TAbstractIntersectionsWatcherConfig> {\n return filterOutEmptyFields({\n cameraName: entity.getCamera().name\n });\n}\n\nexport function intersectionsDirectionToConfig(entity: TIntersectionsDirectionWatcher): Omit<TIntersectionsDirectionWatcherConfig, keyof TAbstractIntersectionsWatcherConfig> {\n return filterOutEmptyFields({\n origin: vector3ToXyz(entity.origin$.value),\n direction: vector3ToXyz(entity.direction$.value)\n });\n}\n"],"names":["intersectionsEntityToConfig","entity","config","intersectionsAbstractToConfig","result","isIntersectionsDirectionWatcher","intersectionsDirectionToConfig","isIntersectionsCameraWatcher","Error","name","intersectionsCameraToConfig","filterOutEmptyFields","actorNames","Array","from","getActors","values","actor","isAutoStart","intersectionsLoop","getIntersectionsLoop","far","raycaster","performance","getPerformanceSettings","extractSerializableRegistrableFields","cameraName","getCamera","origin","vector3ToXyz","origin$","value","direction","direction$"],"mappings":"iXAiBO,SAASA,4BAA4BC,QAC1C,MAAMC,OAAsCC,8BAA8BF,QAC1E,IAAIG,OAEJ,GAAIC,gCAAgCJ,QAClCG,OAAS,IAAKF,UAAWI,+BAA+BL,aAC1D,KAAWM,6BAA6BN,QAGtC,MAAM,IAAIO,MAAM,iFAAkFP,OAA0CQ,QAF5IL,OAAS,IAAKF,UAAWQ,4BAA4BT,QAGvD,CAEA,OAAOG,MACT,CAEO,SAASD,8BAA8BF,QAC5C,OAAOU,qBAAqB,CAC1BC,WAAYC,MAAMC,KAAKb,OAAOc,YAAYC,SAAWC,OAA0BA,MAAMR,MACrFS,YAAajB,OAAOiB,YACpBC,kBAAmBlB,OAAOmB,wBAAwBX,KAClDY,IAAKpB,OAAOqB,WAAWD,IACvBE,YAAatB,OAAOuB,4BACjBC,qCAAqCxB,SAE5C,CAEO,SAASS,4BAA4BT,QAC1C,OAAOU,qBAAqB,CAC1Be,WAAYzB,OAAO0B,YAAYlB,MAEnC,CAEO,SAASH,+BAA+BL,QAC7C,OAAOU,qBAAqB,CAC1BiB,OAAQC,aAAa5B,OAAO6B,QAAQC,OACpCC,UAAWH,aAAa5B,OAAOgC,WAAWF,QAE9C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{intersectionsWatcherConfigToParams}from"../Adapters/ConfigToParams.js";import{isIntersectionsCameraWatcherParams,isIntersectionsDirectionWatcherParams}from"../Utils/IntersectionsWatcherUtils.js";import{IntersectionsCameraWatcher}from"../Watchers/IntersectionsCameraWatcher.js";import{IntersectionsDirectionWatcher}from"../Watchers/IntersectionsDirectionWatcher.js";import{ReactiveFactory}from"../../Abstract/Factories/ReactiveFactory.js";import{FactoryType}from"../../Abstract/Constants/FactoryType.js";function create(params){if(isIntersectionsCameraWatcherParams(params))return IntersectionsCameraWatcher(params);if(isIntersectionsDirectionWatcherParams(params))return IntersectionsDirectionWatcher(params);throw new Error(`[IntersectionsWatcherFactory]: Unknown params type. Name: "${params.name}"`)}function IntersectionsWatcherFactory(){const factory=ReactiveFactory(FactoryType.IntersectionsWatcher,create);return Object.assign(factory,{configToParams:intersectionsWatcherConfigToParams})}export{IntersectionsWatcherFactory};
|
|
2
2
|
//# sourceMappingURL=IntersectionsWatcherFactory.js.map
|