@galacean/engine-spine 0.0.0-experimental-6d3110b4d9-20240531
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/LICENSE +21 -0
- package/README.md +79 -0
- package/dist/browser.js +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Animation.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Animation.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AnimationState.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AnimationState.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AnimationStateData.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AnimationStateData.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AssetManagerBase.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AssetManagerBase.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AtlasAttachmentLoader.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/AtlasAttachmentLoader.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Bone.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Bone.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/BoneData.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/BoneData.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/ConstraintData.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/ConstraintData.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Event.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Event.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/EventData.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/EventData.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/IkConstraint.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/IkConstraint.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/IkConstraintData.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/IkConstraintData.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PathConstraint.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PathConstraint.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PathConstraintData.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PathConstraintData.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PhysicsConstraint.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PhysicsConstraint.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PhysicsConstraintData.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/PhysicsConstraintData.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Skeleton.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Skeleton.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonBinary.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonBinary.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonBounds.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonBounds.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonClipping.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonClipping.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonData.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonData.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonJson.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SkeletonJson.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Skin.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Skin.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Slot.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Slot.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SlotData.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/SlotData.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Texture.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Texture.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TextureAtlas.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TextureAtlas.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TransformConstraint.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TransformConstraint.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TransformConstraintData.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/TransformConstraintData.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Triangulator.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Triangulator.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Utils.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/Utils.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/Attachment.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/Attachment.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/BoundingBoxAttachment.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/BoundingBoxAttachment.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/ClippingAttachment.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/ClippingAttachment.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/MeshAttachment.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/MeshAttachment.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/PathAttachment.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/PathAttachment.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/PointAttachment.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/PointAttachment.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/RegionAttachment.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/RegionAttachment.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/Sequence.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/attachments/Sequence.js.map +1 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/polyfills.js +2 -0
- package/dist/esm/node_modules/@esotericsoftware/spine-core/dist/polyfills.js.map +1 -0
- package/dist/esm/node_modules/tslib/tslib.es6.js +2 -0
- package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -0
- package/dist/esm/src/SpineAnimation.js +2 -0
- package/dist/esm/src/SpineAnimation.js.map +1 -0
- package/dist/esm/src/SpineMaterial.js +2 -0
- package/dist/esm/src/SpineMaterial.js.map +1 -0
- package/dist/esm/src/core/SpineGenerator.js +2 -0
- package/dist/esm/src/core/SpineGenerator.js.map +1 -0
- package/dist/esm/src/core/SpinePrimitive.js +2 -0
- package/dist/esm/src/core/SpinePrimitive.js.map +1 -0
- package/dist/esm/src/index.js +2 -0
- package/dist/esm/src/index.js.map +1 -0
- package/dist/esm/src/loader/EditorSkeletonDataLoader.js +2 -0
- package/dist/esm/src/loader/EditorSkeletonDataLoader.js.map +1 -0
- package/dist/esm/src/loader/EditorSpineAtlasLoader.js +2 -0
- package/dist/esm/src/loader/EditorSpineAtlasLoader.js.map +1 -0
- package/dist/esm/src/loader/LoaderUtils.js +2 -0
- package/dist/esm/src/loader/LoaderUtils.js.map +1 -0
- package/dist/esm/src/loader/SpineLoader.js +2 -0
- package/dist/esm/src/loader/SpineLoader.js.map +1 -0
- package/dist/main.js +2 -0
- package/dist/main.js.map +1 -0
- package/dist/module.js +2 -0
- package/dist/module.js.map +1 -0
- package/package.json +67 -0
- package/types/SpineAnimation.d.ts +64 -0
- package/types/SpineMaterial.d.ts +6 -0
- package/types/core/MeshGenerator.d.ts +43 -0
- package/types/core/SpineGenerator.d.ts +43 -0
- package/types/core/SpineMesh.d.ts +11 -0
- package/types/core/SpinePrimitive.d.ts +23 -0
- package/types/index.d.ts +7 -0
- package/types/loader/BufferReader.d.ts +9 -0
- package/types/loader/EditorSkeletonDataLoader.d.ts +6 -0
- package/types/loader/EditorSpineAtlasLoader.d.ts +6 -0
- package/types/loader/LoaderUtils.d.ts +16 -0
- package/types/loader/SpineLoader.d.ts +21 -0
- package/types/types.d.ts +4 -0
package/package.json
ADDED
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": "0.0.0-experimental-6d3110b4d9-20240531",
|
|
3
|
+
"description": "galacean spine runtime",
|
|
4
|
+
"name": "@galacean/engine-spine",
|
|
5
|
+
"main": "dist/main.js",
|
|
6
|
+
"browser": "dist/browser.js",
|
|
7
|
+
"module": "dist/module.js",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"@esotericsoftware/spine-core": "~4.2.1"
|
|
10
|
+
},
|
|
11
|
+
"peerDependencies": {
|
|
12
|
+
"@galacean/engine": ">=1.3.0-alpha.0"
|
|
13
|
+
},
|
|
14
|
+
"devDependencies": {
|
|
15
|
+
"@babel/core": "^7.22.5",
|
|
16
|
+
"@babel/plugin-proposal-class-properties": "^7.12.1",
|
|
17
|
+
"@babel/plugin-proposal-decorators": "^7.12.1",
|
|
18
|
+
"@babel/plugin-proposal-optional-chaining": "^7.12.1",
|
|
19
|
+
"@babel/plugin-transform-object-assign": "^7.12.1",
|
|
20
|
+
"@babel/preset-env": "^7.12.1",
|
|
21
|
+
"@babel/preset-typescript": "^7.12.1",
|
|
22
|
+
"@galacean/engine": "1.3.0-alpha.0",
|
|
23
|
+
"@galacean/engine-toolkit": "beta",
|
|
24
|
+
"@rollup/plugin-babel": "^5.2.1",
|
|
25
|
+
"@rollup/plugin-commonjs": "^16.0.0",
|
|
26
|
+
"@rollup/plugin-inject": "^4.0.2",
|
|
27
|
+
"@rollup/plugin-node-resolve": "^10.0.0",
|
|
28
|
+
"@rollup/plugin-replace": "^2.3.4",
|
|
29
|
+
"@rollup/plugin-terser": "^0.4.3",
|
|
30
|
+
"@swc/core": "^1.3.32",
|
|
31
|
+
"@swc/helpers": "^0.5",
|
|
32
|
+
"cross-env": "^5.2.0",
|
|
33
|
+
"dat.gui": "^0.7.9",
|
|
34
|
+
"react": "^16.14.0",
|
|
35
|
+
"react-dom": "^16.14.0",
|
|
36
|
+
"rollup": "^2.32.0",
|
|
37
|
+
"rollup-plugin-glslify": "^1.2.0",
|
|
38
|
+
"rollup-plugin-modify": "^3.0.0",
|
|
39
|
+
"rollup-plugin-serve": "^1.1.0",
|
|
40
|
+
"rollup-plugin-swc3": "^0.8.0",
|
|
41
|
+
"rollup-plugin-terser": "^7.0.2",
|
|
42
|
+
"rollup-plugin-version-injector": "^1.3.3",
|
|
43
|
+
"typescript": "^4.8.4",
|
|
44
|
+
"vite": "^4.3.9"
|
|
45
|
+
},
|
|
46
|
+
"ci": {
|
|
47
|
+
"type": "aci",
|
|
48
|
+
"versions": "12"
|
|
49
|
+
},
|
|
50
|
+
"files": [
|
|
51
|
+
"types",
|
|
52
|
+
"dist"
|
|
53
|
+
],
|
|
54
|
+
"scripts": {
|
|
55
|
+
"example": "vite",
|
|
56
|
+
"test": "jest",
|
|
57
|
+
"test-cov": "jest --coverage",
|
|
58
|
+
"dev": "rollup -cw",
|
|
59
|
+
"build": "npm run b:types && cross-env BUILD_TYPE=ALL rollup -c",
|
|
60
|
+
"build:watch": "npm run b:types && cross-env BUILD_TYPE=ALL rollup -c --watch",
|
|
61
|
+
"ci": "npm run lint && npm run test-cov",
|
|
62
|
+
"lint": "eslint src --fix --ext .ts,.tsx",
|
|
63
|
+
"b:types": "tsc --emitDeclarationOnly"
|
|
64
|
+
},
|
|
65
|
+
"types": "types/index.d.ts",
|
|
66
|
+
"repository": "https://github.com/johanzhu/engine-spine.git"
|
|
67
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Skeleton, SkeletonData, AnimationState } from "@esotericsoftware/spine-core";
|
|
2
|
+
import { SpineGenerator } from "./core/SpineGenerator";
|
|
3
|
+
import { SpineRenderSetting } from "./types";
|
|
4
|
+
import { Renderer, Entity, Material, Engine, BoundingBox, Primitive } from "@galacean/engine";
|
|
5
|
+
import { SubPrimitive } from "./core/SpinePrimitive";
|
|
6
|
+
interface InitialState {
|
|
7
|
+
animationName: string;
|
|
8
|
+
skinName: string;
|
|
9
|
+
loop: boolean;
|
|
10
|
+
scale: number;
|
|
11
|
+
}
|
|
12
|
+
export declare class SpineAnimation extends Renderer {
|
|
13
|
+
private static _defaultMaterial;
|
|
14
|
+
private static _uvMacro;
|
|
15
|
+
private static _enableVertexColorMacro;
|
|
16
|
+
private static _tempOffset;
|
|
17
|
+
private static _tempSize;
|
|
18
|
+
private static _tempArray;
|
|
19
|
+
static getDefaultMaterial(engine: Engine): Material;
|
|
20
|
+
setting: SpineRenderSetting;
|
|
21
|
+
initialState: InitialState;
|
|
22
|
+
_primitive: Primitive;
|
|
23
|
+
_subPrimitives: SubPrimitive[];
|
|
24
|
+
protected _skeleton: Skeleton;
|
|
25
|
+
protected _state: AnimationState;
|
|
26
|
+
protected _spineGenerator: SpineGenerator;
|
|
27
|
+
set skeletonData(value: SkeletonData);
|
|
28
|
+
get state(): AnimationState;
|
|
29
|
+
get skeleton(): Skeleton;
|
|
30
|
+
constructor(entity: Entity);
|
|
31
|
+
/**
|
|
32
|
+
* @internal
|
|
33
|
+
*/
|
|
34
|
+
_onAwake(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Separate slot by slot name. This will add a new sub primitive, and new materials.
|
|
37
|
+
*/
|
|
38
|
+
addSeparateSlot(slotName: string): void;
|
|
39
|
+
/**
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
update(delta: number): void;
|
|
43
|
+
/**
|
|
44
|
+
* @internal
|
|
45
|
+
*/
|
|
46
|
+
_updateRendererShaderData(context: any): void;
|
|
47
|
+
/**
|
|
48
|
+
* @internal
|
|
49
|
+
*/
|
|
50
|
+
protected _render(context: any): void;
|
|
51
|
+
/**
|
|
52
|
+
* @internal
|
|
53
|
+
*/
|
|
54
|
+
protected _updateBounds(worldBounds: BoundingBox): void;
|
|
55
|
+
/**
|
|
56
|
+
* @internal
|
|
57
|
+
*/
|
|
58
|
+
_cloneTo(target: SpineAnimation, srcRoot: Entity, targetRoot: Entity): void;
|
|
59
|
+
/**
|
|
60
|
+
* @internal
|
|
61
|
+
*/
|
|
62
|
+
protected _onDestroy(): void;
|
|
63
|
+
}
|
|
64
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Engine, SubMesh, Texture2D } from "@galacean/engine";
|
|
2
|
+
import { Skeleton, SkeletonData, Color, BlendMode } from "@esotericsoftware/spine-core";
|
|
3
|
+
import { SpineRenderSetting } from "../types";
|
|
4
|
+
import { AdaptiveTexture } from "../loader/LoaderUtils";
|
|
5
|
+
import { SpineAnimation } from "../SpineAnimation";
|
|
6
|
+
type SubMeshItem = {
|
|
7
|
+
subMesh: SubMesh;
|
|
8
|
+
blendMode: BlendMode;
|
|
9
|
+
texture: any;
|
|
10
|
+
slotName?: string;
|
|
11
|
+
};
|
|
12
|
+
export declare class MeshGenerator {
|
|
13
|
+
static QUAD_TRIANGLES: number[];
|
|
14
|
+
static VERTEX_SIZE: number;
|
|
15
|
+
static VERTEX_STRIDE: number;
|
|
16
|
+
static tempColor: Color;
|
|
17
|
+
static tempDark: Color;
|
|
18
|
+
static tempBlendMode: BlendMode | null;
|
|
19
|
+
static tempTexture: AdaptiveTexture | null;
|
|
20
|
+
private _setting;
|
|
21
|
+
private _engine;
|
|
22
|
+
private _clipper;
|
|
23
|
+
private _spineMesh;
|
|
24
|
+
private _renderer;
|
|
25
|
+
private _vertexCount;
|
|
26
|
+
private _vertices;
|
|
27
|
+
private _verticesWithZ;
|
|
28
|
+
private _indices;
|
|
29
|
+
private _needResize;
|
|
30
|
+
private _subMeshItems;
|
|
31
|
+
readonly separateSlots: string[];
|
|
32
|
+
readonly separateSlotTextureMap: Map<string, Texture2D>;
|
|
33
|
+
get mesh(): import("@galacean/engine").BufferMesh;
|
|
34
|
+
get subMeshItems(): SubMeshItem[];
|
|
35
|
+
constructor(engine: Engine, renderer: SpineAnimation);
|
|
36
|
+
initialize(skeletonData: SkeletonData, setting?: SpineRenderSetting): void;
|
|
37
|
+
buildMesh(skeleton: Skeleton): void;
|
|
38
|
+
addSeparateSlot(slotName: string): void;
|
|
39
|
+
addSeparateSlotTexture(slotName: string, texture: Texture2D): void;
|
|
40
|
+
private _prepareBufferData;
|
|
41
|
+
private setBlendMode;
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { Engine, Texture2D } from "@galacean/engine";
|
|
2
|
+
import { Skeleton, SkeletonData, Color, BlendMode } from "@esotericsoftware/spine-core";
|
|
3
|
+
import { SubPrimitive } from "./SpinePrimitive";
|
|
4
|
+
import { SpineRenderSetting } from "../types";
|
|
5
|
+
import { AdaptiveTexture } from "../loader/LoaderUtils";
|
|
6
|
+
import { SpineAnimation } from "../SpineAnimation";
|
|
7
|
+
type subRenderItems = {
|
|
8
|
+
subPrimitive: SubPrimitive;
|
|
9
|
+
blendMode: BlendMode;
|
|
10
|
+
texture: any;
|
|
11
|
+
slotName?: string;
|
|
12
|
+
};
|
|
13
|
+
export declare class SpineGenerator {
|
|
14
|
+
static QUAD_TRIANGLES: number[];
|
|
15
|
+
static VERTEX_SIZE: number;
|
|
16
|
+
static VERTEX_STRIDE: number;
|
|
17
|
+
static tempColor: Color;
|
|
18
|
+
static tempDark: Color;
|
|
19
|
+
static tempBlendMode: BlendMode | null;
|
|
20
|
+
static tempTexture: AdaptiveTexture | null;
|
|
21
|
+
private _setting;
|
|
22
|
+
private _engine;
|
|
23
|
+
private _clipper;
|
|
24
|
+
private _spinePrimitive;
|
|
25
|
+
private _renderer;
|
|
26
|
+
private _vertexCount;
|
|
27
|
+
private _vertices;
|
|
28
|
+
private _verticesWithZ;
|
|
29
|
+
private _indices;
|
|
30
|
+
private _needResize;
|
|
31
|
+
private _subRenderItems;
|
|
32
|
+
readonly separateSlots: string[];
|
|
33
|
+
readonly separateSlotTextureMap: Map<string, Texture2D>;
|
|
34
|
+
get subRenderItems(): subRenderItems[];
|
|
35
|
+
constructor(engine: Engine, renderer: SpineAnimation);
|
|
36
|
+
initialize(skeletonData: SkeletonData, setting?: SpineRenderSetting): void;
|
|
37
|
+
buildPrimitive(skeleton: Skeleton): void;
|
|
38
|
+
addSeparateSlot(slotName: string): void;
|
|
39
|
+
addSeparateSlotTexture(slotName: string, texture: Texture2D): void;
|
|
40
|
+
private _prepareBufferData;
|
|
41
|
+
private setBlendMode;
|
|
42
|
+
}
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { BufferMesh, Engine, Buffer } from '@galacean/engine';
|
|
2
|
+
export declare class SpineMesh {
|
|
3
|
+
private _mesh;
|
|
4
|
+
private _indexBuffer;
|
|
5
|
+
private _vertexBuffer;
|
|
6
|
+
get mesh(): BufferMesh;
|
|
7
|
+
get indexBuffer(): Buffer;
|
|
8
|
+
get vertexBuffer(): Buffer;
|
|
9
|
+
initialize(engine: Engine, vertexCount: number): void;
|
|
10
|
+
changeBuffer(engine: Engine, vertexCount: number): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Engine, Buffer, MeshTopology } from '@galacean/engine';
|
|
2
|
+
export declare class SubPrimitive {
|
|
3
|
+
/** Start drawing offset. */
|
|
4
|
+
start: number;
|
|
5
|
+
/** Drawing count. */
|
|
6
|
+
count: number;
|
|
7
|
+
/** Drawing topology. */
|
|
8
|
+
topology?: MeshTopology;
|
|
9
|
+
}
|
|
10
|
+
export declare class SpinePrimitive {
|
|
11
|
+
private _primitive;
|
|
12
|
+
private _subPrimitive;
|
|
13
|
+
private _indexBuffer;
|
|
14
|
+
private _vertexBuffer;
|
|
15
|
+
get primitive(): Primitive;
|
|
16
|
+
get subPrimitive(): SubPrimitive[];
|
|
17
|
+
get indexBuffer(): Buffer;
|
|
18
|
+
get vertexBuffer(): Buffer;
|
|
19
|
+
initialize(engine: Engine, vertexCount: number): void;
|
|
20
|
+
addSubPrimitive(subPrimitive: SubPrimitive): void;
|
|
21
|
+
clearSubPrimitive(): void;
|
|
22
|
+
changeBuffer(engine: Engine, vertexCount: number): void;
|
|
23
|
+
}
|
package/types/index.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import "./loader/SpineLoader";
|
|
2
|
+
import "./loader/EditorSkeletonDataLoader";
|
|
3
|
+
import "./loader/EditorSpineAtlasLoader";
|
|
4
|
+
export { SpineAnimation } from "./SpineAnimation";
|
|
5
|
+
export * from "@esotericsoftware/spine-core";
|
|
6
|
+
export { generateTextureAtlas } from "./loader/LoaderUtils";
|
|
7
|
+
export declare const version = "__buildVersion";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AssetPromise, Loader, LoadItem, ResourceManager } from "@galacean/engine";
|
|
2
|
+
import { SkeletonData } from "@esotericsoftware/spine-core";
|
|
3
|
+
declare class EditorSkeletonDataLoader extends Loader<SkeletonData> {
|
|
4
|
+
load(item: LoadItem, resourceManager: ResourceManager): AssetPromise<SkeletonData>;
|
|
5
|
+
}
|
|
6
|
+
export { EditorSkeletonDataLoader };
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AssetPromise, Loader, ResourceManager, LoadItem } from "@galacean/engine";
|
|
2
|
+
import { TextureAtlas } from "@esotericsoftware/spine-core";
|
|
3
|
+
declare class EditorSpineAtlasLoader extends Loader<TextureAtlas> {
|
|
4
|
+
load(item: LoadItem, resourceManager: ResourceManager): AssetPromise<TextureAtlas>;
|
|
5
|
+
}
|
|
6
|
+
export { EditorSpineAtlasLoader };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Engine, Texture2D } from "@galacean/engine";
|
|
2
|
+
import { TextureAtlas, SkeletonData, Texture, TextureFilter, TextureWrap } from "@esotericsoftware/spine-core";
|
|
3
|
+
import { SpineAssetBundle } from "./SpineLoader";
|
|
4
|
+
export declare function loadAndCreateSpineSkeletonData(bundle: SpineAssetBundle, engine: Engine): Promise<SkeletonData>;
|
|
5
|
+
export declare function generateTextureAtlas(atlasText: string, textureMap: Record<string, Texture2D>): TextureAtlas;
|
|
6
|
+
export declare function getBaseUrl(url: string): string;
|
|
7
|
+
export declare class AdaptiveTexture extends Texture {
|
|
8
|
+
texture: Texture2D;
|
|
9
|
+
constructor(image: HTMLImageElement | ImageBitmap, texture: Texture2D);
|
|
10
|
+
getImage(): any;
|
|
11
|
+
setFilters(minFilter: TextureFilter, magFilter: TextureFilter): void;
|
|
12
|
+
setWraps(uWrap: TextureWrap, vWrap: TextureWrap): void;
|
|
13
|
+
dispose(): void;
|
|
14
|
+
private _convertWrapMode;
|
|
15
|
+
}
|
|
16
|
+
export declare function getUrlExtension(url: string, fileExtension: string): string | null;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { AssetPromise, Loader, LoadItem, ResourceManager } from "@galacean/engine";
|
|
2
|
+
import { SkeletonData } from "@esotericsoftware/spine-core";
|
|
3
|
+
export type SpineAssetBundle = {
|
|
4
|
+
skeletonPath: string;
|
|
5
|
+
skeletonExtension: string;
|
|
6
|
+
atlasPath: string;
|
|
7
|
+
imagePaths: string[];
|
|
8
|
+
imageExtensions: string[];
|
|
9
|
+
};
|
|
10
|
+
type SpineLoaderParams = {
|
|
11
|
+
fileExtensions?: string | string[];
|
|
12
|
+
};
|
|
13
|
+
type SpineLoadItem = LoadItem & {
|
|
14
|
+
params?: SpineLoaderParams;
|
|
15
|
+
};
|
|
16
|
+
declare class SpineLoader extends Loader<SkeletonData> {
|
|
17
|
+
static imageExtensions: string[];
|
|
18
|
+
static skeletonExtensions: string[];
|
|
19
|
+
load(item: SpineLoadItem, resourceManager: ResourceManager): AssetPromise<SkeletonData>;
|
|
20
|
+
}
|
|
21
|
+
export { SpineLoader };
|
package/types/types.d.ts
ADDED