3 lines
12 KiB
JavaScript
3 lines
12 KiB
JavaScript
var gdjs;(function(s){const o=new s.Logger("CustomRuntimeObject");class h extends s.RuntimeObject{constructor(t,e,i){super(t,e,i);this._isUntransformedHitBoxesDirty=!0;this._untransformedHitBoxes=[];this._unrotatedAABB={min:[0,0],max:[0,0]};this._innerArea=null;this._isInnerAreaFollowingParentSize=!1;this._scaleX=1;this._scaleY=1;this._flippedX=!1;this._flippedY=!1;this.opacity=255;this._customCenter=null;this._localTransformation=new s.AffineTransformation;this._localInverseTransformation=new s.AffineTransformation;this._isLocalTransformationDirty=!0;this._type=e.type,this._instanceContainer=new s.CustomRuntimeObjectInstanceContainer(t,this),this._renderer=this._createRender(),this._initializeFromObjectData(e)}_initializeFromObjectData(t){const e=this._runtimeScene.getGame().getEventsBasedObjectData(t.type);if(!e){o.error(`A CustomRuntimeObject was initialized (or re-initialized) from object data referring to an non existing events based object data with type "${t.type}".`);return}const i=this.getRuntimeScene().getGame().getEventsBasedObjectVariantData(t.type,t.variant);if(!i){o.error(`Unknown variant "${t.variant}" for object "${t.type}".`);return}this._isInnerAreaFollowingParentSize=e.isInnerAreaFollowingParentSize,i.instances.length>0&&(this._innerArea||(this._innerArea={min:[0,0,0],max:[0,0,0]}),this._innerArea.min[0]=i.areaMinX,this._innerArea.min[1]=i.areaMinY,this._innerArea.min[2]=i.areaMinZ,this._innerArea.max[0]=i.areaMaxX,this._innerArea.max[1]=i.areaMaxY,this._innerArea.max[2]=i.areaMaxZ),this._instanceContainer.loadFrom(t,i)}reinitialize(t){super.reinitialize(t),this._reinitializeContentFromObjectData(t),this.onCreated()}_reinitializeContentFromObjectData(t){this._reinitializeRenderer(),this._instanceContainer._unloadContent(),this._initializeFromObjectData(t)}updateFromObjectData(t,e){const i=this.getAnimator();if(i&&i.updateFromObjectData(t.animatable||[],e.animatable||[]),t.variant!==e.variant){const n=this.getWidth(),r=this.getHeight(),a=t.isInnerAreaFollowingParentSize&&this._instanceContainer._initialInnerArea&&this._innerArea&&(this._instanceContainer._initialInnerArea.min[0]!==this._innerArea.min[0]||this._instanceContainer._initialInnerArea.min[1]!==this._innerArea.min[1]||this._instanceContainer._initialInnerArea.max[0]!==this._innerArea.max[0]||this._instanceContainer._initialInnerArea.max[1]!==this._innerArea.max[1]);this._reinitializeContentFromObjectData(e),this.onCreated(),a&&(this.setWidth(n),this.setHeight(r))}return!0}getNetworkSyncData(t){const e=this.getAnimator(),i={...super.getNetworkSyncData(t),ifx:this.isFlippedX(),ify:this.isFlippedY(),sx:this._scaleX,sy:this._scaleY,op:this.opacity};return e&&(i.anim=e.getNetworkSyncData()),this._customCenter&&(i.cc=this._customCenter),i}updateFromNetworkSyncData(t,e){if(super.updateFromNetworkSyncData(t,e),t.ifx!==void 0&&this.flipX(t.ifx),t.ify!==void 0&&this.flipY(t.ify),t.sx!==void 0&&this.setScaleX(Math.abs(t.sx)),t.sy!==void 0&&this.setScaleY(Math.abs(t.sy)),t.op!==void 0&&this.setOpacity(t.op),t.anim){const i=this.getAnimator();i&&i.updateFromNetworkSyncData(t.anim)}t.cc&&this.setRotationCenter(t.cc[0],t.cc[1]),(t.ifx!==void 0||t.ify!==void 0||t.sx!==void 0||t.sy!==void 0||t.anim!==void 0||t.cc!==void 0)&&this.onChildrenLocationChanged()}extraInitializationFromInitialInstance(t){const e=this.getAnimator();if(t.numberProperties)for(let i=0,n=t.numberProperties.length;i<n;++i){const r=t.numberProperties[i];e&&r.name==="animation"&&e.setAnimationIndex(r.value)}t.customSize&&(this.setWidth(t.width),this.setHeight(t.height)),this.setOpacity(t.opacity===void 0?255:t.opacity),this.flipX(!!t.flippedX),this.flipY(!!t.flippedY)}onDeletedFromScene(){this.onDestroy(this._runtimeScene),super.onDeletedFromScene(),this._instanceContainer.onDeletedFromScene(this._runtimeScene)}onDestroyed(){this._instanceContainer._destroy(),super.onDestroyed()}update(t){this._instanceContainer._updateObjectsPreEvents(),this.doStepPreEvents(this._instanceContainer);const e=this.getRuntimeScene().getProfiler();e&&e.begin(this.type),this.doStepPostEvents(this._instanceContai
|
|||
|
|
//# sourceMappingURL=CustomRuntimeObject.js.map
|