@needle-tools/engine 4.2.5 → 4.3.0-alpha.1

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.
Files changed (121) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/components.needle.json +1 -1
  3. package/dist/needle-engine.bundle.js +4245 -2977
  4. package/dist/needle-engine.bundle.light.js +4236 -2968
  5. package/dist/needle-engine.bundle.light.min.js +73 -73
  6. package/dist/needle-engine.bundle.light.umd.cjs +61 -61
  7. package/dist/needle-engine.bundle.min.js +62 -62
  8. package/dist/needle-engine.bundle.umd.cjs +61 -61
  9. package/dist/needle-engine.light.d.ts +9 -9
  10. package/dist/three-examples.js +825 -794
  11. package/dist/three-examples.light.js +825 -794
  12. package/dist/three-examples.light.min.js +12 -12
  13. package/dist/three-examples.light.umd.cjs +10 -10
  14. package/dist/three-examples.min.js +12 -12
  15. package/dist/three-examples.umd.cjs +10 -10
  16. package/lib/engine/engine_addressables.d.ts +3 -0
  17. package/lib/engine/engine_addressables.js +18 -0
  18. package/lib/engine/engine_addressables.js.map +1 -1
  19. package/lib/engine/engine_input.d.ts +20 -1
  20. package/lib/engine/engine_input.js.map +1 -1
  21. package/lib/engine/engine_types.d.ts +162 -17
  22. package/lib/engine-components/Animator.d.ts +129 -21
  23. package/lib/engine-components/Animator.js +115 -21
  24. package/lib/engine-components/Animator.js.map +1 -1
  25. package/lib/engine-components/AnimatorController.d.ts +161 -32
  26. package/lib/engine-components/AnimatorController.js +176 -29
  27. package/lib/engine-components/AnimatorController.js.map +1 -1
  28. package/lib/engine-components/AudioListener.d.ts +16 -5
  29. package/lib/engine-components/AudioListener.js +16 -5
  30. package/lib/engine-components/AudioListener.js.map +1 -1
  31. package/lib/engine-components/AudioSource.d.ts +120 -28
  32. package/lib/engine-components/AudioSource.js +120 -37
  33. package/lib/engine-components/AudioSource.js.map +1 -1
  34. package/lib/engine-components/AvatarLoader.d.ts +61 -0
  35. package/lib/engine-components/AvatarLoader.js +61 -1
  36. package/lib/engine-components/AvatarLoader.js.map +1 -1
  37. package/lib/engine-components/AxesHelper.d.ts +19 -1
  38. package/lib/engine-components/AxesHelper.js +19 -1
  39. package/lib/engine-components/AxesHelper.js.map +1 -1
  40. package/lib/engine-components/BoxHelperComponent.d.ts +26 -0
  41. package/lib/engine-components/BoxHelperComponent.js +26 -0
  42. package/lib/engine-components/BoxHelperComponent.js.map +1 -1
  43. package/lib/engine-components/Camera.d.ts +126 -37
  44. package/lib/engine-components/Camera.js +139 -37
  45. package/lib/engine-components/Camera.js.map +1 -1
  46. package/lib/engine-components/CameraUtils.js +20 -0
  47. package/lib/engine-components/CameraUtils.js.map +1 -1
  48. package/lib/engine-components/Collider.d.ts +95 -21
  49. package/lib/engine-components/Collider.js +100 -23
  50. package/lib/engine-components/Collider.js.map +1 -1
  51. package/lib/engine-components/Component.d.ts +554 -106
  52. package/lib/engine-components/Component.js +352 -81
  53. package/lib/engine-components/Component.js.map +1 -1
  54. package/lib/engine-components/DragControls.d.ts +95 -21
  55. package/lib/engine-components/DragControls.js +126 -32
  56. package/lib/engine-components/DragControls.js.map +1 -1
  57. package/lib/engine-components/DropListener.d.ts +99 -16
  58. package/lib/engine-components/DropListener.js +119 -14
  59. package/lib/engine-components/DropListener.js.map +1 -1
  60. package/lib/engine-components/Light.d.ts +102 -5
  61. package/lib/engine-components/Light.js +102 -44
  62. package/lib/engine-components/Light.js.map +1 -1
  63. package/lib/engine-components/NeedleMenu.d.ts +28 -11
  64. package/lib/engine-components/NeedleMenu.js +28 -11
  65. package/lib/engine-components/NeedleMenu.js.map +1 -1
  66. package/lib/engine-components/Networking.d.ts +37 -5
  67. package/lib/engine-components/Networking.js +37 -5
  68. package/lib/engine-components/Networking.js.map +1 -1
  69. package/lib/engine-components/SceneSwitcher.d.ts +8 -0
  70. package/lib/engine-components/SceneSwitcher.js +72 -8
  71. package/lib/engine-components/SceneSwitcher.js.map +1 -1
  72. package/lib/engine-components/SpatialTrigger.d.ts +66 -1
  73. package/lib/engine-components/SpatialTrigger.js +74 -2
  74. package/lib/engine-components/SpatialTrigger.js.map +1 -1
  75. package/lib/engine-components/SpectatorCamera.d.ts +66 -4
  76. package/lib/engine-components/SpectatorCamera.js +132 -6
  77. package/lib/engine-components/SpectatorCamera.js.map +1 -1
  78. package/lib/engine-components/SyncedTransform.d.ts +45 -6
  79. package/lib/engine-components/SyncedTransform.js +45 -6
  80. package/lib/engine-components/SyncedTransform.js.map +1 -1
  81. package/lib/engine-components/TransformGizmo.d.ts +49 -3
  82. package/lib/engine-components/TransformGizmo.js +49 -3
  83. package/lib/engine-components/TransformGizmo.js.map +1 -1
  84. package/lib/engine-components/ui/EventSystem.d.ts +1 -0
  85. package/lib/engine-components/ui/EventSystem.js +8 -5
  86. package/lib/engine-components/ui/EventSystem.js.map +1 -1
  87. package/lib/engine-components/webxr/WebXR.d.ts +131 -22
  88. package/lib/engine-components/webxr/WebXR.js +132 -23
  89. package/lib/engine-components/webxr/WebXR.js.map +1 -1
  90. package/lib/engine-components-experimental/networking/PlayerSync.d.ts +82 -9
  91. package/lib/engine-components-experimental/networking/PlayerSync.js +76 -11
  92. package/lib/engine-components-experimental/networking/PlayerSync.js.map +1 -1
  93. package/package.json +1 -1
  94. package/plugins/vite/alias.js +6 -3
  95. package/src/engine/engine_addressables.ts +21 -0
  96. package/src/engine/engine_input.ts +20 -1
  97. package/src/engine/engine_types.ts +179 -18
  98. package/src/engine-components/Animator.ts +142 -22
  99. package/src/engine-components/AnimatorController.ts +184 -34
  100. package/src/engine-components/AudioListener.ts +16 -5
  101. package/src/engine-components/AudioSource.ts +126 -37
  102. package/src/engine-components/AvatarLoader.ts +61 -2
  103. package/src/engine-components/AxesHelper.ts +21 -1
  104. package/src/engine-components/BoxHelperComponent.ts +26 -0
  105. package/src/engine-components/Camera.ts +147 -41
  106. package/src/engine-components/CameraUtils.ts +20 -0
  107. package/src/engine-components/Collider.ts +102 -27
  108. package/src/engine-components/Component.ts +605 -129
  109. package/src/engine-components/DragControls.ts +134 -38
  110. package/src/engine-components/DropListener.ts +143 -23
  111. package/src/engine-components/Light.ts +105 -44
  112. package/src/engine-components/NeedleMenu.ts +29 -11
  113. package/src/engine-components/Networking.ts +37 -6
  114. package/src/engine-components/SceneSwitcher.ts +78 -9
  115. package/src/engine-components/SpatialTrigger.ts +80 -3
  116. package/src/engine-components/SpectatorCamera.ts +136 -18
  117. package/src/engine-components/SyncedTransform.ts +50 -7
  118. package/src/engine-components/TransformGizmo.ts +49 -4
  119. package/src/engine-components/ui/EventSystem.ts +9 -7
  120. package/src/engine-components/webxr/WebXR.ts +144 -27
  121. package/src/engine-components-experimental/networking/PlayerSync.ts +85 -13
@@ -3,97 +3,205 @@ import { IAnimationComponent } from "../engine/engine_types.js";
3
3
  import type { AnimatorControllerModel } from "../engine/extensions/NEEDLE_animator_controller_model.js";
4
4
  import { AnimatorController } from "./AnimatorController.js";
5
5
  import { Behaviour } from "./Component.js";
6
+ /**
7
+ * Represents an event emitted by an animation mixer
8
+ * @category Animation and Sequencing
9
+ */
6
10
  export declare class MixerEvent {
11
+ /** The type of event that occurred */
7
12
  type: string;
13
+ /** The animation action that triggered this event */
8
14
  action: AnimationAction;
15
+ /** Number of loops completed in this cycle */
9
16
  loopDelta: number;
17
+ /** The animation mixer that emitted this event */
10
18
  target: AnimationMixer;
11
19
  }
20
+ /**
21
+ * Configuration options for playing animations
22
+ * @category Animation and Sequencing
23
+ */
12
24
  export declare class PlayOptions {
25
+ /** Whether the animation should loop, and if so, which loop style to use */
13
26
  loop?: boolean | AnimationActionLoopStyles;
27
+ /** Whether the final animation state should be maintained after playback completes */
14
28
  clampWhenFinished?: boolean;
15
29
  }
16
- /** The Animator component is used to play animations on a GameObject. It is used in combination with an AnimatorController (which is a state machine for animations)
17
- * A new AnimatorController can be created from code via `AnimatorController.createFromClips`
30
+ /**
31
+ * The Animator component plays and manages animations on a GameObject.
32
+ * It works with an AnimatorController to handle state transitions and animation blending.
33
+ * A new AnimatorController can be created from code via `AnimatorController.createFromClips`.
18
34
  * @category Animation and Sequencing
19
35
  * @group Components
20
36
  */
21
37
  export declare class Animator extends Behaviour implements IAnimationComponent {
38
+ /**
39
+ * Identifies this component as an animation component in the engine
40
+ */
22
41
  get isAnimationComponent(): boolean;
42
+ /**
43
+ * When enabled, animation will affect the root transform position and rotation
44
+ */
23
45
  applyRootMotion: boolean;
46
+ /**
47
+ * Indicates whether this animator contains root motion data
48
+ */
24
49
  hasRootMotion: boolean;
50
+ /**
51
+ * When enabled, the animator will maintain its state when the component is disabled
52
+ */
25
53
  keepAnimatorControllerStateOnDisable: boolean;
54
+ /**
55
+ * Sets or replaces the animator controller for this component.
56
+ * Handles binding the controller to this animator instance and ensures
57
+ * proper initialization when the controller changes.
58
+ * @param val The animator controller model or instance to use
59
+ */
26
60
  set runtimeAnimatorController(val: AnimatorControllerModel | AnimatorController | undefined | null);
61
+ /**
62
+ * Gets the current animator controller instance
63
+ * @returns The current animator controller or null if none is assigned
64
+ */
27
65
  get runtimeAnimatorController(): AnimatorController | undefined | null;
28
- /** The current state info of the animator.
29
- * If you just want to access the currently playing animation action you can use currentAction
30
- * @returns {AnimatorStateInfo} The current state info of the animator or null if no state is playing
31
- */
66
+ /**
67
+ * Retrieves information about the current animation state
68
+ * @returns The current state information, or undefined if no state is playing
69
+ */
32
70
  getCurrentStateInfo(): import("../engine/extensions/NEEDLE_animator_controller_model.js").AnimatorStateInfo | null | undefined;
33
- /** The current action playing. It can be used to modify the action
34
- * @returns {AnimationAction | null} The current action playing or null if no state is playing
35
- */
71
+ /**
72
+ * The currently playing animation action that can be used to modify animation properties
73
+ * @returns The current animation action, or null if no animation is playing
74
+ */
36
75
  get currentAction(): AnimationAction | null;
37
- /** @returns {boolean} True if parameters have been changed */
76
+ /**
77
+ * Indicates whether animation parameters have been modified since the last update
78
+ * @returns True if parameters have been changed
79
+ */
38
80
  get parametersAreDirty(): boolean;
39
81
  private _parametersAreDirty;
40
- /** @returns {boolean} True if the animator has been changed */
82
+ /**
83
+ * Indicates whether the animator state has changed since the last update
84
+ * @returns True if the animator has been changed
85
+ */
41
86
  get isDirty(): boolean;
42
87
  private _isDirty;
43
88
  /**@deprecated use play() */
44
89
  Play(name: string | number, layer?: number, normalizedTime?: number, transitionDurationInSec?: number): void;
45
- /** Plays an animation on the animator
46
- * @param {string | number} name The name of the animation to play. Can also be the hash of the animation
47
- * @param {number} layer The layer to play the animation on. Default is -1
48
- * @param {number} normalizedTime The normalized time to start the animation at. Default is Number.NEGATIVE_INFINITY
49
- * @param {number} transitionDurationInSec The duration of the transition to the new animation. Default is 0
50
- * @returns {void}
51
- * */
90
+ /**
91
+ * Plays an animation on the animator
92
+ * @param name The name or hash of the animation to play
93
+ * @param layer The layer to play the animation on (-1 for default layer)
94
+ * @param normalizedTime The time position to start playing (0-1 range, NEGATIVE_INFINITY for current position)
95
+ * @param transitionDurationInSec The duration of the blend transition in seconds
96
+ */
52
97
  play(name: string | number, layer?: number, normalizedTime?: number, transitionDurationInSec?: number): void;
53
98
  /**@deprecated use reset */
54
99
  Reset(): void;
55
- /** Resets the animatorcontroller */
100
+ /**
101
+ * Resets the animator controller to its initial state
102
+ */
56
103
  reset(): void;
57
104
  /**@deprecated use setBool */
58
105
  SetBool(name: string | number, val: boolean): void;
106
+ /**
107
+ * Sets a boolean parameter in the animator
108
+ * @param name The name or hash of the parameter
109
+ * @param value The boolean value to set
110
+ */
59
111
  setBool(name: string | number, value: boolean): void;
60
112
  /**@deprecated use getBool */
61
113
  GetBool(name: string | number): boolean;
114
+ /**
115
+ * Gets a boolean parameter from the animator
116
+ * @param name The name or hash of the parameter
117
+ * @returns The value of the boolean parameter, or false if not found
118
+ */
62
119
  getBool(name: string | number): boolean;
120
+ /**
121
+ * Toggles a boolean parameter between true and false
122
+ * @param name The name or hash of the parameter
123
+ */
63
124
  toggleBool(name: string | number): void;
64
125
  /**@deprecated use setFloat */
65
126
  SetFloat(name: string | number, val: number): void;
127
+ /**
128
+ * Sets a float parameter in the animator
129
+ * @param name The name or hash of the parameter
130
+ * @param val The float value to set
131
+ */
66
132
  setFloat(name: string | number, val: number): void;
67
133
  /**@deprecated use getFloat */
68
134
  GetFloat(name: string | number): number;
135
+ /**
136
+ * Gets a float parameter from the animator
137
+ * @param name The name or hash of the parameter
138
+ * @returns The value of the float parameter, or -1 if not found
139
+ */
69
140
  getFloat(name: string | number): number;
70
141
  /**@deprecated use setInteger */
71
142
  SetInteger(name: string | number, val: number): void;
143
+ /**
144
+ * Sets an integer parameter in the animator
145
+ * @param name The name or hash of the parameter
146
+ * @param val The integer value to set
147
+ */
72
148
  setInteger(name: string | number, val: number): void;
73
149
  /**@deprecated use getInteger */
74
150
  GetInteger(name: string | number): number;
151
+ /**
152
+ * Gets an integer parameter from the animator
153
+ * @param name The name or hash of the parameter
154
+ * @returns The value of the integer parameter, or -1 if not found
155
+ */
75
156
  getInteger(name: string | number): number;
76
157
  /**@deprecated use setTrigger */
77
158
  SetTrigger(name: string | number): void;
159
+ /**
160
+ * Activates a trigger parameter in the animator
161
+ * @param name The name or hash of the trigger parameter
162
+ */
78
163
  setTrigger(name: string | number): void;
79
164
  /**@deprecated use resetTrigger */
80
165
  ResetTrigger(name: string | number): void;
166
+ /**
167
+ * Resets a trigger parameter in the animator
168
+ * @param name The name or hash of the trigger parameter
169
+ */
81
170
  resetTrigger(name: string | number): void;
82
171
  /**@deprecated use getTrigger */
83
172
  GetTrigger(name: string | number): void;
173
+ /**
174
+ * Gets the state of a trigger parameter from the animator
175
+ * @param name The name or hash of the trigger parameter
176
+ * @returns The state of the trigger parameter
177
+ */
84
178
  getTrigger(name: string | number): boolean | undefined;
85
179
  /**@deprecated use isInTransition */
86
180
  IsInTransition(): boolean;
87
- /** @returns `true` if the animator is currently in a transition */
181
+ /**
182
+ * Checks if the animator is currently in a transition between states
183
+ * @returns True if the animator is currently blending between animations
184
+ */
88
185
  isInTransition(): boolean;
89
186
  /**@deprecated use setSpeed */
90
187
  SetSpeed(speed: number): void;
188
+ /**
189
+ * Sets the playback speed of the animator
190
+ * @param speed The new playback speed multiplier
191
+ */
91
192
  setSpeed(speed: number): void;
92
- /** Will generate a random speed between the min and max values and set it to the animatorcontroller */
193
+ /**
194
+ * Sets a random playback speed between the min and max values
195
+ * @param minMax Object with x (minimum) and y (maximum) speed values
196
+ */
93
197
  set minMaxSpeed(minMax: {
94
198
  x: number;
95
199
  y: number;
96
200
  });
201
+ /**
202
+ * Sets a random normalized time offset for animations between min (x) and max (y) values
203
+ * @param minMax Object with x (min) and y (max) values for the offset range
204
+ */
97
205
  set minMaxOffsetNormalized(minMax: {
98
206
  x: number;
99
207
  y: number;
@@ -11,19 +11,39 @@ import { getObjectAnimated } from "./AnimationUtils.js";
11
11
  import { AnimatorController } from "./AnimatorController.js";
12
12
  import { Behaviour } from "./Component.js";
13
13
  const debug = getParam("debuganimator");
14
- /** The Animator component is used to play animations on a GameObject. It is used in combination with an AnimatorController (which is a state machine for animations)
15
- * A new AnimatorController can be created from code via `AnimatorController.createFromClips`
14
+ /**
15
+ * The Animator component plays and manages animations on a GameObject.
16
+ * It works with an AnimatorController to handle state transitions and animation blending.
17
+ * A new AnimatorController can be created from code via `AnimatorController.createFromClips`.
16
18
  * @category Animation and Sequencing
17
19
  * @group Components
18
20
  */
19
21
  export class Animator extends Behaviour {
22
+ /**
23
+ * Identifies this component as an animation component in the engine
24
+ */
20
25
  get isAnimationComponent() {
21
26
  return true;
22
27
  }
28
+ /**
29
+ * When enabled, animation will affect the root transform position and rotation
30
+ */
23
31
  applyRootMotion = false;
32
+ /**
33
+ * Indicates whether this animator contains root motion data
34
+ */
24
35
  hasRootMotion = false;
36
+ /**
37
+ * When enabled, the animator will maintain its state when the component is disabled
38
+ */
25
39
  keepAnimatorControllerStateOnDisable = false;
26
40
  // set from needle animator extension
41
+ /**
42
+ * Sets or replaces the animator controller for this component.
43
+ * Handles binding the controller to this animator instance and ensures
44
+ * proper initialization when the controller changes.
45
+ * @param val The animator controller model or instance to use
46
+ */
27
47
  set runtimeAnimatorController(val) {
28
48
  if (this._animatorController && this._animatorController.model === val) {
29
49
  return;
@@ -51,50 +71,68 @@ export class Animator extends Behaviour {
51
71
  else
52
72
  this._animatorController = null;
53
73
  }
74
+ /**
75
+ * Gets the current animator controller instance
76
+ * @returns The current animator controller or null if none is assigned
77
+ */
54
78
  get runtimeAnimatorController() {
55
79
  return this._animatorController;
56
80
  }
57
- /** The current state info of the animator.
58
- * If you just want to access the currently playing animation action you can use currentAction
59
- * @returns {AnimatorStateInfo} The current state info of the animator or null if no state is playing
60
- */
81
+ /**
82
+ * Retrieves information about the current animation state
83
+ * @returns The current state information, or undefined if no state is playing
84
+ */
61
85
  getCurrentStateInfo() {
62
86
  return this.runtimeAnimatorController?.getCurrentStateInfo();
63
87
  }
64
- /** The current action playing. It can be used to modify the action
65
- * @returns {AnimationAction | null} The current action playing or null if no state is playing
66
- */
88
+ /**
89
+ * The currently playing animation action that can be used to modify animation properties
90
+ * @returns The current animation action, or null if no animation is playing
91
+ */
67
92
  get currentAction() {
68
93
  return this.runtimeAnimatorController?.currentAction || null;
69
94
  }
70
- /** @returns {boolean} True if parameters have been changed */
95
+ /**
96
+ * Indicates whether animation parameters have been modified since the last update
97
+ * @returns True if parameters have been changed
98
+ */
71
99
  get parametersAreDirty() { return this._parametersAreDirty; }
72
100
  _parametersAreDirty = false;
73
- /** @returns {boolean} True if the animator has been changed */
101
+ /**
102
+ * Indicates whether the animator state has changed since the last update
103
+ * @returns True if the animator has been changed
104
+ */
74
105
  get isDirty() { return this._isDirty; }
75
106
  _isDirty = false;
76
107
  /**@deprecated use play() */
77
108
  Play(name, layer = -1, normalizedTime = Number.NEGATIVE_INFINITY, transitionDurationInSec = 0) { this.play(name, layer, normalizedTime, transitionDurationInSec); }
78
- /** Plays an animation on the animator
79
- * @param {string | number} name The name of the animation to play. Can also be the hash of the animation
80
- * @param {number} layer The layer to play the animation on. Default is -1
81
- * @param {number} normalizedTime The normalized time to start the animation at. Default is Number.NEGATIVE_INFINITY
82
- * @param {number} transitionDurationInSec The duration of the transition to the new animation. Default is 0
83
- * @returns {void}
84
- * */
109
+ /**
110
+ * Plays an animation on the animator
111
+ * @param name The name or hash of the animation to play
112
+ * @param layer The layer to play the animation on (-1 for default layer)
113
+ * @param normalizedTime The time position to start playing (0-1 range, NEGATIVE_INFINITY for current position)
114
+ * @param transitionDurationInSec The duration of the blend transition in seconds
115
+ */
85
116
  play(name, layer = -1, normalizedTime = Number.NEGATIVE_INFINITY, transitionDurationInSec = 0) {
86
117
  this.runtimeAnimatorController?.play(name, layer, normalizedTime, transitionDurationInSec);
87
118
  this._isDirty = true;
88
119
  }
89
120
  /**@deprecated use reset */
90
121
  Reset() { this.reset(); }
91
- /** Resets the animatorcontroller */
122
+ /**
123
+ * Resets the animator controller to its initial state
124
+ */
92
125
  reset() {
93
126
  this._animatorController?.reset();
94
127
  this._isDirty = true;
95
128
  }
96
129
  /**@deprecated use setBool */
97
130
  SetBool(name, val) { this.setBool(name, val); }
131
+ /**
132
+ * Sets a boolean parameter in the animator
133
+ * @param name The name or hash of the parameter
134
+ * @param value The boolean value to set
135
+ */
98
136
  setBool(name, value) {
99
137
  if (debug)
100
138
  console.log("setBool", name, value);
@@ -104,17 +142,31 @@ export class Animator extends Behaviour {
104
142
  }
105
143
  /**@deprecated use getBool */
106
144
  GetBool(name) { return this.getBool(name); }
145
+ /**
146
+ * Gets a boolean parameter from the animator
147
+ * @param name The name or hash of the parameter
148
+ * @returns The value of the boolean parameter, or false if not found
149
+ */
107
150
  getBool(name) {
108
151
  const res = this.runtimeAnimatorController?.getBool(name) ?? false;
109
152
  if (debug)
110
153
  console.log("getBool", name, res);
111
154
  return res;
112
155
  }
156
+ /**
157
+ * Toggles a boolean parameter between true and false
158
+ * @param name The name or hash of the parameter
159
+ */
113
160
  toggleBool(name) {
114
161
  this.setBool(name, !this.getBool(name));
115
162
  }
116
163
  /**@deprecated use setFloat */
117
164
  SetFloat(name, val) { this.setFloat(name, val); }
165
+ /**
166
+ * Sets a float parameter in the animator
167
+ * @param name The name or hash of the parameter
168
+ * @param val The float value to set
169
+ */
118
170
  setFloat(name, val) {
119
171
  if (this.runtimeAnimatorController?.getFloat(name) !== val)
120
172
  this._parametersAreDirty = true;
@@ -124,6 +176,11 @@ export class Animator extends Behaviour {
124
176
  }
125
177
  /**@deprecated use getFloat */
126
178
  GetFloat(name) { return this.getFloat(name); }
179
+ /**
180
+ * Gets a float parameter from the animator
181
+ * @param name The name or hash of the parameter
182
+ * @returns The value of the float parameter, or -1 if not found
183
+ */
127
184
  getFloat(name) {
128
185
  const res = this.runtimeAnimatorController?.getFloat(name) ?? -1;
129
186
  if (debug)
@@ -132,6 +189,11 @@ export class Animator extends Behaviour {
132
189
  }
133
190
  /**@deprecated use setInteger */
134
191
  SetInteger(name, val) { this.setInteger(name, val); }
192
+ /**
193
+ * Sets an integer parameter in the animator
194
+ * @param name The name or hash of the parameter
195
+ * @param val The integer value to set
196
+ */
135
197
  setInteger(name, val) {
136
198
  if (this.runtimeAnimatorController?.getInteger(name) !== val)
137
199
  this._parametersAreDirty = true;
@@ -141,6 +203,11 @@ export class Animator extends Behaviour {
141
203
  }
142
204
  /**@deprecated use getInteger */
143
205
  GetInteger(name) { return this.getInteger(name); }
206
+ /**
207
+ * Gets an integer parameter from the animator
208
+ * @param name The name or hash of the parameter
209
+ * @returns The value of the integer parameter, or -1 if not found
210
+ */
144
211
  getInteger(name) {
145
212
  const res = this.runtimeAnimatorController?.getInteger(name) ?? -1;
146
213
  if (debug)
@@ -149,6 +216,10 @@ export class Animator extends Behaviour {
149
216
  }
150
217
  /**@deprecated use setTrigger */
151
218
  SetTrigger(name) { this.setTrigger(name); }
219
+ /**
220
+ * Activates a trigger parameter in the animator
221
+ * @param name The name or hash of the trigger parameter
222
+ */
152
223
  setTrigger(name) {
153
224
  this._parametersAreDirty = true;
154
225
  if (debug)
@@ -157,6 +228,10 @@ export class Animator extends Behaviour {
157
228
  }
158
229
  /**@deprecated use resetTrigger */
159
230
  ResetTrigger(name) { this.resetTrigger(name); }
231
+ /**
232
+ * Resets a trigger parameter in the animator
233
+ * @param name The name or hash of the trigger parameter
234
+ */
160
235
  resetTrigger(name) {
161
236
  this._parametersAreDirty = true;
162
237
  if (debug)
@@ -165,6 +240,11 @@ export class Animator extends Behaviour {
165
240
  }
166
241
  /**@deprecated use getTrigger */
167
242
  GetTrigger(name) { this.getTrigger(name); }
243
+ /**
244
+ * Gets the state of a trigger parameter from the animator
245
+ * @param name The name or hash of the trigger parameter
246
+ * @returns The state of the trigger parameter
247
+ */
168
248
  getTrigger(name) {
169
249
  const res = this.runtimeAnimatorController?.getTrigger(name);
170
250
  if (debug)
@@ -173,12 +253,19 @@ export class Animator extends Behaviour {
173
253
  }
174
254
  /**@deprecated use isInTransition */
175
255
  IsInTransition() { return this.isInTransition(); }
176
- /** @returns `true` if the animator is currently in a transition */
256
+ /**
257
+ * Checks if the animator is currently in a transition between states
258
+ * @returns True if the animator is currently blending between animations
259
+ */
177
260
  isInTransition() {
178
261
  return this.runtimeAnimatorController?.isInTransition() ?? false;
179
262
  }
180
263
  /**@deprecated use setSpeed */
181
264
  SetSpeed(speed) { return this.setSpeed(speed); }
265
+ /**
266
+ * Sets the playback speed of the animator
267
+ * @param speed The new playback speed multiplier
268
+ */
182
269
  setSpeed(speed) {
183
270
  if (speed === this._speed)
184
271
  return;
@@ -188,12 +275,19 @@ export class Animator extends Behaviour {
188
275
  if (this._animatorController?.animator == this)
189
276
  this._animatorController.setSpeed(speed);
190
277
  }
191
- /** Will generate a random speed between the min and max values and set it to the animatorcontroller */
278
+ /**
279
+ * Sets a random playback speed between the min and max values
280
+ * @param minMax Object with x (minimum) and y (maximum) speed values
281
+ */
192
282
  set minMaxSpeed(minMax) {
193
283
  this._speed = Mathf.lerp(minMax.x, minMax.y, Math.random());
194
284
  if (this._animatorController?.animator == this)
195
285
  this._animatorController.setSpeed(this._speed);
196
286
  }
287
+ /**
288
+ * Sets a random normalized time offset for animations between min (x) and max (y) values
289
+ * @param minMax Object with x (min) and y (max) values for the offset range
290
+ */
197
291
  set minMaxOffsetNormalized(minMax) {
198
292
  this._normalizedStartOffset = Mathf.lerp(minMax.x, minMax.y, Math.random());
199
293
  if (this.runtimeAnimatorController?.animator == this)
@@ -1 +1 @@
1
- {"version":3,"file":"Animator.js","sourceRoot":"","sources":["../../src/engine-components/Animator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Animator.js","sourceRoot":"","sources":["../../src/engine-components/Animator.ts"],"names":[],"mappings":"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"}