From abbd63013b1f06ef49d2b842ca9c331d7fabb8b7 Mon Sep 17 00:00:00 2001 From: Davide Tantillo Date: Mon, 3 Nov 2025 15:10:08 +0100 Subject: [PATCH] Small type fixes. --- spine-ts/spine-construct3/src/c3runtime/instance.ts | 1 - spine-ts/spine-construct3/src/instance.ts | 8 +++++--- spine-ts/spine-construct3/src/plugin.ts | 1 + spine-ts/spine-construct3/src/type.ts | 4 ++-- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/spine-ts/spine-construct3/src/c3runtime/instance.ts b/spine-ts/spine-construct3/src/c3runtime/instance.ts index e4c7058de..9b11898d6 100644 --- a/spine-ts/spine-construct3/src/c3runtime/instance.ts +++ b/spine-ts/spine-construct3/src/c3runtime/instance.ts @@ -47,7 +47,6 @@ class SpineC3Instance extends globalThis.ISDKWorldInstanceBase { this.propOffsetAngle = properties[9] as number; this.propScaleX = properties[10] as number; this.propScaleY = properties[11] as number; - } this.assetLoader = new spine.AssetLoader(); diff --git a/spine-ts/spine-construct3/src/instance.ts b/spine-ts/spine-construct3/src/instance.ts index fd678da94..4354f841e 100644 --- a/spine-ts/spine-construct3/src/instance.ts +++ b/spine-ts/spine-construct3/src/instance.ts @@ -1,6 +1,7 @@ // / import type { AnimationState, AssetLoader, Skeleton, SkeletonRendererCore, SpineBoundsProvider, TextureAtlas } from "@esotericsoftware/spine-construct3-lib"; +import type { SpineC3PluginType } from "./type"; const SDK = globalThis.SDK; @@ -22,6 +23,8 @@ class SpineC3PluginInstance extends SDK.IWorldInstanceBase { skins: string[] = []; animation?: string; + _inst!: SDK.IWorldInstance & { errors: Record }; + private assetLoader: AssetLoader; private skeletonRenderer: SkeletonRendererCore; @@ -53,7 +56,7 @@ class SpineC3PluginInstance extends SDK.IWorldInstanceBase { this.assetLoader = new spine.AssetLoader(); this.skeletonRenderer = new spine.SkeletonRendererCore(); - (this._inst as any).errors = this.errors; + this._inst.errors = this.errors; } Release () { @@ -169,8 +172,7 @@ class SpineC3PluginInstance extends SDK.IWorldInstanceBase { // } } else { - const sdkType = (this._sdkType as any); - + const sdkType = this._sdkType as SpineC3PluginType; const logo = sdkType.getSpineLogo(iRenderer); if (logo) { diff --git a/spine-ts/spine-construct3/src/plugin.ts b/spine-ts/spine-construct3/src/plugin.ts index 04bb5c90f..5a2f11044 100644 --- a/spine-ts/spine-construct3/src/plugin.ts +++ b/spine-ts/spine-construct3/src/plugin.ts @@ -107,3 +107,4 @@ const PLUGIN_CLASS = class SpineC3Plugin extends SDK.IPluginBase { SDK.Plugins.EsotericSoftware_SpineConstruct3 = PLUGIN_CLASS; PLUGIN_CLASS.Register(PLUGIN_ID, PLUGIN_CLASS); + diff --git a/spine-ts/spine-construct3/src/type.ts b/spine-ts/spine-construct3/src/type.ts index 06f56f657..c1ecccf53 100644 --- a/spine-ts/spine-construct3/src/type.ts +++ b/spine-ts/spine-construct3/src/type.ts @@ -3,7 +3,7 @@ const SDK = globalThis.SDK; const PLUGIN_CLASS = SDK.Plugins.EsotericSoftware_SpineConstruct3; -PLUGIN_CLASS.Type = class SpineC3PluginType extends SDK.ITypeBase { +export class SpineC3PluginType extends SDK.ITypeBase { spineLogo?: SDK.Gfx.IWebGLTexture; private spineLogoRequested = false; @@ -27,4 +27,4 @@ PLUGIN_CLASS.Type = class SpineC3PluginType extends SDK.ITypeBase { const spineLogoBase64 = "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"; -export { } \ No newline at end of file +PLUGIN_CLASS.Type = SpineC3PluginType;