UNPKG

@animech-public/playcanvas

Version:
2 lines (1 loc) 1.03 kB
import{ComponentSystem as e}from"../system.js";import{ButtonComponent as t}from"./component.js";import{ButtonComponentData as i}from"./data.js";const s=["enabled","active",{name:"hitPadding",type:"vec4"},"transitionMode",{name:"hoverTint",type:"rgba"},{name:"pressedTint",type:"rgba"},{name:"inactiveTint",type:"rgba"},"fadeDuration","hoverSpriteAsset","hoverSpriteFrame","pressedSpriteAsset","pressedSpriteFrame","inactiveSpriteAsset","inactiveSpriteFrame"];class n extends e{constructor(e){super(e),this.id="button",this.ComponentType=t,this.DataType=i,this.schema=s,this.on("beforeremove",this._onRemoveComponent,this),this.app.systems.on("update",this.onUpdate,this)}initializeComponentData(e,t,i){e.imageEntity=t.imageEntity,super.initializeComponentData(e,t,s)}onUpdate(e){const t=this.store;for(const e in t){const i=t[e].entity,s=i.button;s.enabled&&i.enabled&&s.onUpdate()}}_onRemoveComponent(e,t){t.onRemove()}destroy(){super.destroy(),this.app.systems.off("update",this.onUpdate,this)}}export{n as ButtonComponentSystem};