lingo3d
Version:
Lingo3D is a React/Vue 3d game development framework that ships with a complete visual editor
90 lines • 2.4 kB
JavaScript
import { Sprite, SpriteMaterial } from "three";
import { spriteSheetDefaults, spriteSheetSchema } from "../interface/ISpriteSheet";
import PhysicsObjectManager from "./core/PhysicsObjectManager";
import { castBackBlending, castBlending } from "./utils/castBlending";
import { ssrExcludeSet } from "../collections/ssrExcludeSet";
import { configSpriteSheetSystem } from "../systems/configSystems/configSpriteSheetSystem";
class SpriteSheet extends PhysicsObjectManager {
static componentName = "spriteSheet";
static defaults = spriteSheetDefaults;
static schema = spriteSheetSchema;
constructor() {
super(new Sprite(new SpriteMaterial({
transparent: true,
visible: false
})));
ssrExcludeSet.add(this.outerObject3d);
}
disposeNode() {
super.disposeNode();
ssrExcludeSet.delete(this.outerObject3d);
}
$blob;
toBlob() {
return this.$blob;
}
_textureStart;
get textureStart() {
return this._textureStart;
}
set textureStart(value) {
this._textureStart = value;
configSpriteSheetSystem.add(this);
}
_textureEnd;
get textureEnd() {
return this._textureEnd;
}
set textureEnd(value) {
this._textureEnd = value;
configSpriteSheetSystem.add(this);
}
_texture;
get texture() {
return this._texture;
}
set texture(value) {
this._texture = value;
configSpriteSheetSystem.add(this);
}
_columns;
get columns() {
return this._columns;
}
set columns(value) {
this._columns = value;
configSpriteSheetSystem.add(this);
}
_length;
get length() {
return this._length;
}
set length(value) {
this._length = value;
configSpriteSheetSystem.add(this);
}
_loop;
get loop() {
return this._loop;
}
set loop(value) {
this._loop = value;
configSpriteSheetSystem.add(this);
}
get depth() {
return 0;
}
set depth(_) { }
get scaleZ() {
return 0;
}
set scaleZ(_) { }
get blending() {
return castBackBlending(this.object3d.material.blending);
}
set blending(val) {
this.object3d.material.blending = castBlending(val);
}
}
export default SpriteSheet;
//# sourceMappingURL=SpriteSheet.js.map