{"ast":null,"code":"import { Vector3 } from \"../Maths/math.vector.js\";\nimport { Color4 } from \"../Maths/math.color.js\";\nimport { Observable } from \"../Misc/observable.js\";\nimport { ThinSprite } from \"./thinSprite.js\";\n/**\n * Class used to represent a sprite\n * @see https://doc.babylonjs.com/features/featuresDeepDive/sprites\n */\nexport class Sprite extends ThinSprite {\n /**\n * Gets or sets the sprite size\n */\n get size() {\n return this.width;\n }\n set size(value) {\n this.width = value;\n this.height = value;\n }\n /**\n * Gets the manager of this sprite\n */\n get manager() {\n return this._manager;\n }\n /**\n * Creates a new Sprite\n * @param name defines the name\n * @param manager defines the manager\n */\n constructor( /** defines the name */\n name, manager) {\n super();\n this.name = name;\n /** Gets the list of attached animations */\n this.animations = new Array();\n /** Gets or sets a boolean indicating if the sprite can be picked */\n this.isPickable = false;\n /** Gets or sets a boolean indicating that sprite texture alpha will be used for precise picking (false by default) */\n this.useAlphaForPicking = false;\n /**\n * An event triggered when the control has been disposed\n */\n this.onDisposeObservable = new Observable();\n this._onAnimationEnd = null;\n this._endAnimation = () => {\n if (this._onAnimationEnd) {\n this._onAnimationEnd();\n }\n if (this.disposeWhenFinishedAnimating) {\n this.dispose();\n }\n };\n this.color = new Color4(1.0, 1.0, 1.0, 1.0);\n this.position = Vector3.Zero();\n this._manager = manager;\n this._manager.sprites.push(this);\n this.uniqueId = this._manager.scene.getUniqueId();\n }\n /**\n * Returns the string \"Sprite\"\n * @returns \"Sprite\"\n */\n getClassName() {\n return \"Sprite\";\n }\n /** Gets or sets the initial key for the animation (setting it will restart the animation) */\n get fromIndex() {\n return this._fromIndex;\n }\n set fromIndex(value) {\n this.playAnimation(value, this._toIndex, this._loopAnimation, this._delay, this._onAnimationEnd);\n }\n /** Gets or sets the end key for the animation (setting it will restart the animation) */\n get toIndex() {\n return this._toIndex;\n }\n set toIndex(value) {\n this.playAnimation(this._fromIndex, value, this._loopAnimation, this._delay, this._onAnimationEnd);\n }\n /** Gets or sets a boolean indicating if the animation is looping (setting it will restart the animation) */\n get loopAnimation() {\n return this._loopAnimation;\n }\n set loopAnimation(value) {\n this.playAnimation(this._fromIndex, this._toIndex, value, this._delay, this._onAnimationEnd);\n }\n /** Gets or sets the delay between cell changes (setting it will restart the animation) */\n get delay() {\n return Math.max(this._delay, 1);\n }\n set delay(value) {\n this.playAnimation(this._fromIndex, this._toIndex, this._loopAnimation, value, this._onAnimationEnd);\n }\n /**\n * Starts an animation\n * @param from defines the initial key\n * @param to defines the end key\n * @param loop defines if the animation must loop\n * @param delay defines the start delay (in ms)\n * @param onAnimationEnd defines a callback to call when animation ends\n */\n playAnimation(from, to, loop, delay, onAnimationEnd = null) {\n this._onAnimationEnd = onAnimationEnd;\n super.playAnimation(from, to, loop, delay, this._endAnimation);\n }\n /** Release associated resources */\n dispose() {\n for (let i = 0; i < this._manager.sprites.length; i++) {\n if (this._manager.sprites[i] == this) {\n this._manager.sprites.splice(i, 1);\n }\n }\n // Callback\n this.onDisposeObservable.notifyObservers(this);\n this.onDisposeObservable.clear();\n }\n /**\n * Serializes the sprite to a JSON object\n * @returns the JSON object\n */\n serialize() {\n const serializationObject = {};\n serializationObject.name = this.name;\n serializationObject.position = this.position.asArray();\n serializationObject.color = this.color.asArray();\n serializationObject.width = this.width;\n serializationObject.height = this.height;\n serializationObject.angle = this.angle;\n serializationObject.cellIndex = this.cellIndex;\n serializationObject.cellRef = this.cellRef;\n serializationObject.invertU = this.invertU;\n serializationObject.invertV = this.invertV;\n serializationObject.disposeWhenFinishedAnimating = this.disposeWhenFinishedAnimating;\n serializationObject.isPickable = this.isPickable;\n serializationObject.isVisible = this.isVisible;\n serializationObject.useAlphaForPicking = this.useAlphaForPicking;\n serializationObject.animationStarted = this.animationStarted;\n serializationObject.fromIndex = this.fromIndex;\n serializationObject.toIndex = this.toIndex;\n serializationObject.loopAnimation = this.loopAnimation;\n serializationObject.delay = this.delay;\n return serializationObject;\n }\n /**\n * Parses a JSON object to create a new sprite\n * @param parsedSprite The JSON object to parse\n * @param manager defines the hosting manager\n * @returns the new sprite\n */\n static Parse(parsedSprite, manager) {\n const sprite = new Sprite(parsedSprite.name, manager);\n sprite.position = Vector3.FromArray(parsedSprite.position);\n sprite.color = Color4.FromArray(parsedSprite.color);\n sprite.width = parsedSprite.width;\n sprite.height = parsedSprite.height;\n sprite.angle = parsedSprite.angle;\n sprite.cellIndex = parsedSprite.cellIndex;\n sprite.cellRef = parsedSprite.cellRef;\n sprite.invertU = parsedSprite.invertU;\n sprite.invertV = parsedSprite.invertV;\n sprite.disposeWhenFinishedAnimating = parsedSprite.disposeWhenFinishedAnimating;\n sprite.isPickable = parsedSprite.isPickable;\n sprite.isVisible = parsedSprite.isVisible;\n sprite.useAlphaForPicking = parsedSprite.useAlphaForPicking;\n sprite._fromIndex = parsedSprite.fromIndex;\n sprite._toIndex = parsedSprite.toIndex;\n sprite._loopAnimation = parsedSprite.loopAnimation;\n sprite._delay = parsedSprite.delay;\n if (parsedSprite.animationStarted) {\n sprite.playAnimation(sprite.fromIndex, sprite.toIndex, sprite.loopAnimation, sprite.delay);\n }\n return sprite;\n }\n}","map":{"version":3,"names":["Vector3","Color4","Observable","ThinSprite","Sprite","size","width","value","height","manager","_manager","constructor","name","animations","Array","isPickable","useAlphaForPicking","onDisposeObservable","_onAnimationEnd","_endAnimation","disposeWhenFinishedAnimating","dispose","color","position","Zero","sprites","push","uniqueId","scene","getUniqueId","getClassName","fromIndex","_fromIndex","playAnimation","_toIndex","_loopAnimation","_delay","toIndex","loopAnimation","delay","Math","max","from","to","loop","onAnimationEnd","i","length","splice","notifyObservers","clear","serialize","serializationObject","asArray","angle","cellIndex","cellRef","invertU","invertV","isVisible","animationStarted","Parse","parsedSprite","sprite","FromArray"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Sprites/sprite.js"],"sourcesContent":["import { Vector3 } from \"../Maths/math.vector.js\";\nimport { Color4 } from \"../Maths/math.color.js\";\nimport { Observable } from \"../Misc/observable.js\";\nimport { ThinSprite } from \"./thinSprite.js\";\n/**\n * Class used to represent a sprite\n * @see https://doc.babylonjs.com/features/featuresDeepDive/sprites\n */\nexport class Sprite extends ThinSprite {\n /**\n * Gets or sets the sprite size\n */\n get size() {\n return this.width;\n }\n set size(value) {\n this.width = value;\n this.height = value;\n }\n /**\n * Gets the manager of this sprite\n */\n get manager() {\n return this._manager;\n }\n /**\n * Creates a new Sprite\n * @param name defines the name\n * @param manager defines the manager\n */\n constructor(\n /** defines the name */\n name, manager) {\n super();\n this.name = name;\n /** Gets the list of attached animations */\n this.animations = new Array();\n /** Gets or sets a boolean indicating if the sprite can be picked */\n this.isPickable = false;\n /** Gets or sets a boolean indicating that sprite texture alpha will be used for precise picking (false by default) */\n this.useAlphaForPicking = false;\n /**\n * An event triggered when the control has been disposed\n */\n this.onDisposeObservable = new Observable();\n this._onAnimationEnd = null;\n this._endAnimation = () => {\n if (this._onAnimationEnd) {\n this._onAnimationEnd();\n }\n if (this.disposeWhenFinishedAnimating) {\n this.dispose();\n }\n };\n this.color = new Color4(1.0, 1.0, 1.0, 1.0);\n this.position = Vector3.Zero();\n this._manager = manager;\n this._manager.sprites.push(this);\n this.uniqueId = this._manager.scene.getUniqueId();\n }\n /**\n * Returns the string \"Sprite\"\n * @returns \"Sprite\"\n */\n getClassName() {\n return \"Sprite\";\n }\n /** Gets or sets the initial key for the animation (setting it will restart the animation) */\n get fromIndex() {\n return this._fromIndex;\n }\n set fromIndex(value) {\n this.playAnimation(value, this._toIndex, this._loopAnimation, this._delay, this._onAnimationEnd);\n }\n /** Gets or sets the end key for the animation (setting it will restart the animation) */\n get toIndex() {\n return this._toIndex;\n }\n set toIndex(value) {\n this.playAnimation(this._fromIndex, value, this._loopAnimation, this._delay, this._onAnimationEnd);\n }\n /** Gets or sets a boolean indicating if the animation is looping (setting it will restart the animation) */\n get loopAnimation() {\n return this._loopAnimation;\n }\n set loopAnimation(value) {\n this.playAnimation(this._fromIndex, this._toIndex, value, this._delay, this._onAnimationEnd);\n }\n /** Gets or sets the delay between cell changes (setting it will restart the animation) */\n get delay() {\n return Math.max(this._delay, 1);\n }\n set delay(value) {\n this.playAnimation(this._fromIndex, this._toIndex, this._loopAnimation, value, this._onAnimationEnd);\n }\n /**\n * Starts an animation\n * @param from defines the initial key\n * @param to defines the end key\n * @param loop defines if the animation must loop\n * @param delay defines the start delay (in ms)\n * @param onAnimationEnd defines a callback to call when animation ends\n */\n playAnimation(from, to, loop, delay, onAnimationEnd = null) {\n this._onAnimationEnd = onAnimationEnd;\n super.playAnimation(from, to, loop, delay, this._endAnimation);\n }\n /** Release associated resources */\n dispose() {\n for (let i = 0; i < this._manager.sprites.length; i++) {\n if (this._manager.sprites[i] == this) {\n this._manager.sprites.splice(i, 1);\n }\n }\n // Callback\n this.onDisposeObservable.notifyObservers(this);\n this.onDisposeObservable.clear();\n }\n /**\n * Serializes the sprite to a JSON object\n * @returns the JSON object\n */\n serialize() {\n const serializationObject = {};\n serializationObject.name = this.name;\n serializationObject.position = this.position.asArray();\n serializationObject.color = this.color.asArray();\n serializationObject.width = this.width;\n serializationObject.height = this.height;\n serializationObject.angle = this.angle;\n serializationObject.cellIndex = this.cellIndex;\n serializationObject.cellRef = this.cellRef;\n serializationObject.invertU = this.invertU;\n serializationObject.invertV = this.invertV;\n serializationObject.disposeWhenFinishedAnimating = this.disposeWhenFinishedAnimating;\n serializationObject.isPickable = this.isPickable;\n serializationObject.isVisible = this.isVisible;\n serializationObject.useAlphaForPicking = this.useAlphaForPicking;\n serializationObject.animationStarted = this.animationStarted;\n serializationObject.fromIndex = this.fromIndex;\n serializationObject.toIndex = this.toIndex;\n serializationObject.loopAnimation = this.loopAnimation;\n serializationObject.delay = this.delay;\n return serializationObject;\n }\n /**\n * Parses a JSON object to create a new sprite\n * @param parsedSprite The JSON object to parse\n * @param manager defines the hosting manager\n * @returns the new sprite\n */\n static Parse(parsedSprite, manager) {\n const sprite = new Sprite(parsedSprite.name, manager);\n sprite.position = Vector3.FromArray(parsedSprite.position);\n sprite.color = Color4.FromArray(parsedSprite.color);\n sprite.width = parsedSprite.width;\n sprite.height = parsedSprite.height;\n sprite.angle = parsedSprite.angle;\n sprite.cellIndex = parsedSprite.cellIndex;\n sprite.cellRef = parsedSprite.cellRef;\n sprite.invertU = parsedSprite.invertU;\n sprite.invertV = parsedSprite.invertV;\n sprite.disposeWhenFinishedAnimating = parsedSprite.disposeWhenFinishedAnimating;\n sprite.isPickable = parsedSprite.isPickable;\n sprite.isVisible = parsedSprite.isVisible;\n sprite.useAlphaForPicking = parsedSprite.useAlphaForPicking;\n sprite._fromIndex = parsedSprite.fromIndex;\n sprite._toIndex = parsedSprite.toIndex;\n sprite._loopAnimation = parsedSprite.loopAnimation;\n sprite._delay = parsedSprite.delay;\n if (parsedSprite.animationStarted) {\n sprite.playAnimation(sprite.fromIndex, sprite.toIndex, sprite.loopAnimation, sprite.delay);\n }\n return sprite;\n }\n}\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}