├── .gitignore ├── source ├── aekiro_translationB │ ├── aces.json │ ├── c3runtime │ │ ├── actions.js │ │ ├── conditions.js │ │ ├── expressions.js │ │ ├── behavior.js │ │ ├── type.js │ │ └── instance.js │ ├── type.js │ ├── instance.js │ ├── lang │ │ └── en-US.json │ ├── addon.json │ ├── behavior.js │ └── icon.svg ├── aekiro_discreteProgressPart │ ├── aces.json │ ├── c3runtime │ │ ├── actions.js │ │ ├── conditions.js │ │ ├── expressions.js │ │ ├── behavior.js │ │ └── type.js │ ├── type.js │ ├── instance.js │ ├── addon.json │ ├── lang │ │ └── en-US.json │ ├── behavior.js │ └── icon.svg ├── aekiro_remoteSprite_dom │ ├── c3runtime │ │ ├── actions.js │ │ ├── conditions.js │ │ ├── expressions.js │ │ ├── plugin.js │ │ ├── domSide.js │ │ ├── type.js │ │ └── instance.js │ ├── type.js │ ├── aces.json │ ├── addon.json │ ├── lang │ │ └── en-US.json │ ├── plugin.js │ ├── instance.js │ └── icon.svg ├── aekiro_scrollView │ ├── aekiro_scrollView.zip │ ├── c3runtime │ │ ├── conditions.js │ │ ├── expressions.js │ │ ├── type.js │ │ └── actions.js │ ├── type.js │ ├── instance.js │ ├── addon.json │ ├── aces.json │ ├── icon.svg │ └── behavior.js ├── aekiro_button │ ├── c3runtime │ │ ├── expressions.js │ │ ├── conditions.js │ │ ├── actions.js │ │ └── type.js │ ├── type.js │ ├── instance.js │ ├── addon.json │ ├── icon.svg │ └── behavior.js ├── aekiro_dialog │ ├── c3runtime │ │ ├── expressions.js │ │ ├── conditions.js │ │ ├── behavior.js │ │ ├── type.js │ │ └── actions.js │ ├── type.js │ ├── instance.js │ ├── addon.json │ ├── aces.json │ ├── behavior.js │ └── icon.svg ├── aekiro_progress │ ├── c3runtime │ │ ├── conditions.js │ │ ├── expressions.js │ │ ├── actions.js │ │ ├── behavior.js │ │ └── type.js │ ├── type.js │ ├── instance.js │ ├── aces.json │ ├── addon.json │ ├── icon.svg │ ├── behavior.js │ └── lang │ │ └── en-US.json ├── aekiro_gridView │ ├── c3runtime │ │ ├── expressions.js │ │ ├── conditions.js │ │ ├── behavior.js │ │ ├── type.js │ │ └── actions.js │ ├── type.js │ ├── instance.js │ ├── addon.json │ ├── aces.json │ ├── icon.svg │ ├── behavior.js │ └── lang │ │ └── en-US.json ├── aekiro_gridViewBind │ ├── c3runtime │ │ ├── actions.js │ │ ├── conditions.js │ │ ├── behavior.js │ │ ├── type.js │ │ ├── expressions.js │ │ └── instance.js │ ├── type.js │ ├── instance.js │ ├── addon.json │ ├── aces.json │ ├── behavior.js │ ├── icon.svg │ └── lang │ │ └── en-US.json ├── aekiro_proui │ ├── c3runtime │ │ ├── expressions.js │ │ ├── conditions.js │ │ ├── plugin.js │ │ ├── type.js │ │ └── actions.js │ ├── type.js │ ├── instance.js │ ├── addon.json │ ├── aces.json │ ├── plugin.js │ ├── icon.svg │ └── lang │ │ └── en-US.json ├── aekiro_remoteSprite │ ├── c3runtime │ │ ├── conditions.js │ │ ├── expressions.js │ │ ├── plugin.js │ │ ├── type.js │ │ ├── actions.js │ │ └── instance.js │ ├── type.js │ ├── addon.json │ ├── aces.json │ ├── plugin.js │ ├── lang │ │ └── en-US.json │ └── instance.js ├── aekiro_discreteProgress │ ├── c3runtime │ │ ├── conditions.js │ │ ├── expressions.js │ │ ├── actions.js │ │ ├── behavior.js │ │ ├── type.js │ │ └── instance.js │ ├── type.js │ ├── aces.json │ ├── instance.js │ ├── addon.json │ ├── lang │ │ └── en-US.json │ └── behavior.js ├── aekiro_translation │ ├── c3runtime │ │ ├── conditions.js │ │ ├── expressions.js │ │ ├── actions.js │ │ ├── plugin.js │ │ ├── type.js │ │ └── instance.js │ ├── type.js │ ├── instance.js │ ├── addon.json │ ├── aces.json │ ├── lang │ │ └── en-US.json │ ├── plugin.js │ └── icon.svg ├── aekiro_radiobutton │ ├── c3runtime │ │ ├── expressions.js │ │ ├── conditions.js │ │ ├── type.js │ │ ├── actions.js │ │ └── behavior.js │ ├── type.js │ ├── instance.js │ ├── addon.json │ ├── icon.svg │ ├── aces.json │ └── behavior.js ├── aekiro_sliderbar │ ├── c3runtime │ │ ├── expressions.js │ │ ├── conditions.js │ │ ├── type.js │ │ ├── actions.js │ │ └── behavior.js │ ├── type.js │ ├── instance.js │ ├── addon.json │ ├── icon.svg │ ├── aces.json │ └── behavior.js ├── test │ ├── c3runtime │ │ ├── expressions.js │ │ ├── conditions.js │ │ ├── type.js │ │ ├── actions.js │ │ └── instance.js │ ├── type.js │ ├── aces.json │ ├── instance.js │ ├── addon - Copy.json │ ├── addon.json │ ├── lang │ │ └── en-US.json │ ├── plugin.js │ ├── behavior.js │ └── icon.svg ├── aekiro_checkbox │ ├── c3runtime │ │ ├── expressions.js │ │ ├── conditions.js │ │ ├── type.js │ │ ├── actions.js │ │ └── behavior.js │ ├── type.js │ ├── instance.js │ ├── addon.json │ ├── icon.svg │ └── behavior.js ├── aekiro_radiogroup │ ├── c3runtime │ │ ├── expressions.js │ │ ├── conditions.js │ │ ├── behavior.js │ │ ├── type.js │ │ └── actions.js │ ├── type.js │ ├── instance.js │ ├── addon.json │ ├── aces.json │ ├── behavior.js │ ├── lang │ │ └── en-US.json │ └── icon.svg └── aekiro_gameObject │ ├── c3runtime │ ├── behavior.js │ ├── conditions.js │ ├── type.js │ └── expressions.js │ ├── type.js │ ├── instance.js │ ├── addon.json │ ├── icon.svg │ └── behavior.js ├── .vscode └── settings.json ├── .gitattributes ├── doc ├── ProUI Doc.pdf └── ProUI_Demo.c3p ├── dist-collection ├── ProUI_v1.817.zip ├── ProUI_v1.818.zip ├── ProUI_v1.819.zip ├── ProUI_v1.820.zip ├── ProUI_v1.821.zip └── ProUI_v1.822.zip ├── tools └── release.zsh ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | build/* 2 | -------------------------------------------------------------------------------- /source/aekiro_translationB/aces.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgressPart/aces.json: -------------------------------------------------------------------------------- 1 | { 2 | 3 | } 4 | -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": false 3 | } -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /doc/ProUI Doc.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConstructFund/proui/HEAD/doc/ProUI Doc.pdf -------------------------------------------------------------------------------- /doc/ProUI_Demo.c3p: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConstructFund/proui/HEAD/doc/ProUI_Demo.c3p -------------------------------------------------------------------------------- /dist-collection/ProUI_v1.817.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConstructFund/proui/HEAD/dist-collection/ProUI_v1.817.zip -------------------------------------------------------------------------------- /dist-collection/ProUI_v1.818.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConstructFund/proui/HEAD/dist-collection/ProUI_v1.818.zip -------------------------------------------------------------------------------- /dist-collection/ProUI_v1.819.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConstructFund/proui/HEAD/dist-collection/ProUI_v1.819.zip -------------------------------------------------------------------------------- /dist-collection/ProUI_v1.820.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConstructFund/proui/HEAD/dist-collection/ProUI_v1.820.zip -------------------------------------------------------------------------------- /dist-collection/ProUI_v1.821.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConstructFund/proui/HEAD/dist-collection/ProUI_v1.821.zip -------------------------------------------------------------------------------- /dist-collection/ProUI_v1.822.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConstructFund/proui/HEAD/dist-collection/ProUI_v1.822.zip -------------------------------------------------------------------------------- /source/aekiro_remoteSprite_dom/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | C3.Plugins.aekiro_remoteSprite.Acts = { 4 | 5 | }; 6 | } -------------------------------------------------------------------------------- /source/aekiro_remoteSprite_dom/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | C3.Plugins.aekiro_remoteSprite.Cnds = { 4 | 5 | }; 6 | } -------------------------------------------------------------------------------- /source/aekiro_remoteSprite_dom/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | C3.Plugins.aekiro_remoteSprite.Exps = { 4 | 5 | }; 6 | } -------------------------------------------------------------------------------- /source/aekiro_scrollView/aekiro_scrollView.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ConstructFund/proui/HEAD/source/aekiro_scrollView/aekiro_scrollView.zip -------------------------------------------------------------------------------- /source/aekiro_button/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_button.Exps = 6 | { 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /source/aekiro_dialog/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_dialog.Exps = 6 | { 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /source/aekiro_progress/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_progress.Cnds = 6 | { 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /source/aekiro_gridView/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_gridView.Exps = { 6 | }; 7 | 8 | } 9 | -------------------------------------------------------------------------------- /source/aekiro_gridViewBind/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_gridviewbind.Acts = 6 | { 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /source/aekiro_scrollView/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_scrollView.Cnds = 6 | { 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /source/aekiro_scrollView/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_scrollView.Exps = 6 | { 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /source/aekiro_translationB/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_translationB.Acts = 6 | { 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /source/aekiro_proui/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Plugins.aekiro_proui.Exps = 6 | { 7 | }; 8 | 9 | } 10 | -------------------------------------------------------------------------------- /source/aekiro_remoteSprite/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | const C3 = self.C3; 4 | C3.Plugins.aekiro_remoteSprite.Cnds = { 5 | 6 | }; 7 | } -------------------------------------------------------------------------------- /source/aekiro_remoteSprite/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | const C3 = self.C3; 4 | C3.Plugins.aekiro_remoteSprite.Exps = { 5 | 6 | }; 7 | } -------------------------------------------------------------------------------- /source/aekiro_translationB/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_translationB.Cnds = 6 | { 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /source/aekiro_translationB/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_translationB.Exps = 6 | { 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgress/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_discreteProgress.Cnds = 6 | { 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgressPart/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_discreteProgressPart.Acts = 6 | { 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /source/aekiro_translation/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Plugins.aekiro_translation.Exps = 6 | { 7 | 8 | }; 9 | } 10 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgressPart/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_discreteProgressPart.Cnds = 6 | { 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgressPart/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_discreteProgressPart.Exps = 6 | { 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /source/aekiro_radiobutton/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_radiobutton.Exps = { 6 | name(){ return this.name; } 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /source/aekiro_sliderbar/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_sliderbar.Exps = { 6 | value(){ return this.value; } 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /source/test/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | C3.Behaviors.MyCompany_MyBehavior.Exps = 5 | { 6 | MyExpression() 7 | { 8 | return 1337; 9 | } 10 | }; 11 | } -------------------------------------------------------------------------------- /source/aekiro_gridView/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_gridView.Cnds = 6 | { 7 | OnRender(){ return true; } 8 | }; 9 | } 10 | -------------------------------------------------------------------------------- /source/test/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | C3.Behaviors.MyCompany_MyBehavior.Cnds = 5 | { 6 | IsMoving() 7 | { 8 | return false; // placeholder 9 | } 10 | }; 11 | } -------------------------------------------------------------------------------- /source/aekiro_checkbox/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_checkbox.Exps = 6 | { 7 | value(){ return this.value; } 8 | }; 9 | } 10 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgress/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_discreteProgress.Exps = { 6 | value(){ return this.value; } 7 | }; 8 | } 9 | -------------------------------------------------------------------------------- /source/aekiro_progress/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_progress.Exps = 6 | { 7 | value(){ return this.value; } 8 | }; 9 | } 10 | -------------------------------------------------------------------------------- /source/aekiro_radiogroup/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_radiogroup.Exps = 6 | { 7 | value(){ return this.value; } 8 | }; 9 | } 10 | -------------------------------------------------------------------------------- /source/aekiro_radiogroup/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_radiogroup.Cnds = 6 | { 7 | IsEnabled(){ return this.isEnabled; } 8 | }; 9 | } 10 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgress/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_discreteProgress.Acts = { 6 | setValue(value){ 7 | this.setValue(value); 8 | } 9 | }; 10 | } 11 | -------------------------------------------------------------------------------- /source/aekiro_button/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_button.Cnds = 6 | { 7 | }; 8 | Object.assign(C3.Behaviors.aekiro_button.Cnds, globalThis.Aekiro.button.Cnds); 9 | } 10 | -------------------------------------------------------------------------------- /source/aekiro_button/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_button.Acts = 6 | { 7 | }; 8 | Object.assign(self.C3.Behaviors.aekiro_button.Acts, globalThis.Aekiro.button.Acts); 9 | } 10 | -------------------------------------------------------------------------------- /source/aekiro_sliderbar/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_sliderbar.Cnds = { 6 | IsSliding(){ return this.isSliding; }, 7 | 8 | OnChanged(){ return true; } 9 | }; 10 | } 11 | -------------------------------------------------------------------------------- /source/aekiro_radiobutton/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_radiobutton.Cnds = 6 | { 7 | }; 8 | Object.assign(C3.Behaviors.aekiro_radiobutton.Cnds, globalThis.Aekiro.button.Cnds); 9 | } 10 | -------------------------------------------------------------------------------- /source/aekiro_gridViewBind/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_gridviewbind.Cnds = { 6 | IsIndex(index){ return (index == this.index); }, 7 | OnGridViewRender(){ return true; } 8 | }; 9 | } 10 | -------------------------------------------------------------------------------- /source/aekiro_dialog/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_dialog.Cnds = { 6 | onDialogOpened(){ return true; }, 7 | onDialogClosed(){ return true; }, 8 | isOpened(){ return this.isOpen; } 9 | }; 10 | 11 | } 12 | -------------------------------------------------------------------------------- /source/aekiro_translation/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Plugins.aekiro_translation.Exps = 6 | { 7 | get(key,lang){ 8 | var res = self["_"].get(this.data[lang],key); 9 | return res; 10 | } 11 | }; 12 | 13 | } 14 | -------------------------------------------------------------------------------- /source/aekiro_proui/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Plugins.aekiro_proui.Cnds = { 6 | IsDialogOpened(){ return globalThis.aekiro_dialogManager.isDialogOpened(); } 7 | , 8 | OnAnyButtonClicked(){ return true; } 9 | }; 10 | } 11 | -------------------------------------------------------------------------------- /source/aekiro_checkbox/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_checkbox.Cnds = 6 | { 7 | IsChecked(){ return this.value; } 8 | }; 9 | 10 | Object.assign(C3.Behaviors.aekiro_checkbox.Cnds, globalThis.Aekiro.button.Cnds); 11 | } 12 | -------------------------------------------------------------------------------- /source/aekiro_translation/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Plugins.aekiro_translation.Acts = 6 | { 7 | TranslateAll(lang){ 8 | this.translateAll(lang); 9 | }, 10 | 11 | SetDataByJsonString(JSON){ 12 | this.setData(JSON); 13 | } 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /source/test/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const BEHAVIOR_CLASS = SDK.Behaviors.MyCompany_MyBehavior; 5 | 6 | BEHAVIOR_CLASS.Type = class MyCustomBehaviorType extends SDK.IBehaviorTypeBase 7 | { 8 | constructor(sdkPlugin, iBehaviorType) 9 | { 10 | super(sdkPlugin, iBehaviorType); 11 | } 12 | }; 13 | } -------------------------------------------------------------------------------- /source/aekiro_gameObject/c3runtime/behavior.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_gameobject = class MyBehavior extends C3.SDKBehaviorBase 6 | { 7 | constructor(opts) 8 | { 9 | super(opts); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | }; 17 | } -------------------------------------------------------------------------------- /source/aekiro_dialog/c3runtime/behavior.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_dialog = class aekiro_dialogBehavior extends C3.SDKBehaviorBase 6 | { 7 | constructor(opts) 8 | { 9 | super(opts); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /source/aekiro_progress/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_progress.Acts = 6 | { 7 | setValue(value,animation){ 8 | this.animation = animation; 9 | this.setValue(value); 10 | }, 11 | 12 | SetMaxValue(v){ 13 | this.setMaxValue(v); 14 | } 15 | }; 16 | } 17 | -------------------------------------------------------------------------------- /source/aekiro_proui/c3runtime/plugin.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Plugins.aekiro_proui = class aekiro_prouiSingleGlobalPlugin extends C3.SDKPluginBase 6 | { 7 | constructor(opts) 8 | { 9 | super(opts); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /source/aekiro_gridView/c3runtime/behavior.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_gridView = class aekiro_gridViewBehavior extends C3.SDKBehaviorBase 6 | { 7 | constructor(opts) 8 | { 9 | super(opts); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /source/aekiro_progress/c3runtime/behavior.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_progress = class aekiro_progressBehavior extends C3.SDKBehaviorBase 6 | { 7 | constructor(opts) 8 | { 9 | super(opts); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /source/aekiro_radiogroup/c3runtime/behavior.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_radiogroup = class aekiro_radiogroupBehavior extends C3.SDKBehaviorBase 6 | { 7 | constructor(opts) 8 | { 9 | super(opts); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /source/aekiro_remoteSprite_dom/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | const PLUGIN_CLASS = SDK.Plugins.aekiro_remoteSprite; 4 | 5 | PLUGIN_CLASS.Type = class RemoteSpriteIType extends SDK.ITypeBase 6 | { 7 | constructor(sdkPlugin, iObjectType) 8 | { 9 | super(sdkPlugin, iObjectType); 10 | } 11 | }; 12 | } -------------------------------------------------------------------------------- /source/aekiro_gridViewBind/c3runtime/behavior.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_gridviewbind = class aekiro_gridviewbindBehavior extends C3.SDKBehaviorBase 6 | { 7 | constructor(opts) 8 | { 9 | super(opts); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /source/aekiro_proui/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | const C3 = self.C3; 6 | const PLUGIN_CLASS = SDK.Plugins.aekiro_proui; 7 | 8 | PLUGIN_CLASS.Type = class aekiro_prouiType extends SDK.ITypeBase 9 | { 10 | constructor(sdkPlugin, iObjectType) 11 | { 12 | super(sdkPlugin, iObjectType); 13 | } 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /source/aekiro_translation/c3runtime/plugin.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Plugins.aekiro_translation = class aekiro_translationSingleGlobalPlugin extends C3.SDKPluginBase 6 | { 7 | constructor(opts) 8 | { 9 | super(opts); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /source/aekiro_translationB/c3runtime/behavior.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_translationB = class aekiro_translationBBehavior extends C3.SDKBehaviorBase 6 | { 7 | constructor(opts) 8 | { 9 | super(opts); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /source/aekiro_button/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_button; 7 | 8 | BEHAVIOR_CLASS.Type = class aekiro_buttonType extends SDK.IBehaviorTypeBase 9 | { 10 | constructor(sdkPlugin, iBehaviorType) 11 | { 12 | super(sdkPlugin, iBehaviorType); 13 | } 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /source/aekiro_dialog/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_dialog; 7 | 8 | BEHAVIOR_CLASS.Type = class aekiro_dialogType extends SDK.IBehaviorTypeBase 9 | { 10 | constructor(sdkPlugin, iBehaviorType) 11 | { 12 | super(sdkPlugin, iBehaviorType); 13 | } 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /source/aekiro_translation/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | 7 | const PLUGIN_CLASS = SDK.Plugins.aekiro_translation; 8 | 9 | PLUGIN_CLASS.Type = class aekiro_translationType extends SDK.ITypeBase 10 | { 11 | constructor(sdkPlugin, iObjectType) 12 | { 13 | super(sdkPlugin, iObjectType); 14 | } 15 | }; 16 | } 17 | -------------------------------------------------------------------------------- /source/test/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | C3.Behaviors.MyCompany_MyBehavior.Type = class MyBehaviorType extends C3.SDKBehaviorTypeBase 5 | { 6 | constructor(behaviorType) 7 | { 8 | super(behaviorType); 9 | } 10 | 11 | Release() 12 | { 13 | super.Release(); 14 | } 15 | 16 | OnCreate() 17 | { 18 | } 19 | }; 20 | } -------------------------------------------------------------------------------- /source/aekiro_checkbox/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_checkbox; 7 | 8 | BEHAVIOR_CLASS.Type = class aekiro_checkboxType extends SDK.IBehaviorTypeBase 9 | { 10 | constructor(sdkPlugin, iBehaviorType) 11 | { 12 | super(sdkPlugin, iBehaviorType); 13 | } 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgress/c3runtime/behavior.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_discreteProgress = class aekiro_discreteProgressBehavior extends C3.SDKBehaviorBase 6 | { 7 | constructor(opts) 8 | { 9 | super(opts); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /source/aekiro_gridView/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_gridView; 7 | 8 | BEHAVIOR_CLASS.Type = class aekiro_gridViewType extends SDK.IBehaviorTypeBase 9 | { 10 | constructor(sdkPlugin, iBehaviorType) 11 | { 12 | super(sdkPlugin, iBehaviorType); 13 | } 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /source/aekiro_progress/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_progress; 7 | 8 | BEHAVIOR_CLASS.Type = class aekiro_progressType extends SDK.IBehaviorTypeBase 9 | { 10 | constructor(sdkPlugin, iBehaviorType) 11 | { 12 | super(sdkPlugin, iBehaviorType); 13 | } 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /source/aekiro_radiogroup/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_radiogroup; 7 | 8 | BEHAVIOR_CLASS.Type = class aekiro_radiogroupType extends SDK.IBehaviorTypeBase 9 | { 10 | constructor(sdkPlugin, iBehaviorType) 11 | { 12 | super(sdkPlugin, iBehaviorType); 13 | } 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /source/aekiro_scrollView/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_scrollView; 7 | 8 | BEHAVIOR_CLASS.Type = class aekiro_scrollViewType extends SDK.IBehaviorTypeBase 9 | { 10 | constructor(sdkPlugin, iBehaviorType) 11 | { 12 | super(sdkPlugin, iBehaviorType); 13 | } 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /source/aekiro_sliderbar/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_sliderbar; 7 | 8 | BEHAVIOR_CLASS.Type = class aekiro_sliderbarType extends SDK.IBehaviorTypeBase 9 | { 10 | constructor(sdkPlugin, iBehaviorType) 11 | { 12 | super(sdkPlugin, iBehaviorType); 13 | } 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /source/aekiro_gameObject/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | 7 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_gameobject; 8 | 9 | BEHAVIOR_CLASS.Type = class aekiro_gameobjectType extends SDK.IBehaviorTypeBase 10 | { 11 | constructor(sdkPlugin, iBehaviorType) 12 | { 13 | super(sdkPlugin, iBehaviorType); 14 | } 15 | }; 16 | } 17 | -------------------------------------------------------------------------------- /source/aekiro_gridViewBind/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_gridviewbind; 7 | 8 | BEHAVIOR_CLASS.Type = class aekiro_gridviewbindType extends SDK.IBehaviorTypeBase 9 | { 10 | constructor(sdkPlugin, iBehaviorType) 11 | { 12 | super(sdkPlugin, iBehaviorType); 13 | } 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /source/aekiro_radiobutton/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_radiobutton; 7 | 8 | BEHAVIOR_CLASS.Type = class aekiro_radiobuttonType extends SDK.IBehaviorTypeBase 9 | { 10 | constructor(sdkPlugin, iBehaviorType) 11 | { 12 | super(sdkPlugin, iBehaviorType); 13 | } 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /source/aekiro_translationB/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_translationB; 7 | 8 | BEHAVIOR_CLASS.Type = class aekiro_translationBType extends SDK.IBehaviorTypeBase 9 | { 10 | constructor(sdkPlugin, iBehaviorType) 11 | { 12 | super(sdkPlugin, iBehaviorType); 13 | } 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgressPart/c3runtime/behavior.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_discreteProgressPart = class aekiro_discreteProgressPartBehavior extends C3.SDKBehaviorBase 6 | { 7 | constructor(opts) 8 | { 9 | super(opts); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgress/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_discreteProgress; 7 | 8 | BEHAVIOR_CLASS.Type = class aekiro_discreteProgressType extends SDK.IBehaviorTypeBase 9 | { 10 | constructor(sdkPlugin, iBehaviorType) 11 | { 12 | super(sdkPlugin, iBehaviorType); 13 | } 14 | }; 15 | } 16 | -------------------------------------------------------------------------------- /source/aekiro_remoteSprite/c3runtime/plugin.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | const C3 = self.C3; 4 | C3.Plugins.aekiro_remoteSprite = class RemoteSpritePlugin extends C3.SDKPluginBase 5 | { 6 | constructor(opts) 7 | { 8 | super(opts); 9 | } 10 | 11 | Release() 12 | { 13 | super.Release(); 14 | } 15 | }; 16 | } -------------------------------------------------------------------------------- /source/aekiro_proui/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Plugins.aekiro_proui.Type = class aekiro_prouiSingleGlobalType extends C3.SDKTypeBase 6 | { 7 | constructor(objectClass) 8 | { 9 | super(objectClass); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | 17 | OnCreate() 18 | { 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /source/aekiro_remoteSprite/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | const SDK = self.SDK; 4 | 5 | 6 | const PLUGIN_CLASS = SDK.Plugins.aekiro_remoteSprite; 7 | 8 | PLUGIN_CLASS.Type = class RemoteSpriteIType extends SDK.ITypeBase 9 | { 10 | constructor(sdkPlugin, iObjectType) 11 | { 12 | super(sdkPlugin, iObjectType); 13 | } 14 | }; 15 | } -------------------------------------------------------------------------------- /source/aekiro_button/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_button.Type = class aekiro_buttonType extends C3.SDKBehaviorTypeBase 6 | { 7 | constructor(behaviorType) 8 | { 9 | super(behaviorType); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | 17 | OnCreate() 18 | { 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /source/aekiro_dialog/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_dialog.Type = class aekiro_dialogType extends C3.SDKBehaviorTypeBase 6 | { 7 | constructor(behaviorType) 8 | { 9 | super(behaviorType); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | 17 | OnCreate() 18 | { 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgressPart/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | 4 | { 5 | const SDK = self.SDK; 6 | 7 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_discreteProgressPart; 8 | 9 | BEHAVIOR_CLASS.Type = class aekiro_discreteProgressPartType extends SDK.IBehaviorTypeBase 10 | { 11 | constructor(sdkPlugin, iBehaviorType) 12 | { 13 | super(sdkPlugin, iBehaviorType); 14 | } 15 | }; 16 | } 17 | -------------------------------------------------------------------------------- /source/aekiro_gameObject/c3runtime/conditions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_gameobject.Cnds = { 6 | IsName(name){ return name == this.name; }, 7 | IsParentName(name){return name == this.parentName; }, 8 | //IsParentType(type){return BelongsToObjectClass(type) }, 9 | OnCloned(){ return true; } 10 | }; 11 | 12 | } 13 | -------------------------------------------------------------------------------- /source/aekiro_gameObject/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_gameobject.Type = class MyBehaviorType extends C3.SDKBehaviorTypeBase 6 | { 7 | constructor(behaviorType) 8 | { 9 | super(behaviorType); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | 17 | OnCreate() 18 | { 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /source/aekiro_gridView/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_gridView.Type = class aekiro_gridViewType extends C3.SDKBehaviorTypeBase 6 | { 7 | constructor(behaviorType) 8 | { 9 | super(behaviorType); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | 17 | OnCreate() 18 | { 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /source/aekiro_progress/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_progress.Type = class aekiro_progressType extends C3.SDKBehaviorTypeBase 6 | { 7 | constructor(behaviorType) 8 | { 9 | super(behaviorType); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | 17 | OnCreate() 18 | { 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /source/aekiro_sliderbar/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_sliderbar.Type = class aekiro_sliderbarType extends C3.SDKBehaviorTypeBase 6 | { 7 | constructor(behaviorType) 8 | { 9 | super(behaviorType); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | 17 | OnCreate() 18 | { 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /source/aekiro_checkbox/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | 6 | C3.Behaviors.aekiro_checkbox.Type = class aekiro_checkboxType extends C3.SDKBehaviorTypeBase 7 | { 8 | constructor(behaviorType) 9 | { 10 | super(behaviorType); 11 | } 12 | 13 | Release() 14 | { 15 | super.Release(); 16 | } 17 | 18 | OnCreate() 19 | { 20 | } 21 | }; 22 | } 23 | -------------------------------------------------------------------------------- /source/aekiro_radiogroup/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_radiogroup.Type = class aekiro_radiogroupType extends C3.SDKBehaviorTypeBase 6 | { 7 | constructor(behaviorType) 8 | { 9 | super(behaviorType); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | 17 | OnCreate() 18 | { 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /source/aekiro_scrollView/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_scrollView.Type = class aekiro_scrollView2Type extends C3.SDKBehaviorTypeBase 6 | { 7 | constructor(behaviorType) 8 | { 9 | super(behaviorType); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | 17 | OnCreate() 18 | { 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /source/aekiro_gridViewBind/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_gridviewbind.Type = class aekiro_gridviewbindType extends C3.SDKBehaviorTypeBase 6 | { 7 | constructor(behaviorType) 8 | { 9 | super(behaviorType); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | 17 | OnCreate() 18 | { 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /source/aekiro_radiobutton/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_radiobutton.Type = class aekiro_radiobuttonType extends C3.SDKBehaviorTypeBase 6 | { 7 | constructor(behaviorType) 8 | { 9 | super(behaviorType); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | 17 | OnCreate() 18 | { 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /source/aekiro_translation/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Plugins.aekiro_translation.Type = class aekiro_translationSingleGlobalType extends C3.SDKTypeBase 6 | { 7 | constructor(objectClass) 8 | { 9 | super(objectClass); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | 17 | OnCreate() 18 | { 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /source/aekiro_translationB/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_translationB.Type = class aekiro_translationBType extends C3.SDKBehaviorTypeBase 6 | { 7 | constructor(behaviorType) 8 | { 9 | super(behaviorType); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | 17 | OnCreate() 18 | { 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /source/aekiro_remoteSprite_dom/aces.json: -------------------------------------------------------------------------------- 1 | { 2 | "load": { 3 | "conditions": [], 4 | "actions": [ 5 | { 6 | "id": "loadfromurl", 7 | "scriptName": "LoadFromURL", 8 | "highlight": true, 9 | "params": [ 10 | { 11 | "id": "url", 12 | "type": "string" 13 | } 14 | ] 15 | } 16 | ], 17 | "expressions": [] 18 | } 19 | } -------------------------------------------------------------------------------- /source/aekiro_discreteProgress/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_discreteProgress.Type = class aekiro_discreteProgressType extends C3.SDKBehaviorTypeBase 6 | { 7 | constructor(behaviorType) 8 | { 9 | super(behaviorType); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | 17 | OnCreate() 18 | { 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgressPart/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_discreteProgressPart.Type = class aekiro_discreteProgressPartType extends C3.SDKBehaviorTypeBase 6 | { 7 | constructor(behaviorType) 8 | { 9 | super(behaviorType); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | 17 | OnCreate() 18 | { 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /source/test/aces.json: -------------------------------------------------------------------------------- 1 | { 2 | "": { 3 | "conditions": [ 4 | { 5 | "id": "is-moving", 6 | "scriptName": "IsMoving" 7 | } 8 | ], 9 | "actions": [ 10 | { 11 | "id": "stop", 12 | "scriptName": "Stop" 13 | } 14 | ], 15 | "expressions": [ 16 | { 17 | "id": "leet", 18 | "expressionName": "MyExpression", 19 | "scriptName": "MyExpression", 20 | "returnType": "number" 21 | } 22 | ] 23 | } 24 | } -------------------------------------------------------------------------------- /source/aekiro_remoteSprite_dom/c3runtime/plugin.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | const DOM_COMPONENT_ID = "aekiro_remoteSprite_dom"; 4 | 5 | C3.Plugins.aekiro_remoteSprite = class RemoteSpritePlugin extends C3.SDKDOMPluginBase 6 | { 7 | constructor(opts) 8 | { 9 | super(opts, DOM_COMPONENT_ID); 10 | } 11 | 12 | Release() 13 | { 14 | super.Release(); 15 | } 16 | }; 17 | } -------------------------------------------------------------------------------- /source/aekiro_radiogroup/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_radiogroup.Acts = { 6 | setValue(value){ 7 | this.setValue(value); 8 | }, 9 | setEnabled(isEnabled){ 10 | this.isEnabled = isEnabled; 11 | for (var i = 0,l=this.radioButtons.length; i < l; i++) { 12 | this.radioButtons[i].GetUnsavedDataMap().aekiro_radiobutton.setEnabled(isEnabled); 13 | } 14 | } 15 | }; 16 | } 17 | -------------------------------------------------------------------------------- /source/aekiro_dialog/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_dialog.Acts = { 6 | Open(targetX,targetY,isCentered){ 7 | this.open(targetX,targetY,isCentered); 8 | }, 9 | Close(){ 10 | this.close(); 11 | }, 12 | SetOpenSoundVolume(v){ 13 | this.audioSources.open.setVolume(v); 14 | }, 15 | SetCloseSoundVolume(v){ 16 | this.audioSources.close.setVolume(v); 17 | } 18 | }; 19 | } 20 | -------------------------------------------------------------------------------- /source/aekiro_scrollView/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_scrollView.Acts = { 6 | ScrollTo(targetX,targetY,targetType,smooth){ 7 | this.scrollTo(targetX,targetY,targetType,smooth); 8 | }, 9 | ScrollBy(distanceX,distanceY,targetType,smooth){ 10 | this.scrollBy(distanceX,distanceY,targetType,smooth); 11 | }, 12 | setEnabled(isEnabled){ 13 | this.isEnabled = isEnabled; 14 | } 15 | 16 | }; 17 | } 18 | -------------------------------------------------------------------------------- /source/aekiro_gridViewBind/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_gridviewbind.Exps ={ 6 | index(){ return this.index; }, 7 | key(){ return this.key; }, 8 | get(key){ 9 | if(!this.isObject(this.value)){ 10 | return ""; 11 | } 12 | 13 | var v = self["_"]["get"](this.value,key); 14 | if(v == undefined){ 15 | return ""; 16 | }else{ 17 | return v; 18 | } 19 | } 20 | }; 21 | } 22 | 23 | 24 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgress/aces.json: -------------------------------------------------------------------------------- 1 | { 2 | "": { 3 | "conditions": [ 4 | ], 5 | "actions": [ 6 | { 7 | "id": "setvalue0", 8 | "scriptName": "setValue", 9 | "highlight": false, 10 | "params": [ 11 | {"id":"value0", "type":"number"} 12 | ] 13 | } 14 | ], 15 | "expressions": [ 16 | { 17 | "id": "value0", 18 | "expressionName": "value", 19 | "scriptName": "value", 20 | "highlight": false, 21 | "returnType": "number" 22 | } 23 | ] 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /source/aekiro_radiobutton/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_radiobutton.Acts = { 6 | SetIgnoreInput(s){ 7 | this.setIgnoreInput(s); 8 | }, 9 | SetClickSoundVolume(v){ 10 | this.audioSources.click.setVolume(v); 11 | }, 12 | SetHoverSoundVolume(v){ 13 | this.audioSources.hover.setVolume(v); 14 | }, 15 | SetName(v){ 16 | this.name = v; 17 | } 18 | }; 19 | Object.assign(C3.Behaviors.aekiro_radiobutton.Acts, globalThis.Aekiro.button.Acts); 20 | } 21 | -------------------------------------------------------------------------------- /source/aekiro_checkbox/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_checkbox.Acts = 6 | { 7 | setValue(value){ 8 | this.setValue(value); 9 | }, 10 | SetIgnoreInput(s){ 11 | this.setIgnoreInput(s); 12 | }, 13 | SetClickSoundVolume(v){ 14 | this.audioSources.click.setVolume(v); 15 | }, 16 | SetHoverSoundVolume(v){ 17 | this.audioSources.hover.setVolume(v); 18 | } 19 | }; 20 | 21 | Object.assign(C3.Behaviors.aekiro_checkbox.Acts, globalThis.Aekiro.button.Acts); 22 | } 23 | -------------------------------------------------------------------------------- /source/aekiro_translation/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const PLUGIN_CLASS = SDK.Plugins.aekiro_translation; 7 | 8 | PLUGIN_CLASS.Instance = class aekiro_translationInstance extends SDK.IInstanceBase 9 | { 10 | constructor(sdkType, inst) 11 | { 12 | super(sdkType, inst); 13 | } 14 | Release() 15 | { 16 | } 17 | OnCreate() 18 | { 19 | } 20 | OnPropertyChanged(id, value) 21 | { 22 | } 23 | LoadC2Property(name, valueString) 24 | { 25 | return false; // not handled 26 | } 27 | }; 28 | } 29 | -------------------------------------------------------------------------------- /source/test/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const BEHAVIOR_CLASS = SDK.Behaviors.MyCompany_MyBehavior; 5 | 6 | BEHAVIOR_CLASS.Instance = class MyCustomBehaviorInstance extends SDK.IBehaviorInstanceBase 7 | { 8 | constructor(sdkBehType, behInst) 9 | { 10 | super(sdkBehType, behInst); 11 | } 12 | 13 | Release() 14 | { 15 | } 16 | 17 | OnCreate() 18 | { 19 | } 20 | 21 | OnPropertyChanged(id, value) 22 | { 23 | } 24 | 25 | LoadC2Property(name, valueString) 26 | { 27 | return false; // not handled 28 | } 29 | }; 30 | } -------------------------------------------------------------------------------- /source/aekiro_proui/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Plugins.aekiro_proui.Acts = { 6 | SetInputIgnored(state){ 7 | this.ignoreInput = state; 8 | }, 9 | Clone(json,layer,x,y,name,parentName){ 10 | json = JSON.parse(json); 11 | var inst = globalThis.aekiro_goManager.clone(json,name,parentName,layer,x,y); 12 | inst.GetUnsavedDataMap().aekiro_gameobject.updateZindex(); 13 | }, 14 | SetUIAudioVolume(v){ 15 | this.setUIAudioVolume(v); 16 | }, 17 | Init(){ 18 | this.Initialise(); 19 | } 20 | }; 21 | } 22 | -------------------------------------------------------------------------------- /source/aekiro_button/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_button; 7 | 8 | BEHAVIOR_CLASS.Instance = class aekiro_buttonInstance extends SDK.IBehaviorInstanceBase 9 | { 10 | constructor(sdkBehType, behInst) 11 | { 12 | super(sdkBehType, behInst); 13 | } 14 | Release() 15 | { 16 | } 17 | OnCreate() 18 | { 19 | } 20 | OnPropertyChanged(id, value) 21 | { 22 | } 23 | LoadC2Property(name, valueString) 24 | { 25 | return false; // not handled 26 | } 27 | }; 28 | } 29 | -------------------------------------------------------------------------------- /source/aekiro_dialog/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_dialog; 7 | 8 | BEHAVIOR_CLASS.Instance = class aekiro_dialogInstance extends SDK.IBehaviorInstanceBase 9 | { 10 | constructor(sdkBehType, behInst) 11 | { 12 | super(sdkBehType, behInst); 13 | } 14 | Release() 15 | { 16 | } 17 | OnCreate() 18 | { 19 | } 20 | OnPropertyChanged(id, value) 21 | { 22 | } 23 | LoadC2Property(name, valueString) 24 | { 25 | return false; // not handled 26 | } 27 | }; 28 | } 29 | -------------------------------------------------------------------------------- /source/aekiro_proui/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | const C3 = self.C3; 6 | const PLUGIN_CLASS = SDK.Plugins.aekiro_proui; 7 | 8 | 9 | PLUGIN_CLASS.Instance = class aekiro_prouiInstance extends SDK.IInstanceBase 10 | { 11 | constructor(sdkType, inst) 12 | { 13 | super(sdkType, inst); 14 | } 15 | Release() 16 | { 17 | } 18 | OnCreate() 19 | { 20 | } 21 | OnPropertyChanged(id, value) 22 | { 23 | } 24 | LoadC2Property(name, valueString) 25 | { 26 | return false; // not handled 27 | } 28 | }; 29 | } 30 | -------------------------------------------------------------------------------- /source/aekiro_progress/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_progress; 7 | 8 | BEHAVIOR_CLASS.Instance = class aekiro_progressInstance extends SDK.IBehaviorInstanceBase 9 | { 10 | constructor(sdkBehType, behInst) 11 | { 12 | super(sdkBehType, behInst); 13 | } 14 | Release() 15 | { 16 | } 17 | OnCreate() 18 | { 19 | } 20 | OnPropertyChanged(id, value) 21 | { 22 | } 23 | LoadC2Property(name, valueString) 24 | { 25 | return false; // not handled 26 | } 27 | }; 28 | } 29 | -------------------------------------------------------------------------------- /source/aekiro_sliderbar/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_sliderbar; 7 | 8 | BEHAVIOR_CLASS.Instance = class aekiro_sliderbarInstance extends SDK.IBehaviorInstanceBase 9 | { 10 | constructor(sdkBehType, behInst) 11 | { 12 | super(sdkBehType, behInst); 13 | } 14 | Release() 15 | { 16 | } 17 | OnCreate() 18 | { 19 | } 20 | OnPropertyChanged(id, value) 21 | { 22 | } 23 | LoadC2Property(name, valueString) 24 | { 25 | return false; // not handled 26 | } 27 | }; 28 | } 29 | -------------------------------------------------------------------------------- /source/aekiro_checkbox/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | 4 | { 5 | const SDK = self.SDK; 6 | 7 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_checkbox; 8 | 9 | BEHAVIOR_CLASS.Instance = class aekiro_checkboxInstance extends SDK.IBehaviorInstanceBase 10 | { 11 | constructor(sdkBehType, behInst) 12 | { 13 | super(sdkBehType, behInst); 14 | } 15 | Release() 16 | { 17 | } 18 | OnCreate() 19 | { 20 | } 21 | OnPropertyChanged(id, value) 22 | { 23 | } 24 | LoadC2Property(name, valueString) 25 | { 26 | return false; // not handled 27 | } 28 | }; 29 | } 30 | -------------------------------------------------------------------------------- /source/aekiro_gameObject/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_gameobject; 7 | 8 | BEHAVIOR_CLASS.Instance = class aekiro_gameobjectInstance extends SDK.IBehaviorInstanceBase 9 | { 10 | constructor(sdkBehType, behInst) 11 | { 12 | super(sdkBehType, behInst); 13 | } 14 | Release() 15 | { 16 | } 17 | OnCreate() 18 | { 19 | } 20 | OnPropertyChanged(id, value) 21 | { 22 | } 23 | LoadC2Property(name, valueString) 24 | { 25 | return false; // not handled 26 | } 27 | }; 28 | } 29 | -------------------------------------------------------------------------------- /source/aekiro_gridView/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | 7 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_gridView; 8 | 9 | BEHAVIOR_CLASS.Instance = class aekiro_gridViewInstance extends SDK.IBehaviorInstanceBase 10 | { 11 | constructor(sdkBehType, behInst) 12 | { 13 | super(sdkBehType, behInst); 14 | } 15 | Release() 16 | { 17 | } 18 | OnCreate() 19 | { 20 | } 21 | OnPropertyChanged(id, value) 22 | { 23 | } 24 | LoadC2Property(name, valueString) 25 | { 26 | return false; // not handled 27 | } 28 | }; 29 | } 30 | -------------------------------------------------------------------------------- /source/aekiro_radiobutton/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_radiobutton; 7 | 8 | BEHAVIOR_CLASS.Instance = class aekiro_radiobuttonInstance extends SDK.IBehaviorInstanceBase 9 | { 10 | constructor(sdkBehType, behInst) 11 | { 12 | super(sdkBehType, behInst); 13 | } 14 | Release() 15 | { 16 | } 17 | OnCreate() 18 | { 19 | } 20 | OnPropertyChanged(id, value) 21 | { 22 | } 23 | LoadC2Property(name, valueString) 24 | { 25 | return false; // not handled 26 | } 27 | }; 28 | } 29 | -------------------------------------------------------------------------------- /source/aekiro_radiogroup/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_radiogroup; 7 | 8 | BEHAVIOR_CLASS.Instance = class aekiro_radiogroupInstance extends SDK.IBehaviorInstanceBase 9 | { 10 | constructor(sdkBehType, behInst) 11 | { 12 | super(sdkBehType, behInst); 13 | } 14 | Release() 15 | { 16 | } 17 | OnCreate() 18 | { 19 | } 20 | OnPropertyChanged(id, value) 21 | { 22 | } 23 | LoadC2Property(name, valueString) 24 | { 25 | return false; // not handled 26 | } 27 | }; 28 | } 29 | -------------------------------------------------------------------------------- /source/aekiro_scrollView/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_scrollView; 7 | 8 | BEHAVIOR_CLASS.Instance = class aekiro_scrollView2Instance extends SDK.IBehaviorInstanceBase 9 | { 10 | constructor(sdkBehType, behInst) 11 | { 12 | super(sdkBehType, behInst); 13 | } 14 | Release() 15 | { 16 | } 17 | OnCreate() 18 | { 19 | } 20 | OnPropertyChanged(id, value) 21 | { 22 | } 23 | LoadC2Property(name, valueString) 24 | { 25 | return false; // not handled 26 | } 27 | }; 28 | } 29 | -------------------------------------------------------------------------------- /source/aekiro_gridViewBind/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_gridviewbind; 7 | 8 | BEHAVIOR_CLASS.Instance = class aekiro_gridviewbindInstance extends SDK.IBehaviorInstanceBase 9 | { 10 | constructor(sdkBehType, behInst) 11 | { 12 | super(sdkBehType, behInst); 13 | } 14 | Release() 15 | { 16 | } 17 | OnCreate() 18 | { 19 | } 20 | OnPropertyChanged(id, value) 21 | { 22 | } 23 | LoadC2Property(name, valueString) 24 | { 25 | return false; // not handled 26 | } 27 | }; 28 | } 29 | -------------------------------------------------------------------------------- /source/aekiro_translationB/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_translationB; 7 | 8 | BEHAVIOR_CLASS.Instance = class aekiro_translationBInstance extends SDK.IBehaviorInstanceBase 9 | { 10 | constructor(sdkBehType, behInst) 11 | { 12 | super(sdkBehType, behInst); 13 | } 14 | Release() 15 | { 16 | } 17 | OnCreate() 18 | { 19 | } 20 | OnPropertyChanged(id, value) 21 | { 22 | } 23 | LoadC2Property(name, valueString) 24 | { 25 | return false; // not handled 26 | } 27 | }; 28 | } 29 | -------------------------------------------------------------------------------- /source/aekiro_translationB/lang/en-US.json: -------------------------------------------------------------------------------- 1 | { 2 | "languageTag": "en-US", 3 | "fileDescription": "Strings for Translation.", 4 | "text": { 5 | "behaviors": { 6 | "aekiro_translationb": { 7 | "name": "Translation", 8 | "description": "Translation", 9 | "help-url": "https://later.com", 10 | "properties": { 11 | "key": { 12 | "name": "key", 13 | "desc": "key" 14 | } 15 | }, 16 | "aceCategories": { 17 | }, 18 | "conditions": { 19 | }, 20 | "actions": { 21 | }, 22 | "expressions": { 23 | } 24 | } 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgress/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_discreteProgress; 7 | 8 | BEHAVIOR_CLASS.Instance = class aekiro_discreteProgressInstance extends SDK.IBehaviorInstanceBase 9 | { 10 | constructor(sdkBehType, behInst) 11 | { 12 | super(sdkBehType, behInst); 13 | } 14 | Release() 15 | { 16 | } 17 | OnCreate() 18 | { 19 | } 20 | OnPropertyChanged(id, value) 21 | { 22 | } 23 | LoadC2Property(name, valueString) 24 | { 25 | return false; // not handled 26 | } 27 | }; 28 | } 29 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgressPart/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const SDK = self.SDK; 5 | 6 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_discreteProgressPart; 7 | 8 | BEHAVIOR_CLASS.Instance = class aekiro_discreteProgressPartInstance extends SDK.IBehaviorInstanceBase 9 | { 10 | constructor(sdkBehType, behInst) 11 | { 12 | super(sdkBehType, behInst); 13 | } 14 | Release() 15 | { 16 | } 17 | OnCreate() 18 | { 19 | } 20 | OnPropertyChanged(id, value) 21 | { 22 | } 23 | LoadC2Property(name, valueString) 24 | { 25 | return false; // not handled 26 | } 27 | }; 28 | } 29 | -------------------------------------------------------------------------------- /source/aekiro_progress/aces.json: -------------------------------------------------------------------------------- 1 | { 2 | "": { 3 | "conditions": [ 4 | ], 5 | "actions": [ 6 | { 7 | "id": "setvalue0", 8 | "scriptName": "setValue", 9 | "highlight": false, 10 | "params": [ 11 | {"id":"value0", "type":"number"}, 12 | {"id":"animation", "type":"combo", "items":["none","linear","quadratic"]} 13 | ] 14 | }, 15 | { 16 | "id": "setMaxValue", 17 | "scriptName": "SetMaxValue", 18 | "highlight": false, 19 | "params": [ 20 | {"id":"max", "type":"number"} 21 | ] 22 | } 23 | ], 24 | "expressions": [ 25 | { 26 | "id": "value0", 27 | "expressionName": "value", 28 | "scriptName": "value", 29 | "highlight": false, 30 | "returnType": "number" 31 | } 32 | ] 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /source/test/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | C3.Behaviors.MyCompany_MyBehavior.Acts = 5 | { 6 | Stop() 7 | { 8 | // placeholder 9 | var inst = this.GetObjectInstance(); 10 | inst.GetUnsavedDataMap().az = 33; 11 | console.log(inst.GetUnsavedDataMap()); 12 | 13 | //console.log(inst.SaveToJson()); 14 | console.log(inst); 15 | console.log(inst.GetSdkInstance()); 16 | console.log(inst.GetObjectClass()); 17 | console.log(inst.GetPlugin()); 18 | console.log(C3.Plugins.Sprite); 19 | 20 | 21 | //console.log(inst.GetPlugin()==C3.Plugins.Sprite); 22 | console.log(inst.GetPlugin().constructor==C3.Plugins.Sprite); 23 | 24 | 25 | //inst.GetSdkInstance().CallAction(inst.GetPlugin().constructor.Acts.SetAnimFrame,1); 26 | } 27 | }; 28 | } -------------------------------------------------------------------------------- /source/aekiro_gridView/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_gridView.Acts = { 6 | SetDataByJsonString(data,root){ 7 | try { 8 | data = JSON.parse(data); 9 | //console.log(this.value); 10 | } catch(e) { 11 | console.error("ProUI-GRIDVIEW: json parse error !"); 12 | return; 13 | } 14 | 15 | if(root){ 16 | data = data[root]; 17 | } 18 | this.value = data; 19 | this.build(); 20 | }, 21 | 22 | SetDataByJsonObject(jsonObject, root){ 23 | var data = jsonObject.GetFirstPicked().GetSdkInstance()._data; 24 | if(root){ 25 | data = data[root]; 26 | } 27 | 28 | this.value = data; 29 | this.build(); 30 | }, 31 | Clear(){ 32 | this.clear(); 33 | } 34 | }; 35 | 36 | } 37 | -------------------------------------------------------------------------------- /source/aekiro_translation/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "plugin", 4 | "name": "Translation", 5 | "id": "aekiro_translation", 6 | "version": "1.822", 7 | "author": "Aekiro", 8 | "website": "https://later.com", 9 | "documentation": "https://later.com", 10 | "description": "later.", 11 | "editor-scripts": [ 12 | "plugin.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c3runtime/plugin.js", 18 | "c3runtime/actions.js", 19 | "c3runtime/conditions.js", 20 | "c3runtime/expressions.js", 21 | "c3runtime/instance.js", 22 | "c3runtime/type.js", 23 | "lang/en-US.json", 24 | "aces.json", 25 | "addon.json", 26 | "icon.svg", 27 | "plugin.js", 28 | "type.js", 29 | "instance.js" 30 | ] 31 | } -------------------------------------------------------------------------------- /source/aekiro_gameObject/c3runtime/expressions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_gameobject.Exps = { 6 | name(){ return this.name; }, 7 | parent(){ return this.parentName; }, 8 | asjson(){ 9 | var t = this.getTemplate(); 10 | return JSON.stringify(t); 11 | }, 12 | globalX(){ return this.GetObjectInstance().GetWorldInfo().GetX_old();}, 13 | globalY(){ return this.GetObjectInstance().GetWorldInfo().GetY_old();}, 14 | globalAngle(){ return this.GetObjectInstance().GetWorldInfo().GetAngle_old();}, 15 | 16 | localX(){ return this.wi.GetX(true);}, 17 | localY(){ return this.wi.GetY(true);}, 18 | localAngle(){ return this.wi.GetAngle(true);} 19 | }; 20 | } 21 | -------------------------------------------------------------------------------- /source/aekiro_sliderbar/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "behavior", 4 | "name": "Slider Bar", 5 | "id": "aekiro_sliderbar", 6 | "version": "1.822", 7 | "author": "Aekiro", 8 | "website": "https://later.com", 9 | "documentation": "https://later.com", 10 | "description": "Slider bar.", 11 | "editor-scripts": [ 12 | "behavior.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c3runtime/behavior.js", 18 | "c3runtime/actions.js", 19 | "c3runtime/conditions.js", 20 | "c3runtime/expressions.js", 21 | "c3runtime/instance.js", 22 | "c3runtime/type.js", 23 | "lang/en-US.json", 24 | "aces.json", 25 | "addon.json", 26 | "icon.svg", 27 | "behavior.js", 28 | "type.js", 29 | "instance.js" 30 | ] 31 | } -------------------------------------------------------------------------------- /source/aekiro_translationB/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "behavior", 4 | "name": "Translation", 5 | "id": "aekiro_translationB", 6 | "version": "1.822", 7 | "author": "Aekiro", 8 | "website": "https://later.com", 9 | "documentation": "https://later.com", 10 | "description": "Translation", 11 | "editor-scripts": [ 12 | "behavior.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c3runtime/behavior.js", 18 | "c3runtime/actions.js", 19 | "c3runtime/conditions.js", 20 | "c3runtime/expressions.js", 21 | "c3runtime/instance.js", 22 | "c3runtime/type.js", 23 | "lang/en-US.json", 24 | "aces.json", 25 | "addon.json", 26 | "icon.svg", 27 | "behavior.js", 28 | "type.js", 29 | "instance.js" 30 | ] 31 | } -------------------------------------------------------------------------------- /source/aekiro_gridView/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "behavior", 4 | "name": "Grid View", 5 | "id": "aekiro_gridView", 6 | "version": "1.822", 7 | "author": "Aekiro", 8 | "website": "https://later.com", 9 | "documentation": "https://later.com", 10 | "description": "Layout items in a grid.", 11 | "editor-scripts": [ 12 | "behavior.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c3runtime/behavior.js", 18 | "c3runtime/actions.js", 19 | "c3runtime/conditions.js", 20 | "c3runtime/expressions.js", 21 | "c3runtime/instance.js", 22 | "c3runtime/type.js", 23 | "lang/en-US.json", 24 | "aces.json", 25 | "addon.json", 26 | "icon.svg", 27 | "behavior.js", 28 | "type.js", 29 | "instance.js" 30 | ] 31 | } -------------------------------------------------------------------------------- /source/aekiro_gameObject/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "behavior", 4 | "name": "Game Object", 5 | "id": "aekiro_gameobject", 6 | "version": "1.822", 7 | "author": "Aekiro", 8 | "website": "https://www.construct.net", 9 | "documentation": "https://www.construct.net", 10 | "description": "later.", 11 | "editor-scripts": [ 12 | "behavior.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c3runtime/behavior.js", 18 | "c3runtime/actions.js", 19 | "c3runtime/conditions.js", 20 | "c3runtime/expressions.js", 21 | "c3runtime/instance.js", 22 | "c3runtime/type.js", 23 | "lang/en-US.json", 24 | "aces.json", 25 | "addon.json", 26 | "icon.svg", 27 | "behavior.js", 28 | "type.js", 29 | "instance.js" 30 | ] 31 | } -------------------------------------------------------------------------------- /source/aekiro_button/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "behavior", 4 | "name": "Button", 5 | "id": "aekiro_button", 6 | "version": "1.822", 7 | "author": "Aekiro", 8 | "website": "https://later.com", 9 | "documentation": "https://later.com", 10 | "description": "Makes a sprite object behave like a button.", 11 | "editor-scripts": [ 12 | "behavior.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c3runtime/behavior.js", 18 | "c3runtime/actions.js", 19 | "c3runtime/conditions.js", 20 | "c3runtime/expressions.js", 21 | "c3runtime/instance.js", 22 | "c3runtime/type.js", 23 | "lang/en-US.json", 24 | "aces.json", 25 | "addon.json", 26 | "icon.svg", 27 | "behavior.js", 28 | "type.js", 29 | "instance.js" 30 | ] 31 | } -------------------------------------------------------------------------------- /source/aekiro_translation/aces.json: -------------------------------------------------------------------------------- 1 | { 2 | "": { 3 | "conditions": [ 4 | ], 5 | "actions": [ 6 | { 7 | "id": "translateall0", 8 | "scriptName": "TranslateAll", 9 | "highlight": false, 10 | "params": [ 11 | {"id":"language0", "type":"string"} 12 | ] 13 | }, 14 | { 15 | "id": "setdatabyjsonstring0", 16 | "scriptName": "SetDataByJsonString", 17 | "highlight": false, 18 | "params": [ 19 | {"id":"data0", "type":"string"} 20 | ] 21 | } 22 | ], 23 | "expressions": [ 24 | { 25 | "id": "get", 26 | "expressionName": "get", 27 | "scriptName": "get", 28 | "highlight": false, 29 | "returnType": "any", 30 | "params": [ 31 | {"id":"key", "type":"string"}, 32 | {"id":"language0", "type":"string"} 33 | ] 34 | } 35 | ] 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /source/aekiro_remoteSprite/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "plugin", 4 | "name": "Remote Sprite", 5 | "id": "aekiro_remoteSprite", 6 | "version": "1.822", 7 | "author": "Akeiro", 8 | "website": "https://www.later.com", 9 | "documentation": "https://www.later.com", 10 | "description": "Load and show a picture by URL", 11 | "editor-scripts": [ 12 | "plugin.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c3runtime/plugin.js", 18 | "c3runtime/type.js", 19 | "c3runtime/instance.js", 20 | "c3runtime/conditions.js", 21 | "c3runtime/actions.js", 22 | "c3runtime/expressions.js", 23 | "lang/en-US.json", 24 | "aces.json", 25 | "addon.json", 26 | "icon.svg", 27 | "instance.js", 28 | "plugin.js", 29 | "type.js" 30 | ] 31 | } -------------------------------------------------------------------------------- /source/aekiro_scrollView/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "behavior", 4 | "name": "Scroll View", 5 | "id": "aekiro_scrollView", 6 | "version": "1.822", 7 | "author": "Aekiro", 8 | "website": "https://www.construct.net", 9 | "documentation": "https://www.construct.net", 10 | "description": "Scrollable area.", 11 | "editor-scripts": [ 12 | "behavior.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c3runtime/behavior.js", 18 | "c3runtime/actions.js", 19 | "c3runtime/conditions.js", 20 | "c3runtime/expressions.js", 21 | "c3runtime/instance.js", 22 | "c3runtime/type.js", 23 | "lang/en-US.json", 24 | "aces.json", 25 | "addon.json", 26 | "icon.svg", 27 | "behavior.js", 28 | "type.js", 29 | "instance.js" 30 | ] 31 | } -------------------------------------------------------------------------------- /source/aekiro_checkbox/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "behavior", 4 | "name": "Checkbox", 5 | "id": "aekiro_checkbox", 6 | "version": "1.822", 7 | "author": "Aekiro", 8 | "website": "https://later.com", 9 | "documentation": "https://later.com", 10 | "description": "Makes a sprite object behave like a checkbox.", 11 | "editor-scripts": [ 12 | "behavior.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c3runtime/behavior.js", 18 | "c3runtime/actions.js", 19 | "c3runtime/conditions.js", 20 | "c3runtime/expressions.js", 21 | "c3runtime/instance.js", 22 | "c3runtime/type.js", 23 | "lang/en-US.json", 24 | "aces.json", 25 | "addon.json", 26 | "icon.svg", 27 | "behavior.js", 28 | "type.js", 29 | "instance.js" 30 | ] 31 | } -------------------------------------------------------------------------------- /source/aekiro_dialog/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "behavior", 4 | "name": "Dialog", 5 | "id": "aekiro_dialog", 6 | "version": "1.822", 7 | "author": "Aekiro", 8 | "website": "https://later.com", 9 | "documentation": "https://later.com", 10 | "description": "Makes a sprite/9patch object behave like a dialog.", 11 | "editor-scripts": [ 12 | "behavior.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c3runtime/behavior.js", 18 | "c3runtime/actions.js", 19 | "c3runtime/conditions.js", 20 | "c3runtime/expressions.js", 21 | "c3runtime/instance.js", 22 | "c3runtime/type.js", 23 | "lang/en-US.json", 24 | "aces.json", 25 | "addon.json", 26 | "icon.svg", 27 | "behavior.js", 28 | "type.js", 29 | "instance.js" 30 | ] 31 | } -------------------------------------------------------------------------------- /source/aekiro_progress/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "behavior", 4 | "name": "Progress", 5 | "id": "aekiro_progress", 6 | "version": "1.822", 7 | "author": "Aekiro", 8 | "website": "https://later.com", 9 | "documentation": "https://later.com", 10 | "description": "Makes a sprite object behave like a progress bar.", 11 | "editor-scripts": [ 12 | "behavior.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c3runtime/behavior.js", 18 | "c3runtime/actions.js", 19 | "c3runtime/conditions.js", 20 | "c3runtime/expressions.js", 21 | "c3runtime/instance.js", 22 | "c3runtime/type.js", 23 | "lang/en-US.json", 24 | "aces.json", 25 | "addon.json", 26 | "icon.svg", 27 | "behavior.js", 28 | "type.js", 29 | "instance.js" 30 | ] 31 | } -------------------------------------------------------------------------------- /source/aekiro_remoteSprite_dom/c3runtime/domSide.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | 5 | const DOM_COMPONENT_ID = "aekiro_remoteSprite_dom"; 6 | 7 | const HANDLER_CLASS = class MyDOMHandler extends DOMElementHandler 8 | { 9 | constructor(iRuntime) 10 | { 11 | super(iRuntime, DOM_COMPONENT_ID); 12 | } 13 | 14 | CreateElement(e) 15 | { 16 | this.image = new Image(); 17 | this.image.style.visibility = "hidden"; 18 | this.UpdateState(this.image, e); 19 | return this.image; 20 | } 21 | 22 | /*CreateElement(e) 23 | { 24 | const elem = new Image(); 25 | elem.style.visibility = "hidden"; 26 | this.UpdateState(elem, e); 27 | return elem; 28 | }*/ 29 | 30 | UpdateState(elem, e) 31 | { 32 | elem.src = e["src"]; 33 | } 34 | 35 | }; 36 | 37 | RuntimeInterface.AddDOMHandlerClass(HANDLER_CLASS); 38 | } -------------------------------------------------------------------------------- /source/aekiro_gridViewBind/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "behavior", 4 | "name": "GridView Data Bind", 5 | "id": "aekiro_gridviewbind", 6 | "version": "1.822", 7 | "author": "Aekiro", 8 | "website": "https://later.com", 9 | "documentation": "https://later.com", 10 | "description": "Map a GridView subitem to a key in JSON data.", 11 | "editor-scripts": [ 12 | "behavior.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c3runtime/behavior.js", 18 | "c3runtime/actions.js", 19 | "c3runtime/conditions.js", 20 | "c3runtime/expressions.js", 21 | "c3runtime/instance.js", 22 | "c3runtime/type.js", 23 | "lang/en-US.json", 24 | "aces.json", 25 | "addon.json", 26 | "icon.svg", 27 | "behavior.js", 28 | "type.js", 29 | "instance.js" 30 | ] 31 | } -------------------------------------------------------------------------------- /source/aekiro_discreteProgressPart/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "behavior", 4 | "name": "Discrete Progress Part", 5 | "id": "aekiro_discreteProgressPart", 6 | "version": "1.822", 7 | "author": "Aekiro", 8 | "website": "https://later.com", 9 | "documentation": "https://later.com", 10 | "description": "Part of a discrete progress.", 11 | "editor-scripts": [ 12 | "behavior.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c3runtime/behavior.js", 18 | "c3runtime/actions.js", 19 | "c3runtime/conditions.js", 20 | "c3runtime/expressions.js", 21 | "c3runtime/instance.js", 22 | "c3runtime/type.js", 23 | "lang/en-US.json", 24 | "aces.json", 25 | "addon.json", 26 | "icon.svg", 27 | "behavior.js", 28 | "type.js", 29 | "instance.js" 30 | ] 31 | } -------------------------------------------------------------------------------- /source/test/addon - Copy.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "behavior", 4 | "name": "My custom behavior", 5 | "id": "MyCompany_MyBehavior", 6 | "version": "1.0.0.0", 7 | "author": "Scirra", 8 | "website": "https://www.construct.net", 9 | "documentation": "https://www.construct.net", 10 | "description": "Example custom Construct 3 behavior.", 11 | "editor-scripts": [ 12 | "behavior.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c2runtime/runtime.js", 18 | "c3runtime/behavior.js", 19 | "c3runtime/type.js", 20 | "c3runtime/instance.js", 21 | "c3runtime/conditions.js", 22 | "c3runtime/actions.js", 23 | "c3runtime/expressions.js", 24 | "lang/en-US.json", 25 | "aces.json", 26 | "addon.json", 27 | "icon.svg", 28 | "instance.js", 29 | "behavior.js", 30 | "type.js" 31 | ] 32 | } -------------------------------------------------------------------------------- /source/aekiro_remoteSprite_dom/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | C3.Plugins.aekiro_remoteSprite.Type = class RemoteSpriteType extends C3.SDKTypeBase 4 | { 5 | constructor(objectClass) 6 | { 7 | super(objectClass); 8 | } 9 | 10 | Release() 11 | { 12 | super.Release(); 13 | } 14 | 15 | OnCreate() 16 | { 17 | this.GetImageInfo().LoadAsset(this._runtime); 18 | } 19 | 20 | LoadTextures(renderer) 21 | { 22 | return this.GetImageInfo().LoadStaticTexture(renderer, 23 | { 24 | linearSampling: this._runtime.IsLinearSampling() 25 | }); 26 | } 27 | 28 | ReleaseTextures() 29 | { 30 | this.GetImageInfo().ReleaseTexture(); 31 | } 32 | }; 33 | } -------------------------------------------------------------------------------- /source/aekiro_discreteProgress/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "behavior", 4 | "name": "Discrete Progress", 5 | "id": "aekiro_discreteProgress", 6 | "version": "1.822", 7 | "author": "Aekiro", 8 | "website": "https://later.com", 9 | "documentation": "https://later.com", 10 | "description": "Makes a sprite object behave like a discrete progress.", 11 | "editor-scripts": [ 12 | "behavior.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c3runtime/behavior.js", 18 | "c3runtime/actions.js", 19 | "c3runtime/conditions.js", 20 | "c3runtime/expressions.js", 21 | "c3runtime/instance.js", 22 | "c3runtime/type.js", 23 | "lang/en-US.json", 24 | "aces.json", 25 | "addon.json", 26 | "icon.svg", 27 | "behavior.js", 28 | "type.js", 29 | "instance.js" 30 | ] 31 | } -------------------------------------------------------------------------------- /source/aekiro_remoteSprite_dom/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "plugin", 4 | "name": "Remote Sprite", 5 | "id": "aekiro_remoteSprite", 6 | "version": "1.1", 7 | "author": "Akeiro", 8 | "website": "https://www.construct.net", 9 | "documentation": "https://www.construct.net", 10 | "description": "Add addon descirption here", 11 | "editor-scripts": [ 12 | "plugin.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c3runtime/plugin.js", 18 | "c3runtime/type.js", 19 | "c3runtime/instance.js", 20 | "c3runtime/domSide.js", 21 | "c3runtime/conditions.js", 22 | "c3runtime/actions.js", 23 | "c3runtime/expressions.js", 24 | "lang/en-US.json", 25 | "aces.json", 26 | "addon.json", 27 | "icon.svg", 28 | "instance.js", 29 | "plugin.js", 30 | "type.js" 31 | ] 32 | } -------------------------------------------------------------------------------- /source/aekiro_radiogroup/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "behavior", 4 | "name": "Radio Group", 5 | "id": "aekiro_radiogroup", 6 | "version": "1.822", 7 | "author": "Aekiro", 8 | "website": "https://later.com", 9 | "documentation": "https://later.com", 10 | "description": "Makes a sprite object behave like a radio group (to be used with a radio button).", 11 | "editor-scripts": [ 12 | "behavior.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c3runtime/behavior.js", 18 | "c3runtime/actions.js", 19 | "c3runtime/conditions.js", 20 | "c3runtime/expressions.js", 21 | "c3runtime/instance.js", 22 | "c3runtime/type.js", 23 | "lang/en-US.json", 24 | "aces.json", 25 | "addon.json", 26 | "icon.svg", 27 | "behavior.js", 28 | "type.js", 29 | "instance.js" 30 | ] 31 | } -------------------------------------------------------------------------------- /source/test/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "behavior", 4 | "name": "My custom behavior", 5 | "id": "MyCompany_MyBehavior", 6 | "version": "1.3", 7 | "author": "Scirra", 8 | "website": "https://www.construct.net", 9 | "documentation": "https://www.construct.net", 10 | "description": "Example custom Construct 3 behavior.", 11 | "editor-scripts": [ 12 | "behavior.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c2runtime/runtime.js", 18 | "c3runtime/behavior.js", 19 | "c3runtime/type.js", 20 | "c3runtime/instance.js", 21 | "c3runtime/conditions.js", 22 | "c3runtime/actions.js", 23 | "c3runtime/expressions.js", 24 | "lang/en-US.json", 25 | "aces.json", 26 | "addon.json", 27 | "icon.svg", 28 | "instance.js", 29 | "behavior.js", 30 | "type.js" 31 | ] 32 | } -------------------------------------------------------------------------------- /source/aekiro_proui/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "plugin", 4 | "name": "ProUI", 5 | "id": "aekiro_proui", 6 | "version": "1.822", 7 | "author": "Aekiro", 8 | "website": "https://later.com", 9 | "documentation": "https://later.com", 10 | "description": "Must be added to any project using the ProUI behaviors.", 11 | "editor-scripts": [ 12 | "plugin.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "lodash.custom.min.js", 18 | "Tween.js", 19 | "c3runtime/plugin.js", 20 | "c3runtime/actions.js", 21 | "c3runtime/conditions.js", 22 | "c3runtime/expressions.js", 23 | "c3runtime/instance.js", 24 | "c3runtime/type.js", 25 | "lang/en-US.json", 26 | "aces.json", 27 | "addon.json", 28 | "icon.svg", 29 | "plugin.js", 30 | "type.js", 31 | "instance.js" 32 | ] 33 | } -------------------------------------------------------------------------------- /source/aekiro_radiobutton/addon.json: -------------------------------------------------------------------------------- 1 | { 2 | "is-c3-addon": true, 3 | "type": "behavior", 4 | "name": "Radio Button", 5 | "id": "aekiro_radiobutton", 6 | "version": "1.822", 7 | "author": "Aekiro", 8 | "website": "https://later.com", 9 | "documentation": "https://later.com", 10 | "description": "Makes a sprite object behave like a radio button (to be used with a radio group).", 11 | "editor-scripts": [ 12 | "behavior.js", 13 | "type.js", 14 | "instance.js" 15 | ], 16 | "file-list": [ 17 | "c3runtime/behavior.js", 18 | "c3runtime/actions.js", 19 | "c3runtime/conditions.js", 20 | "c3runtime/expressions.js", 21 | "c3runtime/instance.js", 22 | "c3runtime/type.js", 23 | "lang/en-US.json", 24 | "aces.json", 25 | "addon.json", 26 | "icon.svg", 27 | "behavior.js", 28 | "type.js", 29 | "instance.js" 30 | ] 31 | } -------------------------------------------------------------------------------- /source/aekiro_remoteSprite/c3runtime/type.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | const C3 = self.C3; 4 | C3.Plugins.aekiro_remoteSprite.Type = class RemoteSpriteType extends C3.SDKTypeBase 5 | { 6 | constructor(objectClass) 7 | { 8 | super(objectClass); 9 | } 10 | 11 | Release() 12 | { 13 | super.Release(); 14 | } 15 | 16 | OnCreate() 17 | { 18 | this.GetImageInfo().LoadAsset(this._runtime); 19 | } 20 | 21 | LoadTextures(renderer) 22 | { 23 | return this.GetImageInfo().LoadStaticTexture(renderer, 24 | { 25 | linearSampling: this._runtime.IsLinearSampling() 26 | }); 27 | } 28 | 29 | ReleaseTextures() 30 | { 31 | this.GetImageInfo().ReleaseTexture(); 32 | } 33 | }; 34 | } -------------------------------------------------------------------------------- /source/aekiro_radiogroup/aces.json: -------------------------------------------------------------------------------- 1 | { 2 | "": { 3 | "conditions": [ 4 | { 5 | "c2id": 0, 6 | "id": "isenabled0", 7 | "scriptName": "IsEnabled", 8 | "highlight": false 9 | } 10 | ], 11 | "actions": [ 12 | { 13 | "c2id": 0, 14 | "id": "setvalue0", 15 | "scriptName": "setValue", 16 | "highlight": false, 17 | "params": [ 18 | {"id":"value0", "type":"any"} 19 | ] 20 | }, 21 | { 22 | "c2id": 1, 23 | "id": "setenabled1", 24 | "scriptName": "setEnabled", 25 | "highlight": false, 26 | "params": [ 27 | {"id":"state2", "type":"combo", "items":["disabled","enabled"]} 28 | ] 29 | } 30 | ], 31 | "expressions": [ 32 | { 33 | "c2id": 0, 34 | "id": "value0", 35 | "expressionName": "value", 36 | "scriptName": "value", 37 | "highlight": false, 38 | "returnType": "any" 39 | } 40 | ] 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /source/aekiro_gridView/aces.json: -------------------------------------------------------------------------------- 1 | { 2 | "": { 3 | "conditions": [ 4 | { 5 | "id": "onrender0", 6 | "scriptName": "OnRender", 7 | "isTrigger": "true", 8 | "highlight": false 9 | } 10 | ], 11 | "actions": [ 12 | { 13 | "id": "setdatabyjsonstring0", 14 | "scriptName": "SetDataByJsonString", 15 | "highlight": false, 16 | "params": [ 17 | {"id":"data0", "type":"string"}, 18 | {"id":"root", "type":"string"} 19 | ] 20 | }, 21 | { 22 | "id": "setdatabyjsonobject", 23 | "scriptName": "SetDataByJsonObject", 24 | "highlight": false, 25 | "params": [ 26 | {"id":"data0", "type":"object", "allowedPluginIds":["Json"]}, 27 | {"id":"root", "type":"string"} 28 | ] 29 | }, 30 | { 31 | "id": "clear1", 32 | "scriptName": "Clear", 33 | "highlight": false 34 | } 35 | ], 36 | "expressions": [ 37 | ] 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /source/aekiro_remoteSprite_dom/lang/en-US.json: -------------------------------------------------------------------------------- 1 | { 2 | "languageTag": "en-US", 3 | "fileDescription": "Strings for RemoteSprite Plugin", 4 | "text": { 5 | "plugins": { 6 | "aekiro_remotesprite": { 7 | "name": "Remote Sprite", 8 | "description": "Remote Sprite", 9 | "help-url": "https://later.com", 10 | "properties": {}, 11 | "aceCategories": { 12 | "load": "Load" 13 | }, 14 | "conditions": {}, 15 | "actions": { 16 | "loadfromurl": { 17 | "list-name": "Load From URL", 18 | "display-text": "Load From URL {0}", 19 | "description": "Load From URL.", 20 | "params": { 21 | "url": { 22 | "name": "URL", 23 | "desc": "URL" 24 | } 25 | } 26 | } 27 | }, 28 | "expressions": {} 29 | } 30 | } 31 | } 32 | } -------------------------------------------------------------------------------- /source/aekiro_remoteSprite_dom/c3runtime/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | 4 | const DOM_COMPONENT_ID = "aekiro_remoteSprite_dom"; 5 | 6 | C3.Plugins.aekiro_remoteSprite.Instance = class RemoteSpriteInstance extends C3.SDKDOMInstanceBase 7 | { 8 | constructor(inst, properties) 9 | { 10 | super(inst, DOM_COMPONENT_ID); 11 | } 12 | 13 | Release() 14 | { 15 | super.Release(); 16 | } 17 | 18 | Draw(renderer) 19 | { 20 | 21 | } 22 | 23 | 24 | 25 | SaveToJson() 26 | { 27 | return { 28 | // data to be saved for savegames 29 | }; 30 | } 31 | 32 | LoadFromJson(o) 33 | { 34 | // load state for savegames 35 | } 36 | 37 | GetDebuggerProperties() 38 | { 39 | return [ 40 | { 41 | }]; 42 | } 43 | }; 44 | } -------------------------------------------------------------------------------- /source/aekiro_remoteSprite/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | const C3 = self.C3; 4 | C3.Plugins.aekiro_remoteSprite.Acts = { 5 | async LoadFromURL(url,keepCurrentSize) { 6 | url = await this._runtime.GetAssetManager().GetProjectFileUrl(url); 7 | this.image.src = url; 8 | 9 | this.image.onload = () =>{ 10 | if(!keepCurrentSize){ 11 | const wi = this.GetWorldInfo(); 12 | wi.SetWidth(this.image.width,true); 13 | wi.SetHeight(this.image.height,true); 14 | wi.SetBboxChanged(); 15 | } 16 | this.isImageLoaded = true; 17 | this.newImageLoaded = true; 18 | this._runtime.UpdateRender(); 19 | }; 20 | }, 21 | 22 | SetEffect(a){ 23 | this.GetWorldInfo().SetBlendMode(a); 24 | this._runtime.UpdateRender(); 25 | } 26 | }; 27 | } -------------------------------------------------------------------------------- /source/aekiro_discreteProgressPart/lang/en-US.json: -------------------------------------------------------------------------------- 1 | { 2 | "languageTag": "en-US", 3 | "fileDescription": "Strings for Discrete Progress Part.", 4 | "text": { 5 | "behaviors": { 6 | "aekiro_discreteprogresspart": { 7 | "name": "Discrete Progress Part", 8 | "description": "Part of a discrete progress.", 9 | "help-url": "https://later.com", 10 | "properties": { 11 | "index": { 12 | "name": "index", 13 | "desc": "The index of the part." 14 | }, 15 | "0-frame": { 16 | "name": "0-Frame", 17 | "desc": "Frame which corresponds to 0." 18 | }, 19 | "0.5-frame": { 20 | "name": "0.5-Frame", 21 | "desc": "Frame which corresponds to 0.5." 22 | }, 23 | "1-frame": { 24 | "name": "1-Frame", 25 | "desc": "Frame which corresponds to 1." 26 | } 27 | }, 28 | "aceCategories": { 29 | }, 30 | "conditions": { 31 | }, 32 | "actions": { 33 | }, 34 | "expressions": { 35 | } 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /source/aekiro_progress/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 12 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /source/aekiro_radiobutton/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /source/aekiro_gridViewBind/aces.json: -------------------------------------------------------------------------------- 1 | { 2 | "": { 3 | "conditions": [ 4 | { 5 | "id": "isindex0", 6 | "scriptName": "IsIndex", 7 | "highlight": false, 8 | "params": [ 9 | {"id":"index0", "type":"number"} 10 | ] 11 | }, 12 | { 13 | "id": "onGridViewRender", 14 | "scriptName": "OnGridViewRender", 15 | "isTrigger": "true", 16 | "highlight": false 17 | } 18 | ], 19 | "actions": [ 20 | ], 21 | "expressions": [ 22 | { 23 | "id": "index0", 24 | "expressionName": "index", 25 | "scriptName": "index", 26 | "highlight": false, 27 | "returnType": "number" 28 | }, 29 | { 30 | "id": "key", 31 | "expressionName": "key", 32 | "scriptName": "key", 33 | "highlight": false, 34 | "returnType": "string" 35 | }, 36 | { 37 | "id": "get", 38 | "expressionName": "get", 39 | "scriptName": "get", 40 | "highlight": false, 41 | "returnType": "any", 42 | "params": [ 43 | {"id":"key", "type":"string"} 44 | ] 45 | } 46 | ] 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgress/lang/en-US.json: -------------------------------------------------------------------------------- 1 | { 2 | "languageTag": "en-US", 3 | "fileDescription": "Strings for Discrete Progress.", 4 | "text": { 5 | "behaviors": { 6 | "aekiro_discreteprogress": { 7 | "name": "Discrete Progress", 8 | "description": "Discrete Progress.", 9 | "help-url": "https://later.com", 10 | "properties": { 11 | "value": { 12 | "name": "Value", 13 | "desc": "The value of the progress." 14 | } 15 | }, 16 | "aceCategories": { 17 | }, 18 | "conditions": { 19 | }, 20 | "actions": { 21 | "setvalue0": { 22 | "list-name": "Set", 23 | "display-text": "Set {my} to [i]{0}[/i]", 24 | "description": "Set the value of the discrete progress.", 25 | "params": { 26 | "value0": { "name":"value", "desc":"The value"} 27 | } 28 | } 29 | }, 30 | "expressions": { 31 | "value0": { 32 | "description": "Get the value of the discrete progress.", 33 | "translated-name": "value" 34 | } 35 | } 36 | } 37 | } 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /source/aekiro_sliderbar/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 12 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /tools/release.zsh: -------------------------------------------------------------------------------- 1 | #!/bin/zsh 2 | 3 | version=$1 4 | 5 | # Check if version is provided 6 | if [[ -z "$version" ]]; then 7 | echo "Please provide a version." 8 | exit 1 9 | fi 10 | 11 | # Clean build directory 12 | rm -rf build 13 | 14 | # Create build directory if it doesn't exist 15 | mkdir -p build 16 | echo "Created build directory" 17 | 18 | cd source 19 | 20 | # Loop over directories 21 | for dir in */ ; do 22 | # Remove trailing slash from directory name 23 | cd "$dir" 24 | dir=${dir%/} 25 | 26 | # Zip contents of directory 27 | echo "Zipping contents of directory: $dir" 28 | zip -r "../../build/${dir}.c3addon" . 29 | cd .. 30 | done 31 | 32 | # Change to build directory 33 | cd ../build 34 | echo "Changed to build directory" 35 | 36 | # Zip all files into ProUI_v.zip 37 | echo "Zipping all files into ProUI_v${version}.zip" 38 | zip -r "ProUI_v${version}.zip" * 39 | 40 | mv "ProUI_v${version}.zip" "../dist-collection/ProUI_v${version}.zip" 41 | 42 | # Move back to the original directory 43 | cd .. 44 | echo "Moved back to the original directory" -------------------------------------------------------------------------------- /source/test/lang/en-US.json: -------------------------------------------------------------------------------- 1 | { 2 | "languageTag": "en-US", 3 | "fileDescription": "Strings for MyCustomBehavior.", 4 | "text": { 5 | "behaviors": { 6 | "mycompany_mybehavior": { 7 | "name": "MyCustomBehavior", 8 | "description": "An example third-party behavior.", 9 | "help-url": "https://www.construct.net", 10 | "properties": { 11 | "test-property": { 12 | "name": "Test property", 13 | "desc": "A test number property." 14 | } 15 | }, 16 | "aceCategories": { 17 | }, 18 | "conditions": { 19 | "is-moving": { 20 | "list-name": "Is moving", 21 | "display-text": "{my} is moving", 22 | "description": "An example condition for the behavior." 23 | } 24 | }, 25 | "actions": { 26 | "stop": { 27 | "list-name": "Stop", 28 | "display-text": "Stop {my}", 29 | "description": "An example action for the behavior." 30 | } 31 | }, 32 | "expressions": { 33 | "leet": { 34 | "description": "Returns the number 1337.", 35 | "translated-name": "MyExpression" 36 | } 37 | } 38 | } 39 | } 40 | } 41 | } -------------------------------------------------------------------------------- /source/aekiro_scrollView/aces.json: -------------------------------------------------------------------------------- 1 | { 2 | "": { 3 | "conditions": [ 4 | ], 5 | "actions": [ 6 | { 7 | "id": "scrollto0", 8 | "scriptName": "ScrollTo", 9 | "highlight": false, 10 | "params": [ 11 | {"id":"x0", "type":"number"}, 12 | {"id":"y1", "type":"number"}, 13 | {"id":"target_type4", "type":"combo", "items":["absolute","percentage"]}, 14 | {"id":"smooth_scroll_factor5", "type":"number", "initialValue":"0.3"} 15 | ] 16 | }, 17 | { 18 | "id": "scrollby", 19 | "scriptName": "ScrollBy", 20 | "highlight": false, 21 | "params": [ 22 | {"id":"x0", "type":"number"}, 23 | {"id":"y1", "type":"number"}, 24 | {"id":"target_type4", "type":"combo", "items":["absolute","percentage"]}, 25 | {"id":"smooth_scroll_factor5", "type":"number", "initialValue":"0.3"} 26 | ] 27 | }, 28 | { 29 | "id": "setenabled1", 30 | "scriptName": "setEnabled", 31 | "highlight": false, 32 | "params": [ 33 | {"id":"state2", "type":"combo", "items":["disabled","enabled"]} 34 | ] 35 | } 36 | ], 37 | "expressions": [ 38 | ] 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 aekiro2 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /source/aekiro_gridViewBind/c3runtime/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_gridviewbind.Instance = class aekiro_bindInstance extends C3.SDKBehaviorInstanceBase 6 | { 7 | constructor(behInst, properties) 8 | { 9 | super(behInst); 10 | 11 | this.GetObjectInstance().GetUnsavedDataMap().aekiro_gridviewbind = this; 12 | 13 | //********************************* 14 | this.index = -1 ; 15 | this.key = "" ; 16 | this.gridView = null; 17 | this.value = 0; 18 | } 19 | 20 | setValue (value){ 21 | //console.log("%cLABEL %d : Set value to %s","color:blue", this.inst.uid, value); 22 | this.value = value; 23 | //this.Trigger(C3.Behaviors.aekiro_gridviewbind.Cnds.OnChanged); //maybe later 24 | } 25 | 26 | triggerOnGridViewRender(){ 27 | this.Trigger(C3.Behaviors.aekiro_gridviewbind.Cnds.OnGridViewRender); 28 | } 29 | 30 | isObject (a) { 31 | return (!!a) && (a.constructor === Object); 32 | } 33 | 34 | Release() 35 | { 36 | super.Release(); 37 | } 38 | 39 | SaveToJson() 40 | { 41 | return { 42 | }; 43 | } 44 | 45 | LoadFromJson(o) 46 | { 47 | } 48 | }; 49 | } 50 | -------------------------------------------------------------------------------- /source/aekiro_gridViewBind/behavior.js: -------------------------------------------------------------------------------- 1 | //Converted with C2C3AddonConverter v1.0.1.1 2 | "use strict"; 3 | 4 | { 5 | const SDK = self.SDK; 6 | const lang = self.lang; 7 | const BEHAVIOR_ID = "aekiro_gridviewbind"; 8 | const BEHAVIOR_VERSION = "1.822"; 9 | const BEHAVIOR_CATEGORY = "other"; 10 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_gridviewbind = class aekiro_gridviewbind extends SDK.IBehaviorBase 11 | { 12 | constructor() 13 | { 14 | super(BEHAVIOR_ID); 15 | SDK.Lang.PushContext("behaviors." + BEHAVIOR_ID.toLowerCase()); 16 | this._info.SetName(lang(".name")); 17 | this._info.SetDescription(lang(".description")); 18 | this._info.SetVersion(BEHAVIOR_VERSION); 19 | this._info.SetCategory(BEHAVIOR_CATEGORY); 20 | this._info.SetAuthor("Aekiro"); 21 | this._info.SetHelpUrl(lang(".help-url")); 22 | this._info.SetIsOnlyOneAllowed(false); 23 | 24 | this._info.SetSupportedRuntimes(["c3"]); // c3 for stubs only! 25 | 26 | SDK.Lang.PushContext(".properties"); 27 | this._info.SetProperties([]); 28 | SDK.Lang.PopContext(); // .properties 29 | SDK.Lang.PopContext(); 30 | } 31 | }; 32 | BEHAVIOR_CLASS.Register(BEHAVIOR_ID, BEHAVIOR_CLASS); 33 | } 34 | -------------------------------------------------------------------------------- /source/aekiro_remoteSprite/aces.json: -------------------------------------------------------------------------------- 1 | { 2 | "load": { 3 | "conditions": [], 4 | "actions": [ 5 | { 6 | "id": "loadfromurl", 7 | "scriptName": "LoadFromURL", 8 | "highlight": true, 9 | "isAsync":true, 10 | "params": [ 11 | { 12 | "id": "url", 13 | "type": "string" 14 | }, 15 | { 16 | "id": "size", 17 | "type": "combo", 18 | "items": ["resize-to-image-size", "keep-current-size"] 19 | } 20 | ] 21 | } 22 | ], 23 | "expressions": [] 24 | }, 25 | 26 | "appearance": { 27 | "conditions": [], 28 | "expressions": [], 29 | "actions": [{ 30 | "id": "set-blend-mode", 31 | "scriptName": "SetEffect", 32 | "hideInSimplifiedMode": true, 33 | "params": [{ 34 | "id": "blend-mode", 35 | "type": "combo", 36 | "items": ["normal", "additive", "xor", "copy", "destination-over", "source-in", "destination-in", "source-out", "destination-out", "source-atop", "destination-atop"] 37 | } 38 | ] 39 | } 40 | ] 41 | } 42 | } -------------------------------------------------------------------------------- /source/aekiro_radiogroup/behavior.js: -------------------------------------------------------------------------------- 1 | //Converted with C2C3AddonConverter v1.0.1.1 2 | "use strict"; 3 | 4 | { 5 | const SDK = self.SDK; 6 | const lang = self.lang; 7 | const BEHAVIOR_ID = "aekiro_radiogroup"; 8 | const BEHAVIOR_VERSION = "1.822"; 9 | const BEHAVIOR_CATEGORY = "other"; 10 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_radiogroup = class aekiro_radiogroup extends SDK.IBehaviorBase 11 | { 12 | constructor() 13 | { 14 | super(BEHAVIOR_ID); 15 | SDK.Lang.PushContext("behaviors." + BEHAVIOR_ID.toLowerCase()); 16 | this._info.SetName(lang(".name")); 17 | this._info.SetDescription(lang(".description")); 18 | this._info.SetVersion(BEHAVIOR_VERSION); 19 | this._info.SetCategory(BEHAVIOR_CATEGORY); 20 | this._info.SetAuthor("Aekiro"); 21 | this._info.SetHelpUrl(lang(".help-url")); 22 | this._info.SetIsOnlyOneAllowed(true); 23 | 24 | this._info.SetSupportedRuntimes(["c3"]); // c3 for stubs only! 25 | 26 | SDK.Lang.PushContext(".properties"); 27 | this._info.SetProperties([ 28 | new SDK.PluginProperty("text", "value", "") 29 | ]); 30 | SDK.Lang.PopContext(); // .properties 31 | SDK.Lang.PopContext(); 32 | } 33 | }; 34 | BEHAVIOR_CLASS.Register(BEHAVIOR_ID, BEHAVIOR_CLASS); 35 | } 36 | -------------------------------------------------------------------------------- /source/aekiro_translationB/behavior.js: -------------------------------------------------------------------------------- 1 | //Converted with C2C3AddonConverter v1.0.1.1 2 | "use strict"; 3 | 4 | { 5 | const SDK = self.SDK; 6 | const lang = self.lang; 7 | const BEHAVIOR_ID = "aekiro_translationB"; 8 | const BEHAVIOR_VERSION = "1.822"; 9 | const BEHAVIOR_CATEGORY = "other"; 10 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_translationB = class aekiro_translationB extends SDK.IBehaviorBase 11 | { 12 | constructor() 13 | { 14 | super(BEHAVIOR_ID); 15 | SDK.Lang.PushContext("behaviors." + BEHAVIOR_ID.toLowerCase()); 16 | this._info.SetName(lang(".name")); 17 | this._info.SetDescription(lang(".description")); 18 | this._info.SetVersion(BEHAVIOR_VERSION); 19 | this._info.SetCategory(BEHAVIOR_CATEGORY); 20 | this._info.SetAuthor("Aekiro"); 21 | this._info.SetHelpUrl(lang(".help-url")); 22 | this._info.SetIsOnlyOneAllowed(true); 23 | 24 | this._info.SetSupportedRuntimes(["c3"]); // c3 for stubs only! 25 | 26 | SDK.Lang.PushContext(".properties"); 27 | this._info.SetProperties([ 28 | new SDK.PluginProperty("text", "key", "") 29 | ]); 30 | SDK.Lang.PopContext(); // .properties 31 | SDK.Lang.PopContext(); 32 | } 33 | }; 34 | BEHAVIOR_CLASS.Register(BEHAVIOR_ID, BEHAVIOR_CLASS); 35 | } 36 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgress/behavior.js: -------------------------------------------------------------------------------- 1 | //Converted with C2C3AddonConverter v1.0.1.1 2 | "use strict"; 3 | 4 | { 5 | const SDK = self.SDK; 6 | const lang = self.lang; 7 | const BEHAVIOR_ID = "aekiro_discreteProgress"; 8 | const BEHAVIOR_VERSION = "1.822"; 9 | const BEHAVIOR_CATEGORY = "other"; 10 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_discreteProgress = class aekiro_discreteProgress extends SDK.IBehaviorBase 11 | { 12 | constructor() 13 | { 14 | super(BEHAVIOR_ID); 15 | SDK.Lang.PushContext("behaviors." + BEHAVIOR_ID.toLowerCase()); 16 | this._info.SetName(lang(".name")); 17 | this._info.SetDescription(lang(".description")); 18 | this._info.SetVersion(BEHAVIOR_VERSION); 19 | this._info.SetCategory(BEHAVIOR_CATEGORY); 20 | this._info.SetAuthor("Aekiro"); 21 | this._info.SetHelpUrl(lang(".help-url")); 22 | this._info.SetIsOnlyOneAllowed(true); 23 | 24 | this._info.SetSupportedRuntimes(["c3"]); // c3 for stubs only! 25 | 26 | SDK.Lang.PushContext(".properties"); 27 | this._info.SetProperties([ 28 | new SDK.PluginProperty("float", "value", 0) 29 | ]); 30 | SDK.Lang.PopContext(); // .properties 31 | SDK.Lang.PopContext(); 32 | } 33 | }; 34 | BEHAVIOR_CLASS.Register(BEHAVIOR_ID, BEHAVIOR_CLASS); 35 | } 36 | -------------------------------------------------------------------------------- /source/aekiro_gameObject/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /source/aekiro_proui/aces.json: -------------------------------------------------------------------------------- 1 | { 2 | "proui": { 3 | "conditions": [ 4 | { 5 | "id": "isdialogopened0", 6 | "scriptName": "IsDialogOpened", 7 | "highlight": false 8 | }, 9 | { 10 | "id": "onanybuttonclicked1", 11 | "scriptName": "OnAnyButtonClicked", 12 | "isTrigger": "true", 13 | "highlight": false 14 | } 15 | ], 16 | "actions": [ 17 | { 18 | "id": "init", 19 | "scriptName": "Init", 20 | "highlight": false 21 | }, 22 | { 23 | "id": "setinputignored0", 24 | "scriptName": "SetInputIgnored", 25 | "highlight": false, 26 | "params": [ 27 | {"id":"input_state2", "type":"combo", "items":["no","yes"]} 28 | ] 29 | }, 30 | { 31 | "id": "clonegameobject", 32 | "scriptName": "Clone", 33 | "highlight": false, 34 | "params": [ 35 | {"id":"json", "type":"string"}, 36 | {"id":"layer0", "type":"layer"}, 37 | {"id":"x", "type":"number"}, 38 | {"id":"y", "type":"number"}, 39 | {"id":"name", "type":"string"}, 40 | {"id":"parentName", "type":"string"} 41 | ] 42 | }, 43 | { 44 | "id": "setvolume", 45 | "scriptName": "SetUIAudioVolume", 46 | "highlight": false, 47 | "params": [ 48 | {"id":"volume", "type":"number"} 49 | ] 50 | } 51 | 52 | ], 53 | "expressions": [ 54 | ] 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /source/aekiro_translation/lang/en-US.json: -------------------------------------------------------------------------------- 1 | { 2 | "languageTag": "en-US", 3 | "fileDescription": "Strings for Translation.", 4 | "text": { 5 | "plugins": { 6 | "aekiro_translation": { 7 | "name": "Translation", 8 | "description": "Translation.", 9 | "help-url": "https://later.com", 10 | "properties": { 11 | }, 12 | "aceCategories": { 13 | }, 14 | "conditions": { 15 | }, 16 | "actions": { 17 | "translateall0": { 18 | "list-name": "Translate all", 19 | "display-text": "Translate all to {0}", 20 | "description": "Translate all", 21 | "params": { 22 | "language0": { "name":"Language", "desc":"Language"} 23 | } 24 | }, 25 | "setdatabyjsonstring0": { 26 | "list-name": "Set Data From Json String", 27 | "display-text": "Set data to [b]{0}[/b]", 28 | "description": "SetDataByJsonString.", 29 | "params": { 30 | "data0": { "name":"Data", "desc":"Data."} 31 | } 32 | } 33 | }, 34 | "expressions": { 35 | "get": { 36 | "description": "Get a translation by key.", 37 | "translated-name": "get", 38 | "params": { 39 | "key": { "name":"Key", "desc":"Key"}, 40 | "language0": { "name":"Language", "desc":"Language"} 41 | } 42 | } 43 | } 44 | } 45 | } 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /source/aekiro_dialog/aces.json: -------------------------------------------------------------------------------- 1 | { 2 | "": { 3 | "conditions": [ 4 | { 5 | "id": "ondialogopened0", 6 | "scriptName": "onDialogOpened", 7 | "isTrigger": "true", 8 | "highlight": false 9 | }, 10 | { 11 | "id": "ondialogclosed1", 12 | "scriptName": "onDialogClosed", 13 | "isTrigger": "true", 14 | "highlight": false 15 | }, 16 | { 17 | "id": "isopened2", 18 | "scriptName": "isOpened", 19 | "highlight": false 20 | } 21 | ], 22 | "actions": [ 23 | { 24 | "id": "open0", 25 | "scriptName": "Open", 26 | "highlight": false, 27 | "params": [ 28 | {"id":"target_x0", "type":"number"}, 29 | {"id":"target_y1", "type":"number"}, 30 | {"id":"center4", "type":"combo", "items":["no","yes"]} 31 | ] 32 | }, 33 | { 34 | "id": "close1", 35 | "scriptName": "Close", 36 | "highlight": false 37 | }, 38 | { 39 | "id": "setOpenSoundVolume", 40 | "scriptName": "SetOpenSoundVolume", 41 | "highlight": false, 42 | "params": [ 43 | {"id":"volume", "type":"number"} 44 | ] 45 | }, 46 | { 47 | "id": "setCloseSoundVolume", 48 | "scriptName": "SetCloseSoundVolume", 49 | "highlight": false, 50 | "params": [ 51 | {"id":"volume", "type":"number"} 52 | ] 53 | } 54 | ], 55 | "expressions": [ 56 | ] 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /source/aekiro_translation/plugin.js: -------------------------------------------------------------------------------- 1 | //Converted with C2C3AddonConverter v1.0.1.1 2 | "use strict"; 3 | 4 | { 5 | const SDK = self.SDK; 6 | const lang = self.lang; 7 | const PLUGIN_ID = "aekiro_translation"; 8 | const PLUGIN_VERSION = "1.822"; 9 | const PLUGIN_CATEGORY = "other"; 10 | 11 | 12 | let app = null; 13 | 14 | const PLUGIN_CLASS = SDK.Plugins.aekiro_translation = class aekiro_translation extends SDK.IPluginBase 15 | { 16 | constructor() 17 | { 18 | super(PLUGIN_ID); 19 | SDK.Lang.PushContext("plugins." + PLUGIN_ID.toLowerCase()); 20 | this._info.SetName(lang(".name")); 21 | this._info.SetDescription(lang(".description")); 22 | this._info.SetVersion(PLUGIN_VERSION); 23 | this._info.SetCategory(PLUGIN_CATEGORY); 24 | this._info.SetAuthor("Aekiro"); 25 | this._info.SetHelpUrl(lang(".help-url")); 26 | this._info.SetIsSingleGlobal(true); 27 | this._info.SetIsDeprecated(false); 28 | this._info.SetSupportsEffects(false); 29 | this._info.SetMustPreDraw(false); 30 | this._info.SetCanBeBundled(true); 31 | 32 | this._info.SetSupportedRuntimes(["c3"]); // c3 for stubs only! 33 | 34 | SDK.Lang.PushContext(".properties"); 35 | this._info.SetProperties([ 36 | ]); 37 | SDK.Lang.PopContext(); // .properties 38 | SDK.Lang.PopContext(); 39 | } 40 | }; 41 | PLUGIN_CLASS.Register(PLUGIN_ID, PLUGIN_CLASS); 42 | } 43 | -------------------------------------------------------------------------------- /source/aekiro_gameObject/behavior.js: -------------------------------------------------------------------------------- 1 | //Converted with C2C3AddonConverter v1.0.1.0 2 | "use strict"; 3 | 4 | { 5 | const SDK = self.SDK; 6 | const lang = self.lang; 7 | const BEHAVIOR_ID = "aekiro_gameobject"; 8 | const BEHAVIOR_VERSION = "1.822"; 9 | const BEHAVIOR_CATEGORY = "other"; 10 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_gameobject = class aekiro_gameobject extends SDK.IBehaviorBase 11 | { 12 | constructor() 13 | { 14 | super(BEHAVIOR_ID); 15 | SDK.Lang.PushContext("behaviors." + BEHAVIOR_ID.toLowerCase()); 16 | this._info.SetName(lang(".name")); 17 | this._info.SetDescription(lang(".description")); 18 | this._info.SetVersion(BEHAVIOR_VERSION); 19 | this._info.SetCategory(BEHAVIOR_CATEGORY); 20 | this._info.SetAuthor("Aekiro"); 21 | this._info.SetHelpUrl(lang(".help-url")); 22 | this._info.SetIsOnlyOneAllowed(true); 23 | 24 | this._info.SetSupportedRuntimes(["c3"]); // c3 for stubs only! 25 | 26 | SDK.Lang.PushContext(".properties"); 27 | this._info.SetProperties([ 28 | new SDK.PluginProperty("text", "name", ""), 29 | new SDK.PluginProperty("text", "parent-name", ""), 30 | new SDK.PluginProperty("check", "parent-layer", false) 31 | 32 | ]); 33 | SDK.Lang.PopContext(); // .properties 34 | SDK.Lang.PopContext(); 35 | } 36 | }; 37 | BEHAVIOR_CLASS.Register(BEHAVIOR_ID, BEHAVIOR_CLASS); 38 | } 39 | 40 | -------------------------------------------------------------------------------- /source/aekiro_checkbox/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 17 | 18 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /source/aekiro_progress/behavior.js: -------------------------------------------------------------------------------- 1 | //Converted with C2C3AddonConverter v1.0.1.1 2 | "use strict"; 3 | 4 | { 5 | const SDK = self.SDK; 6 | const lang = self.lang; 7 | const BEHAVIOR_ID = "aekiro_progress"; 8 | const BEHAVIOR_VERSION = "1.822"; 9 | const BEHAVIOR_CATEGORY = "other"; 10 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_progress = class aekiro_progress extends SDK.IBehaviorBase 11 | { 12 | constructor() 13 | { 14 | super(BEHAVIOR_ID); 15 | SDK.Lang.PushContext("behaviors." + BEHAVIOR_ID.toLowerCase()); 16 | this._info.SetName(lang(".name")); 17 | this._info.SetDescription(lang(".description")); 18 | this._info.SetVersion(BEHAVIOR_VERSION); 19 | this._info.SetCategory(BEHAVIOR_CATEGORY); 20 | this._info.SetAuthor("Aekiro"); 21 | this._info.SetHelpUrl(lang(".help-url")); 22 | this._info.SetIsOnlyOneAllowed(true); 23 | 24 | this._info.SetSupportedRuntimes(["c3"]); // c3 for stubs only! 25 | 26 | SDK.Lang.PushContext(".properties"); 27 | this._info.SetProperties([ 28 | new SDK.PluginProperty("integer", "max-value", 1), 29 | new SDK.PluginProperty("float", "value", 0), 30 | new SDK.PluginProperty("combo", "animation", {initialValue:"none", items:["none","linear","quadratic"]}) 31 | ]); 32 | SDK.Lang.PopContext(); // .properties 33 | SDK.Lang.PopContext(); 34 | } 35 | }; 36 | BEHAVIOR_CLASS.Register(BEHAVIOR_ID, BEHAVIOR_CLASS); 37 | } 38 | -------------------------------------------------------------------------------- /source/aekiro_gridView/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 15 | 16 | 17 | 19 | 20 | 21 | 22 | 23 | 25 | 26 | 27 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgressPart/behavior.js: -------------------------------------------------------------------------------- 1 | //Converted with C2C3AddonConverter v1.0.1.1 2 | "use strict"; 3 | 4 | { 5 | const BEHAVIOR_ID = "aekiro_discreteProgressPart"; 6 | const BEHAVIOR_VERSION = "1.822"; 7 | const BEHAVIOR_CATEGORY = "other"; 8 | const SDK = self.SDK; 9 | const lang = self.lang; 10 | 11 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_discreteProgressPart = class aekiro_discreteProgressPart extends SDK.IBehaviorBase 12 | { 13 | constructor() 14 | { 15 | super(BEHAVIOR_ID); 16 | SDK.Lang.PushContext("behaviors." + BEHAVIOR_ID.toLowerCase()); 17 | this._info.SetName(lang(".name")); 18 | this._info.SetDescription(lang(".description")); 19 | this._info.SetVersion(BEHAVIOR_VERSION); 20 | this._info.SetCategory(BEHAVIOR_CATEGORY); 21 | this._info.SetAuthor("Aekiro"); 22 | this._info.SetHelpUrl(lang(".help-url")); 23 | this._info.SetIsOnlyOneAllowed(true); 24 | 25 | this._info.SetSupportedRuntimes(["c3"]); // c3 for stubs only! 26 | 27 | SDK.Lang.PushContext(".properties"); 28 | this._info.SetProperties([ 29 | new SDK.PluginProperty("integer", "index", 0), 30 | new SDK.PluginProperty("text", "0-frame", ""), 31 | new SDK.PluginProperty("text", "0.5-frame", ""), 32 | new SDK.PluginProperty("text", "1-frame", "") 33 | ]); 34 | SDK.Lang.PopContext(); // .properties 35 | SDK.Lang.PopContext(); 36 | } 37 | }; 38 | BEHAVIOR_CLASS.Register(BEHAVIOR_ID, BEHAVIOR_CLASS); 39 | } 40 | -------------------------------------------------------------------------------- /source/aekiro_gridViewBind/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # proui 2 | Aekiro's ProUI for Construct 3 3 | 4 | ## Support maintanence of this project by contributing to the Construct Community fund 5 | ## [Construct Community Fund](http://opencollective.com/construct-community/contribute) 6 | 7 | Open for PRs, in particular compatability fixes for new versions of C3 8 | 9 | Tools to release with new version, update all versions and create dist-collections 10 | First search and replace old version with new version in all files except *.md (e.g. 1.820 to 1.821) 11 | then run toos/release.zsh [version number], e.g. toos/release.zsh 1.821 12 | 13 | ## Latest Release 14 | - #### [1.822](https://github.com/ConstructFund/proui/releases/download/1.822/ProUI_v1.822.zip) - fix scrollbar divide by zero 15 | ## Older Releases 16 | - #### [1.821](https://github.com/ConstructFund/proui/releases/download/1.821/ProUI_v1.821.zip) - fix audio (e.g. click) 17 | - #### [1.820](https://github.com/ConstructFund/proui/releases/download/1.820/ProUI_v1.820.zip) - r392+ compatability fix aekiro_gameobjectBehaviorBase for new SDK 18 | - #### [1.819](https://github.com/ConstructFund/proui/releases/download/1.819/ProUI_v1.819.zip) - r389+ compatability fix, also backward compatible to r388- 19 | - #### [1.818](https://github.com/ConstructFund/proui/releases/download/1.818/ProUI_v1.818.zip) - Only for r389+, r389 compatability fix 20 | - #### [1.817](https://github.com/ConstructFund/proui/releases/download/1-817/ProUI_v1.817.zip) - Last release from Aekiro 21 | -------------------------------------------------------------------------------- /source/test/plugin.js: -------------------------------------------------------------------------------- 1 | //Converted with C2C3AddonConverter v1.0.1.1 2 | "use strict"; 3 | 4 | { 5 | const PLUGIN_ID = "aekiro_proui"; 6 | const PLUGIN_VERSION = "1.3"; 7 | const PLUGIN_CATEGORY = "other"; 8 | 9 | let app = null; 10 | 11 | const PLUGIN_CLASS = SDK.Plugins.aekiro_proui = class aekiro_proui extends SDK.IPluginBase 12 | { 13 | constructor() 14 | { 15 | super(PLUGIN_ID); 16 | SDK.Lang.PushContext("plugins." + PLUGIN_ID.toLowerCase()); 17 | this._info.SetName(lang(".name")); 18 | this._info.SetDescription(lang(".description")); 19 | this._info.SetVersion(PLUGIN_VERSION); 20 | this._info.SetCategory(PLUGIN_CATEGORY); 21 | this._info.SetAuthor("Aekiro"); 22 | this._info.SetHelpUrl(lang(".help-url")); 23 | this._info.SetIsSingleGlobal(true); 24 | this._info.SetIsDeprecated(false); 25 | this._info.SetSupportsEffects(false); 26 | this._info.SetMustPreDraw(false); 27 | this._info.SetCanBeBundled(true); 28 | 29 | this._info.SetSupportedRuntimes(["c3"]); // c3 for stubs only! 30 | 31 | SDK.Lang.PushContext(".properties"); 32 | this._info.SetProperties([ 33 | ]); 34 | this._info.AddFileDependency({ 35 | filename: "lodash.custom.min.js", 36 | type: "inline-script" 37 | }); 38 | this._info.AddFileDependency({ 39 | filename: "Tween.js", 40 | type: "inline-script" 41 | }); 42 | SDK.Lang.PopContext(); // .properties 43 | SDK.Lang.PopContext(); 44 | } 45 | }; 46 | PLUGIN_CLASS.Register(PLUGIN_ID, PLUGIN_CLASS); 47 | } 48 | -------------------------------------------------------------------------------- /source/aekiro_sliderbar/c3runtime/actions.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_sliderbar.Acts = { 6 | setEnabled(state){ 7 | this.isEnabled = !!state; 8 | }, 9 | 10 | setValue(value){ 11 | this.setValue(value); 12 | }, 13 | 14 | setMaxValue(max){ 15 | if(max == this.maxValue)return; 16 | 17 | const barLength = this.getBarLength(); 18 | this.maxValue = max; 19 | this.widthStep = (this.step/(this.maxValue-this.minValue))*barLength; 20 | this.thres = this.widthStep*2/3; 21 | this.precis = this.step/(this.maxValue-this.minValue); 22 | 23 | //this.updateView(); 24 | this.setValue(this.value); 25 | }, 26 | 27 | setMinValue(min){ 28 | if(min == this.minValue)return; 29 | 30 | const barLength = this.getBarLength(); 31 | this.minValue = min; 32 | this.widthStep = (this.step/(this.maxValue-this.minValue))*barLength; 33 | this.thres = this.widthStep*2/3; 34 | this.precis = this.step/(this.maxValue-this.minValue); 35 | 36 | //this.updateView(); 37 | this.setValue(this.value); 38 | }, 39 | 40 | setStep(step){ 41 | if(step == this.step)return; 42 | 43 | this.step = step; 44 | const barLength = this.getBarLength(); 45 | this.widthStep = (this.step/(this.maxValue-this.minValue))*barLength; 46 | this.thres = this.widthStep*2/3; 47 | this.precis = this.step/(this.maxValue-this.minValue); 48 | 49 | //this.updateView(); 50 | this.setValue(this.value); 51 | } 52 | 53 | }; 54 | 55 | } 56 | -------------------------------------------------------------------------------- /source/aekiro_sliderbar/aces.json: -------------------------------------------------------------------------------- 1 | { 2 | "": { 3 | "conditions": [ 4 | { 5 | "id": "issliding0", 6 | "scriptName": "IsSliding", 7 | "highlight": false 8 | }, 9 | { 10 | "id": "onchanged", 11 | "scriptName": "OnChanged", 12 | "highlight": false, 13 | "isTrigger": "true" 14 | } 15 | ], 16 | "actions": [ 17 | { 18 | "id": "setenabled0", 19 | "scriptName": "setEnabled", 20 | "highlight": false, 21 | "params": [ 22 | {"id":"state2", "type":"combo", "items":["disabled","enabled"]} 23 | ] 24 | }, 25 | { 26 | "id": "setvalue1", 27 | "scriptName": "setValue", 28 | "highlight": false, 29 | "params": [ 30 | {"id":"value0", "type":"number"} 31 | ] 32 | }, 33 | { 34 | "id": "setmaxvalue", 35 | "scriptName": "setMaxValue", 36 | "highlight": false, 37 | "params": [ 38 | {"id":"value0", "type":"number"} 39 | ] 40 | }, 41 | { 42 | "id": "setminvalue", 43 | "scriptName": "setMinValue", 44 | "highlight": false, 45 | "params": [ 46 | {"id":"value0", "type":"number"} 47 | ] 48 | }, 49 | { 50 | "id": "setstep", 51 | "scriptName": "setStep", 52 | "highlight": false, 53 | "params": [ 54 | {"id":"value0", "type":"number"} 55 | ] 56 | } 57 | 58 | ], 59 | "expressions": [ 60 | { 61 | "id": "value0", 62 | "expressionName": "value", 63 | "scriptName": "value", 64 | "highlight": false, 65 | "returnType": "number" 66 | } 67 | ] 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /source/aekiro_gridView/behavior.js: -------------------------------------------------------------------------------- 1 | //Converted with C2C3AddonConverter v1.0.1.1 2 | "use strict"; 3 | 4 | { 5 | const SDK = self.SDK; 6 | const lang = self.lang; 7 | const BEHAVIOR_ID = "aekiro_gridView"; 8 | const BEHAVIOR_VERSION = "1.822"; 9 | const BEHAVIOR_CATEGORY = "other"; 10 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_gridView = class aekiro_gridView extends SDK.IBehaviorBase 11 | { 12 | constructor() 13 | { 14 | super(BEHAVIOR_ID); 15 | SDK.Lang.PushContext("behaviors." + BEHAVIOR_ID.toLowerCase()); 16 | this._info.SetName(lang(".name")); 17 | this._info.SetDescription(lang(".description")); 18 | this._info.SetVersion(BEHAVIOR_VERSION); 19 | this._info.SetCategory(BEHAVIOR_CATEGORY); 20 | this._info.SetAuthor("Aekiro"); 21 | this._info.SetHelpUrl(lang(".help-url")); 22 | this._info.SetIsOnlyOneAllowed(true); 23 | 24 | this._info.SetSupportedRuntimes(["c3"]); 25 | 26 | SDK.Lang.PushContext(".properties"); 27 | this._info.SetProperties([ 28 | new SDK.PluginProperty("text", "item-name", ""), 29 | new SDK.PluginProperty("integer", "max-columns", 0), 30 | new SDK.PluginProperty("integer", "max-rows", 0), 31 | new SDK.PluginProperty("integer", "vertical-spacing", 0), 32 | new SDK.PluginProperty("integer", "horizontal-spacing", 0), 33 | new SDK.PluginProperty("integer", "vertical-padding", 0), 34 | new SDK.PluginProperty("integer", "horizontal-padding", 0) 35 | ]); 36 | SDK.Lang.PopContext(); // .properties 37 | SDK.Lang.PopContext(); 38 | } 39 | }; 40 | BEHAVIOR_CLASS.Register(BEHAVIOR_ID, BEHAVIOR_CLASS); 41 | } 42 | -------------------------------------------------------------------------------- /source/aekiro_translation/c3runtime/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Plugins.aekiro_translation.Instance = class aekiro_translationSingleGlobalInstance extends C3.SDKInstanceBase 6 | { 7 | constructor(inst, properties) 8 | { 9 | super(inst); 10 | 11 | this.data = {}; 12 | } 13 | 14 | setData(data){ 15 | if(typeof data === 'string'){ 16 | try{ 17 | this.data = JSON.parse(data); 18 | }catch(e){ 19 | console.error("ProUI-Translation: Invalid JSON."); 20 | } 21 | }else{ 22 | this.data = data; 23 | } 24 | } 25 | 26 | translateAll (lang){ 27 | if(!this.data[lang])return; 28 | 29 | const addonManager = this.GetRuntime()._addonManager ? this.GetRuntime()._addonManager : this.GetRuntime()._pluginManager; 30 | var aekiro_translationBehaviorBase = addonManager._behaviorsByCtor.get(C3.Behaviors.aekiro_translationB); 31 | var insts = aekiro_translationBehaviorBase.GetInstances(); 32 | 33 | var key,aekiro_translation,value; 34 | var l = insts.length; 35 | for (var i = 0; i < l; i++){ 36 | aekiro_translation = insts[i].GetUnsavedDataMap().aekiro_translation; 37 | key = aekiro_translation.key; 38 | value = self["_"].get(this.data[lang],key); 39 | if(value!=undefined){ 40 | aekiro_translation.updateView(value); 41 | } 42 | } 43 | } 44 | 45 | Release() 46 | { 47 | super.Release(); 48 | } 49 | 50 | SaveToJson() 51 | { 52 | return { 53 | // data to be saved for savegames 54 | }; 55 | } 56 | 57 | LoadFromJson(o) 58 | { 59 | // load state for savegames 60 | } 61 | }; 62 | } 63 | -------------------------------------------------------------------------------- /source/aekiro_radiogroup/lang/en-US.json: -------------------------------------------------------------------------------- 1 | { 2 | "languageTag": "en-US", 3 | "fileDescription": "Strings for Radio Group.", 4 | "text": { 5 | "behaviors": { 6 | "aekiro_radiogroup": { 7 | "name": "Radio Group", 8 | "description": "Makes a sprite object behave like a radio group (to be used with a radio button).", 9 | "help-url": "https://later.com", 10 | "properties": { 11 | "value": { 12 | "name": "Value", 13 | "desc": "The initial value of the radio group." 14 | } 15 | }, 16 | "aceCategories": { 17 | }, 18 | "conditions": { 19 | "isenabled0": { 20 | "list-name": "Is Enabled", 21 | "display-text": "{my} is enabled", 22 | "description": "True if the radio group is currently enabled." 23 | } 24 | }, 25 | "actions": { 26 | "setvalue0": { 27 | "list-name": "Set", 28 | "display-text": "Set to [i]{0}[/i]", 29 | "description": "Set the value of the radio group.", 30 | "params": { 31 | "value0": { "name":"value", "desc":"The new value of the model"} 32 | } 33 | }, 34 | "setenabled1": { 35 | "list-name": "Set enabled", 36 | "display-text": "Set all the radio buttons to [i]{0}[/i]", 37 | "description": "Enable/Disable all the radiobuttons button.", 38 | "params": { 39 | "state2": { "name":"State", "desc":"The state of all the radio buttons of this radio group.", "items":{"disabled":"Disabled","enabled":"Enabled"}} 40 | } 41 | } 42 | }, 43 | "expressions": { 44 | "value0": { 45 | "description": "Get the value of the radio group.", 46 | "translated-name": "value" 47 | } 48 | } 49 | } 50 | } 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /source/aekiro_sliderbar/behavior.js: -------------------------------------------------------------------------------- 1 | //Converted with C2C3AddonConverter v1.0.1.1 2 | "use strict"; 3 | 4 | { 5 | const SDK = self.SDK; 6 | const lang = self.lang; 7 | const BEHAVIOR_ID = "aekiro_sliderbar"; 8 | const BEHAVIOR_VERSION = "1.822"; 9 | const BEHAVIOR_CATEGORY = "other"; 10 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_sliderbar = class aekiro_sliderbar extends SDK.IBehaviorBase 11 | { 12 | constructor() 13 | { 14 | super(BEHAVIOR_ID); 15 | SDK.Lang.PushContext("behaviors." + BEHAVIOR_ID.toLowerCase()); 16 | this._info.SetName(lang(".name")); 17 | this._info.SetDescription(lang(".description")); 18 | this._info.SetVersion(BEHAVIOR_VERSION); 19 | this._info.SetCategory(BEHAVIOR_CATEGORY); 20 | this._info.SetAuthor("Aekiro"); 21 | this._info.SetHelpUrl(lang(".help-url")); 22 | this._info.SetIsOnlyOneAllowed(true); 23 | 24 | this._info.SetSupportedRuntimes(["c3"]); // c3 for stubs only! 25 | 26 | SDK.Lang.PushContext(".properties"); 27 | this._info.SetProperties([ 28 | new SDK.PluginProperty("combo", "enabled", {initialValue:"yes", items:["no","yes"]}), 29 | new SDK.PluginProperty("float", "value", 0), 30 | new SDK.PluginProperty("float", "minimum", 0), 31 | new SDK.PluginProperty("float", "maximum", 100), 32 | new SDK.PluginProperty("float", "step", 1), 33 | new SDK.PluginProperty("float", "padding", 0), 34 | new SDK.PluginProperty("text", "valueChanged-sound", ""), 35 | new SDK.PluginProperty("combo", "type", {initialValue:"horizontal", items:["horizontal","vertical"]}) 36 | ]); 37 | SDK.Lang.PopContext(); // .properties 38 | SDK.Lang.PopContext(); 39 | } 40 | }; 41 | BEHAVIOR_CLASS.Register(BEHAVIOR_ID, BEHAVIOR_CLASS); 42 | } 43 | -------------------------------------------------------------------------------- /source/test/c3runtime/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | C3.Behaviors.MyCompany_MyBehavior.Instance = class MyBehaviorInstance extends C3.SDKBehaviorInstanceBase 5 | { 6 | constructor(behInst, properties) 7 | { 8 | super(behInst); 9 | 10 | this._myProperty = 0; 11 | 12 | if (properties) 13 | { 14 | this._myProperty = properties[0]; 15 | } 16 | 17 | // Opt-in to getting calls to Tick() 18 | //this._StartTicking(); 19 | var inst = this.GetObjectInstance(); 20 | var wi = inst.GetWorldInfo(); 21 | 22 | 23 | 24 | var SetX_old = wi.SetX; 25 | //this.inst.set_bbox_changed_old = this.inst.set_bbox_changed; 26 | wi.SetX = function(x){ 27 | SetX_old.apply(this,arguments); 28 | console.log("az"); 29 | }; 30 | //console.log(); 31 | } 32 | 33 | Release() 34 | { 35 | super.Release(); 36 | } 37 | 38 | SaveToJson() 39 | { 40 | return { 41 | // data to store for savegames 42 | }; 43 | } 44 | 45 | LoadFromJson(o) 46 | { 47 | // load state for savegames 48 | } 49 | 50 | _OnDown(a, b, c) 51 | { 52 | console.log("_OnInputDown"+a+"***"+b+"***"+c); 53 | } 54 | 55 | _OnMove(x, y) 56 | { 57 | //console.log("_OnMove"+x+"***"+y); 58 | 59 | } 60 | 61 | _OnUp() { 62 | console.log("_OnUp"); 63 | } 64 | 65 | _OnMouseWheel(a) { 66 | this._triggerDir = 0 > a.deltaY ? 1 : 0; 67 | console.log(a); 68 | 69 | } 70 | /* 71 | Tick() 72 | { 73 | const dt = this._runtime.GetDt(this._inst); 74 | const wi = this._inst.GetWorldInfo(); 75 | 76 | // ... code to run every tick for this behavior ... 77 | } 78 | */ 79 | }; 80 | } -------------------------------------------------------------------------------- /source/aekiro_proui/plugin.js: -------------------------------------------------------------------------------- 1 | //Converted with C2C3AddonConverter v1.0.1.1 2 | "use strict"; 3 | 4 | { 5 | const SDK = self.SDK; 6 | const C3 = self.C3; 7 | const lang = self.lang; 8 | const PLUGIN_ID = "aekiro_proui"; 9 | const PLUGIN_VERSION = "1.822"; 10 | const PLUGIN_CATEGORY = "other"; 11 | 12 | let app = null; 13 | 14 | const PLUGIN_CLASS = SDK.Plugins.aekiro_proui = class aekiro_proui extends SDK.IPluginBase 15 | { 16 | constructor() 17 | { 18 | super(PLUGIN_ID); 19 | SDK.Lang.PushContext("plugins." + PLUGIN_ID.toLowerCase()); 20 | this._info.SetName(lang(".name")); 21 | this._info.SetDescription(lang(".description")); 22 | this._info.SetVersion(PLUGIN_VERSION); 23 | this._info.SetCategory(PLUGIN_CATEGORY); 24 | this._info.SetAuthor("Aekiro"); 25 | this._info.SetHelpUrl(lang(".help-url")); 26 | this._info.SetIsSingleGlobal(true); 27 | this._info.SetIsDeprecated(false); 28 | this._info.SetSupportsEffects(false); 29 | this._info.SetMustPreDraw(false); 30 | this._info.SetCanBeBundled(true); 31 | 32 | this._info.SetSupportedRuntimes(["c3"]); // c3 for stubs only! 33 | 34 | SDK.Lang.PushContext(".properties"); 35 | this._info.SetProperties([ 36 | new SDK.PluginProperty("combo", "stopClickPropagation", {initialValue:"yes", items:["no","yes"]}), 37 | ]); 38 | this._info.AddFileDependency({ 39 | filename: "lodash.custom.min.js", 40 | type: "external-runtime-script" 41 | }); 42 | this._info.AddFileDependency({ 43 | filename: "Tween.js", 44 | type: "external-runtime-script" 45 | }); 46 | SDK.Lang.PopContext(); // .properties 47 | SDK.Lang.PopContext(); 48 | } 49 | }; 50 | PLUGIN_CLASS.Register(PLUGIN_ID, PLUGIN_CLASS); 51 | } 52 | -------------------------------------------------------------------------------- /source/aekiro_scrollView/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 17 | 18 | 19 | 20 | 21 | 23 | 24 | 25 | 27 | 28 | 29 | 31 | 32 | 33 | 34 | 35 | -------------------------------------------------------------------------------- /source/aekiro_radiogroup/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 17 | 18 | 19 | 20 | 23 | 24 | 25 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /source/test/behavior.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | //////////////////////////////////////////// 5 | // The behavior ID is how Construct identifies different kinds of behaviors. 6 | // *** NEVER CHANGE THE BEHAVIOR ID! *** 7 | // If you change the behavior ID after releasing the behavior, Construct will think it is an entirely different 8 | // behavior and assume it is incompatible with the old one, and YOU WILL BREAK ALL EXISTING PROJECTS USING THE BEHAVIOR. 9 | // Only the behavior name is displayed in the editor, so to rename your behavior change the name but NOT the ID. 10 | // If you want to completely replace a behavior, make it deprecated (it will be hidden but old projects keep working), 11 | // and create an entirely new behavior with a different behavior ID. 12 | const BEHAVIOR_ID = "MyCompany_MyBehavior"; 13 | const BEHAVIOR_VERSION = "1.3"; 14 | const BEHAVIOR_CATEGORY = "general"; 15 | 16 | const BEHAVIOR_CLASS = SDK.Behaviors.MyCompany_MyBehavior = class MyCustomBehavior extends SDK.IBehaviorBase 17 | { 18 | constructor() 19 | { 20 | super(BEHAVIOR_ID); 21 | 22 | SDK.Lang.PushContext("behaviors." + BEHAVIOR_ID.toLowerCase()); 23 | 24 | this._info.SetName(lang(".name")); 25 | this._info.SetDescription(lang(".description")); 26 | this._info.SetVersion(BEHAVIOR_VERSION); 27 | this._info.SetCategory(BEHAVIOR_CATEGORY); 28 | this._info.SetAuthor("Scirra"); 29 | this._info.SetHelpUrl(lang(".help-url")); 30 | this._info.SetIsOnlyOneAllowed(true); 31 | 32 | // Support both C2 and C3 runtimes 33 | this._info.SetSupportedRuntimes(["c2", "c3"]); 34 | 35 | SDK.Lang.PushContext(".properties"); 36 | 37 | this._info.SetProperties([ 38 | new SDK.PluginProperty("integer", "test-property", 0) 39 | ]); 40 | 41 | SDK.Lang.PopContext(); // .properties 42 | 43 | SDK.Lang.PopContext(); 44 | } 45 | }; 46 | 47 | BEHAVIOR_CLASS.Register(BEHAVIOR_ID, BEHAVIOR_CLASS); 48 | } -------------------------------------------------------------------------------- /source/aekiro_button/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 18 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /source/aekiro_remoteSprite_dom/plugin.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | 4 | const PLUGIN_ID = "aekiro_remoteSprite"; 5 | const PLUGIN_VERSION = "1.1"; 6 | const PLUGIN_CATEGORY = "general"; 7 | 8 | const PLUGIN_CLASS = SDK.Plugins.aekiro_remoteSprite = class RemoteSpriteIPlugin extends SDK.IPluginBase 9 | { 10 | constructor() 11 | { 12 | super(PLUGIN_ID); 13 | 14 | SDK.Lang.PushContext("plugins." + PLUGIN_ID.toLowerCase()); 15 | 16 | this._info.SetName(lang(".name")); 17 | this._info.SetDescription(lang(".description")); 18 | this._info.SetVersion(PLUGIN_VERSION); 19 | this._info.SetCategory(PLUGIN_CATEGORY); 20 | this._info.SetAuthor("Mikal"); 21 | this._info.SetHelpUrl(lang(".help-url")); 22 | this._info.SetPluginType("world"); // mark as world plugin, which can draw 23 | this._info.SetIsResizable(true); // allow to be resized 24 | this._info.SetIsRotatable(true); // allow to be rotated 25 | this._info.SetHasImage(true); 26 | this._info.SetSupportsEffects(true); // allow effects 27 | this._info.SetMustPreDraw(true); 28 | this._info.AddCommonPositionACEs(); 29 | this._info.AddCommonAngleACEs(); 30 | this._info.AddCommonAppearanceACEs(); 31 | this._info.AddCommonZOrderACEs(); 32 | this._info.SetIsTiled(false); 33 | this._info.SetIsSingleGlobal(false); 34 | this._info.SetIsDeprecated(false); 35 | this._info.SetCanBeBundled(true); 36 | 37 | this._info.SetDOMSideScripts(["c3runtime/domSide.js"]); 38 | 39 | this._info.SetSupportedRuntimes(["c3"]); 40 | 41 | SDK.Lang.PushContext(".properties"); 42 | 43 | this._info.SetProperties([ 44 | ]); 45 | SDK.Lang.PopContext(); //.properties 46 | SDK.Lang.PopContext(); 47 | } 48 | }; 49 | 50 | PLUGIN_CLASS.Register(PLUGIN_ID, PLUGIN_CLASS); 51 | } -------------------------------------------------------------------------------- /source/aekiro_gridViewBind/lang/en-US.json: -------------------------------------------------------------------------------- 1 | { 2 | "languageTag": "en-US", 3 | "fileDescription": "Strings for GridView Data Bind.", 4 | "text": { 5 | "behaviors": { 6 | "aekiro_gridviewbind": { 7 | "name": "GridView Data Bind", 8 | "description": "Map a GridView sub item to a key in an item of the data array.", 9 | "help-url": "https://later.com", 10 | "properties": { 11 | "binding-key": { 12 | "name": "Binding Key", 13 | "desc": "The key in the array's item to which this UI is mapped." 14 | } 15 | }, 16 | "aceCategories": { 17 | }, 18 | "conditions": { 19 | "isindex0": { 20 | "list-name": "Compare Index", 21 | "display-text": "Index = {0}", 22 | "description": "Compare the Index.", 23 | "params": { 24 | "index0": { "name":"Index", "desc":"Index"} 25 | } 26 | }, 27 | "isvalue1": { 28 | "list-name": "Compare Value", 29 | "display-text": "Value = {0}", 30 | "description": "Compare the Value.", 31 | "params": { 32 | "value0": { "name":"Value", "desc":"Value"} 33 | } 34 | }, 35 | "onchanged": { 36 | "list-name": "On Changed", 37 | "display-text": "On {my} Changed", 38 | "description": "Triggered when data has changed." 39 | }, 40 | "onGridViewRender": { 41 | "list-name": "On Grid View Render", 42 | "display-text": "On {my} Grid View Render", 43 | "description": "Triggered when the Grid View is built." 44 | } 45 | 46 | }, 47 | "actions": { 48 | }, 49 | "expressions": { 50 | "index0": { 51 | "description": "Get the index of the corresponding array item.", 52 | "translated-name": "index" 53 | }, 54 | "key": { 55 | "description": "Get the key of the corresponding item.", 56 | "translated-name": "key" 57 | }, 58 | "get": { 59 | "description": "Get the value.", 60 | "translated-name": "get", 61 | "params": { 62 | "key": { "name":"key", "desc":"key"} 63 | } 64 | } 65 | } 66 | } 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /source/aekiro_remoteSprite/c3runtime/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | const C3 = self.C3; 4 | const tempQuad = C3.New(C3.Quad); 5 | 6 | C3.Plugins.aekiro_remoteSprite.Instance = class RemoteSpriteInstance extends C3.SDKWorldInstanceBase 7 | { 8 | constructor(inst, properties) 9 | { 10 | super(inst); 11 | 12 | this.texture = null; 13 | this.isImageLoaded = false; 14 | this.newImageLoaded = false; 15 | this.image = new Image(); 16 | 17 | } 18 | 19 | Release() 20 | { 21 | super.Release(); 22 | } 23 | 24 | Draw(renderer) { 25 | //return; 26 | if(!this.isImageLoaded)return; 27 | 28 | if(this.newImageLoaded){ 29 | if(this.texture) 30 | { 31 | renderer.DeleteTexture(this.texture); 32 | } 33 | this.texture = renderer.CreateDynamicTexture(this.image.width,this.image.height,{mipMap:false}); 34 | this.newImageLoaded = false; 35 | renderer.UpdateTexture(this.image, this.texture, {}); 36 | } 37 | 38 | renderer.SetTexture(this.texture); 39 | 40 | const wi = this.GetWorldInfo(); 41 | const quad = wi.GetBoundingQuad(); 42 | const rcTex = new C3.Rect(0,0,1,1); 43 | 44 | if (this._runtime.IsPixelRoundingEnabled()) 45 | { 46 | const ox = Math.round(wi.GetX()) - wi.GetX(); 47 | const oy = Math.round(wi.GetY()) - wi.GetY(); 48 | tempQuad.copy(quad); 49 | tempQuad.offset(ox, oy); 50 | renderer.Quad3(tempQuad, rcTex); 51 | } 52 | else 53 | { 54 | renderer.Quad3(quad, rcTex); 55 | } 56 | } 57 | 58 | 59 | 60 | SaveToJson() 61 | { 62 | return { 63 | // data to be saved for savegames 64 | }; 65 | } 66 | 67 | LoadFromJson(o) 68 | { 69 | // load state for savegames 70 | } 71 | 72 | }; 73 | } -------------------------------------------------------------------------------- /source/aekiro_translation/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 17 | 18 | 25 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /source/aekiro_translationB/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 17 | 18 | 25 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /source/aekiro_progress/lang/en-US.json: -------------------------------------------------------------------------------- 1 | { 2 | "languageTag": "en-US", 3 | "fileDescription": "Strings for Progress.", 4 | "text": { 5 | "behaviors": { 6 | "aekiro_progress": { 7 | "name": "Progress", 8 | "description": "Makes a sprite/9-patch/tiled background object behave like a progress bar.", 9 | "help-url": "https://later.com", 10 | "properties": { 11 | "max-value": { 12 | "name": "Max value", 13 | "desc": "The max value of the progress." 14 | }, 15 | "value": { 16 | "name": "Value", 17 | "desc": "The value of the progress." 18 | }, 19 | "animation": { 20 | "name": "Animation", 21 | "desc": "Tweening function of the progress animation", 22 | "items": { 23 | "none":"None", 24 | "linear":"Linear", 25 | "quadratic":"Quadratic" 26 | } 27 | }, 28 | "type": { 29 | "name": "Type", 30 | "desc": "The type of the progress.", 31 | "items": { 32 | "horizontal":"Horizontal", 33 | "vertical":"Vertical" 34 | } 35 | } 36 | }, 37 | "aceCategories": { 38 | }, 39 | "conditions": { 40 | }, 41 | "actions": { 42 | "setvalue0": { 43 | "list-name": "Set", 44 | "display-text": "Set {my} to [i]{0}[/i] with {1} animation", 45 | "description": "Set the value of the progress bar.", 46 | "params": { 47 | "value0": { "name":"value", "desc":"The new value of the progress bar"}, 48 | "animation": { "name":"Animation", "desc":"The way the progress bar animates when its value changes.", "items":{"none":"None","linear":"Linear","quadratic":"Quadratic"}} 49 | } 50 | }, 51 | "setMaxValue": { 52 | "list-name": "Set Max Value", 53 | "display-text": "Set {my} Max Value to [i]{0}[/i]", 54 | "description": "Set the max value of the progress bar.", 55 | "params": { 56 | "max": { "name":"value", "desc":"The new max value of the progress bar"} 57 | } 58 | } 59 | }, 60 | "expressions": { 61 | "value0": { 62 | "description": "Get the value of the progress bar.", 63 | "translated-name": "value" 64 | } 65 | } 66 | } 67 | } 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /source/aekiro_remoteSprite/plugin.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | const SDK = self.SDK; 4 | const lang = self.lang; 5 | const PLUGIN_ID = "aekiro_remoteSprite"; 6 | const PLUGIN_VERSION = "1.822"; 7 | const PLUGIN_CATEGORY = "general"; 8 | 9 | let app = null; 10 | 11 | const PLUGIN_CLASS = SDK.Plugins.aekiro_remoteSprite = class RemoteSpriteIPlugin extends SDK.IPluginBase 12 | { 13 | constructor() 14 | { 15 | super(PLUGIN_ID); 16 | 17 | SDK.Lang.PushContext("plugins." + PLUGIN_ID.toLowerCase()); 18 | 19 | this._info.SetName(lang(".name")); 20 | this._info.SetDescription(lang(".description")); 21 | this._info.SetVersion(PLUGIN_VERSION); 22 | this._info.SetCategory(PLUGIN_CATEGORY); 23 | this._info.SetAuthor("Aekiro"); 24 | this._info.SetHelpUrl(lang(".help-url")); 25 | this._info.SetPluginType("world"); // mark as world plugin, which can draw 26 | this._info.SetIsResizable(true); // allow to be resized 27 | this._info.SetIsRotatable(true); // allow to be rotated 28 | this._info.SetHasImage(true); 29 | this._info.SetSupportsEffects(true); // allow effects 30 | this._info.SetMustPreDraw(true); 31 | this._info.AddCommonPositionACEs(); 32 | this._info.AddCommonAngleACEs(); 33 | this._info.AddCommonAppearanceACEs(); 34 | this._info.AddCommonZOrderACEs(); 35 | this._info.SetIsTiled(false); 36 | this._info.SetIsSingleGlobal(false); 37 | this._info.SetIsDeprecated(false); 38 | this._info.SetCanBeBundled(true); 39 | 40 | 41 | this._info.SetSupportedRuntimes(["c3"]); 42 | 43 | SDK.Lang.PushContext(".properties"); 44 | 45 | this._info.SetProperties([ 46 | new SDK.PluginProperty("integer", "resolution", 4), 47 | new SDK.PluginProperty("color", "color", [0, 0.63, 0.9]) 48 | 49 | ]); 50 | SDK.Lang.PopContext(); //.properties 51 | SDK.Lang.PopContext(); 52 | } 53 | }; 54 | 55 | PLUGIN_CLASS.Register(PLUGIN_ID, PLUGIN_CLASS); 56 | } -------------------------------------------------------------------------------- /source/aekiro_scrollView/behavior.js: -------------------------------------------------------------------------------- 1 | //Converted with C2C3AddonConverter v1.0.1.1 2 | "use strict"; 3 | 4 | { 5 | const SDK = self.SDK; 6 | const lang = self.lang; 7 | const BEHAVIOR_ID = "aekiro_scrollView"; 8 | const BEHAVIOR_VERSION = "1.822"; 9 | const BEHAVIOR_CATEGORY = "other"; 10 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_scrollView = class aekiro_scrollView extends SDK.IBehaviorBase 11 | { 12 | constructor() 13 | { 14 | super(BEHAVIOR_ID); 15 | SDK.Lang.PushContext("behaviors." + BEHAVIOR_ID.toLowerCase()); 16 | this._info.SetName(lang(".name")); 17 | this._info.SetDescription(lang(".description")); 18 | this._info.SetVersion(BEHAVIOR_VERSION); 19 | this._info.SetCategory(BEHAVIOR_CATEGORY); 20 | this._info.SetAuthor("Aekiro"); 21 | this._info.SetHelpUrl(lang(".help-url")); 22 | this._info.SetIsOnlyOneAllowed(true); 23 | 24 | this._info.SetSupportedRuntimes(["c3"]); 25 | 26 | SDK.Lang.PushContext(".properties"); 27 | this._info.SetProperties([ 28 | new SDK.PluginProperty("combo", "is-enabled", {initialValue:"enabled", items:["disabled","enabled"]}), 29 | new SDK.PluginProperty("combo", "direction", {initialValue:"vertical", items:["vertical","horizontal","both"]}), 30 | new SDK.PluginProperty("combo", "swipe-scroll", {initialValue:"enabled", items:["disabled","enabled"]}), 31 | new SDK.PluginProperty("combo", "mousewheel-scroll", {initialValue:"enabled", items:["disabled","enabled"]}), 32 | new SDK.PluginProperty("combo", "inertia", {initialValue:"enabled", items:["disabled","enabled"]}), 33 | new SDK.PluginProperty("combo", "movement-type", {initialValue:"elastic", items:["clamped","elastic"]}), 34 | new SDK.PluginProperty("text", "content-name", ""), 35 | new SDK.PluginProperty("text", "vertical-slider-name", ""), 36 | new SDK.PluginProperty("text", "vertical-scrollbar-name", ""), 37 | new SDK.PluginProperty("text", "horizontal-slider-name", ""), 38 | new SDK.PluginProperty("text", "horizontal-scrollbar-name", ""), 39 | new SDK.PluginProperty("float", "mouseWheelScrollSpeed", 1) 40 | ]); 41 | SDK.Lang.PopContext(); // .properties 42 | SDK.Lang.PopContext(); 43 | } 44 | }; 45 | BEHAVIOR_CLASS.Register(BEHAVIOR_ID, BEHAVIOR_CLASS); 46 | } 47 | -------------------------------------------------------------------------------- /source/aekiro_dialog/behavior.js: -------------------------------------------------------------------------------- 1 | //Converted with C2C3AddonConverter v1.0.1.1 2 | "use strict"; 3 | 4 | 5 | { 6 | const SDK = self.SDK; 7 | const lang = self.lang; 8 | 9 | const BEHAVIOR_ID = "aekiro_dialog"; 10 | const BEHAVIOR_VERSION = "1.822"; 11 | const BEHAVIOR_CATEGORY = "other"; 12 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_dialog = class aekiro_dialog extends SDK.IBehaviorBase 13 | { 14 | constructor() 15 | { 16 | super(BEHAVIOR_ID); 17 | SDK.Lang.PushContext("behaviors." + BEHAVIOR_ID.toLowerCase()); 18 | this._info.SetName(lang(".name")); 19 | this._info.SetDescription(lang(".description")); 20 | this._info.SetVersion(BEHAVIOR_VERSION); 21 | this._info.SetCategory(BEHAVIOR_CATEGORY); 22 | this._info.SetAuthor("Aekiro"); 23 | this._info.SetHelpUrl(lang(".help-url")); 24 | this._info.SetIsOnlyOneAllowed(true); 25 | 26 | this._info.SetSupportedRuntimes(["c3"]); 27 | 28 | SDK.Lang.PushContext(".properties"); 29 | this._info.SetProperties([ 30 | new SDK.PluginProperty("combo", "open-animation", {initialValue:"none", items:["none","slidedown","slideup","slideleft","slideright","scaledown","scaleup"]}), 31 | new SDK.PluginProperty("combo", "open-animation-tweenning", {initialValue:"quadratic out", items:["linear","quadratic out","quartic out","exponential out","circular out","back out","elastic out","bounce out"]}), 32 | new SDK.PluginProperty("integer", "open-animation-duration", 300), 33 | new SDK.PluginProperty("text", "open-sound", ""), 34 | new SDK.PluginProperty("combo", "close-animation", {initialValue:"none", items:["none","reverse","slidedown","slideup","slideleft","slideright","scaledown","scaleup"]}), 35 | new SDK.PluginProperty("combo", "close-animation-tweenning", {initialValue:"quadratic out", items:["linear","quadratic out","quartic out","exponential out","circular out","back out","elastic out","bounce out"]}), 36 | new SDK.PluginProperty("integer", "close-animation-duration", 300), 37 | new SDK.PluginProperty("text", "close-sound", ""), 38 | new SDK.PluginProperty("text", "close-button-name", ""), 39 | new SDK.PluginProperty("combo", "is-modal", {initialValue:"no", items:["no","yes"]}) 40 | ]); 41 | SDK.Lang.PopContext(); // .properties 42 | SDK.Lang.PopContext(); 43 | } 44 | }; 45 | BEHAVIOR_CLASS.Register(BEHAVIOR_ID, BEHAVIOR_CLASS); 46 | } 47 | -------------------------------------------------------------------------------- /source/aekiro_translationB/c3runtime/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_translationB.Instance = class aekiro_translationBInstance extends C3.SDKBehaviorInstanceBase 6 | { 7 | constructor(behInst, properties) 8 | { 9 | super(behInst); 10 | this.key = properties[0]; 11 | 12 | this.GetObjectInstance().GetUnsavedDataMap().aekiro_translation = this; 13 | this.isInstanceOfSprite = this.GetObjectInstance().GetPlugin().constructor == C3.Plugins.Sprite; 14 | } 15 | 16 | PostCreate(){ 17 | this.sdkInstance = this.GetObjectInstance().GetSdkInstance(); 18 | this.sdkInstance_acts = this.GetObjectInstance().GetPlugin().constructor.Acts; 19 | this.sdkInstance_exps = this.GetObjectInstance().GetPlugin().constructor.Exps; 20 | } 21 | 22 | updateView(v){ 23 | if(this.isInstanceOfSprite){ 24 | this.setFrameAnim(v); 25 | }else{ 26 | this.sdkInstance.CallAction(this.sdkInstance_acts.SetText,v); 27 | } 28 | } 29 | 30 | 31 | parseFrameAnim(frameAnim,defaults){ 32 | //return; 33 | if(frameAnim==undefined)frameAnim=""; 34 | 35 | frameAnim = frameAnim.split('/'); 36 | var frame,anim; 37 | if(isNaN(parseInt(frameAnim[0]))){ 38 | anim = frameAnim[0]; 39 | frame = parseInt(frameAnim[1]) 40 | }else{ 41 | anim = frameAnim[1]; 42 | frame = parseInt(frameAnim[0]); 43 | } 44 | if(isNaN(frame)){ 45 | frame = defaults?defaults["f"]:undefined; 46 | } 47 | if(!isNaN(anim) || !anim){ 48 | anim = defaults?defaults["a"]:undefined; 49 | } 50 | var res = { 51 | "f": frame, 52 | "a": anim 53 | }; 54 | return res; 55 | 56 | } 57 | 58 | setFrameAnim(v){ 59 | this.frameAnim = this.parseFrameAnim(v); 60 | var anim = this.frameAnim["a"]; 61 | var frame = this.frameAnim["f"]; 62 | //console.log(anim+"**"+frame); 63 | if(anim!=undefined){ 64 | this.sdkInstance.CallAction(this.sdkInstance_acts.SetAnim,anim,0); 65 | } 66 | if(frame!=undefined){ 67 | this.sdkInstance.CallAction(this.sdkInstance_acts.SetAnimFrame,frame,0); 68 | } 69 | } 70 | 71 | Release() 72 | { 73 | super.Release(); 74 | } 75 | 76 | SaveToJson() 77 | { 78 | return { 79 | "key" : this.key 80 | }; 81 | } 82 | 83 | LoadFromJson(o) 84 | { 85 | this.key = o["key"]; 86 | } 87 | }; 88 | } 89 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgressPart/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /source/aekiro_proui/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 13 | 16 | 24 | 25 | 26 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /source/aekiro_remoteSprite/lang/en-US.json: -------------------------------------------------------------------------------- 1 | { 2 | "languageTag": "en-US", 3 | "fileDescription": "Strings for RemoteSprite Plugin", 4 | "text": { 5 | "plugins": { 6 | "aekiro_remotesprite": { 7 | "name": "Remote Sprite", 8 | "description": "Remote Sprite", 9 | "help-url": "https://later.com", 10 | "properties": {}, 11 | "aceCategories": { 12 | "load": "Load", 13 | "appearance": "Appearance" 14 | }, 15 | "conditions": {}, 16 | "actions": { 17 | "loadfromurl": { 18 | "list-name": "Load From URL", 19 | "display-text": "Load From URL {0} with size = {1}", 20 | "description": "Load From URL.", 21 | "params": { 22 | "url": { 23 | "name": "URL", 24 | "desc": "URL" 25 | }, 26 | "size": { 27 | "name": "Size", 28 | "desc": "Whether to resize the sprite to the size of the loaded image, or stretch it to the current size.", 29 | "items": { 30 | "resize-to-image-size": "Resize to image size", 31 | "keep-current-size": "Keep current size" 32 | } 33 | } 34 | } 35 | }, 36 | "set-blend-mode": { 37 | "list-name": "Set blend mode", 38 | "display-text": "Set blend mode to [i]{0}[/i]", 39 | "description": "Set the background blend mode for this object.", 40 | "params": { 41 | "blend-mode": { 42 | "name": "Blend mode", 43 | "desc": "Choose the new blend mode for this object.", 44 | "items": { 45 | "normal": "Normal", 46 | "additive": "Additive", 47 | "xor": "XOR", 48 | "copy": "Copy", 49 | "destination-over": "Destination over", 50 | "source-in": "Source in", 51 | "destination-in": "Destination in", 52 | "source-out": "Source out", 53 | "destination-out": "Destination out", 54 | "source-atop": "Source atop", 55 | "destination-atop": "Destination atop" 56 | } 57 | } 58 | } 59 | } 60 | }, 61 | "expressions": {} 62 | } 63 | } 64 | } 65 | } -------------------------------------------------------------------------------- /source/aekiro_remoteSprite_dom/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | const PLUGIN_CLASS = SDK.Plugins.aekiro_remoteSprite; 4 | 5 | PLUGIN_CLASS.Instance = class RemoteSpriteIInstance extends SDK.IWorldInstanceBase 6 | { 7 | constructor(sdkType, inst) 8 | { 9 | super(sdkType, inst); 10 | } 11 | 12 | Release() 13 | {} 14 | 15 | OnCreate() 16 | {} 17 | 18 | OnPlacedInLayout() 19 | { 20 | // Initialise to size of image 21 | this.OnMakeOriginalSize(); 22 | } 23 | 24 | Draw(iRenderer, iDrawParams) 25 | { 26 | const texture = this.GetTexture(); 27 | 28 | if (texture) 29 | { 30 | this._inst.ApplyBlendMode(iRenderer); 31 | iRenderer.SetTexture(texture); 32 | iRenderer.SetColor(this._inst.GetColor()); 33 | iRenderer.Quad3(this._inst.GetQuad(), this.GetTexRect()); 34 | } 35 | else 36 | { 37 | // render placeholder 38 | iRenderer.SetAlphaBlend(); 39 | iRenderer.SetColorFillMode(); 40 | 41 | if (this.HadTextureError()) iRenderer.SetColorRgba(0.25, 0, 0, 0.25); 42 | else iRenderer.SetColorRgba(0, 0, 0.1, 0.1); 43 | 44 | iRenderer.Quad(this._inst.GetQuad()); 45 | } 46 | } 47 | 48 | GetTexture() 49 | { 50 | const image = this.GetObjectType().GetImage(); 51 | return super.GetTexture(image); 52 | } 53 | 54 | IsOriginalSizeKnown() 55 | { 56 | return true; 57 | } 58 | 59 | GetOriginalWidth() 60 | { 61 | return this.GetObjectType().GetImage().GetWidth(); 62 | } 63 | 64 | GetOriginalHeight() 65 | { 66 | return this.GetObjectType().GetImage().GetHeight(); 67 | } 68 | 69 | OnMakeOriginalSize() 70 | { 71 | const image = this.GetObjectType().GetImage(); 72 | this._inst.SetSize(image.GetWidth(), image.GetHeight()); 73 | } 74 | 75 | HasDoubleTapHandler() 76 | { 77 | return true; 78 | } 79 | 80 | OnDoubleTap() 81 | { 82 | this.GetObjectType().EditImage(); 83 | } 84 | 85 | OnPropertyChanged(id, value) 86 | {} 87 | 88 | LoadC2Property(name, valueString) 89 | { 90 | return false; // not handled 91 | } 92 | }; 93 | } -------------------------------------------------------------------------------- /source/aekiro_remoteSprite/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | { 3 | const SDK = self.SDK; 4 | 5 | const PLUGIN_CLASS = SDK.Plugins.aekiro_remoteSprite; 6 | 7 | PLUGIN_CLASS.Instance = class RemoteSpriteIInstance extends SDK.IWorldInstanceBase 8 | { 9 | constructor(sdkType, inst) 10 | { 11 | super(sdkType, inst); 12 | } 13 | 14 | Release() 15 | {} 16 | 17 | OnCreate() 18 | {} 19 | 20 | OnPlacedInLayout() 21 | { 22 | // Initialise to size of image 23 | this.OnMakeOriginalSize(); 24 | } 25 | 26 | Draw(iRenderer, iDrawParams) 27 | { 28 | const texture = this.GetTexture(); 29 | 30 | if (texture) 31 | { 32 | this._inst.ApplyBlendMode(iRenderer); 33 | iRenderer.SetTexture(texture); 34 | iRenderer.SetColor(this._inst.GetColor()); 35 | iRenderer.Quad3(this._inst.GetQuad(), this.GetTexRect()); 36 | } 37 | else 38 | { 39 | // render placeholder 40 | iRenderer.SetAlphaBlend(); 41 | iRenderer.SetColorFillMode(); 42 | 43 | if (this.HadTextureError()) iRenderer.SetColorRgba(0.25, 0, 0, 0.25); 44 | else iRenderer.SetColorRgba(0, 0, 0.1, 0.1); 45 | 46 | iRenderer.Quad(this._inst.GetQuad()); 47 | } 48 | } 49 | 50 | GetTexture() 51 | { 52 | const image = this.GetObjectType().GetImage(); 53 | return super.GetTexture(image); 54 | } 55 | 56 | IsOriginalSizeKnown() 57 | { 58 | return true; 59 | } 60 | 61 | GetOriginalWidth() 62 | { 63 | return this.GetObjectType().GetImage().GetWidth(); 64 | } 65 | 66 | GetOriginalHeight() 67 | { 68 | return this.GetObjectType().GetImage().GetHeight(); 69 | } 70 | 71 | OnMakeOriginalSize() 72 | { 73 | const image = this.GetObjectType().GetImage(); 74 | this._inst.SetSize(image.GetWidth(), image.GetHeight()); 75 | } 76 | 77 | HasDoubleTapHandler() 78 | { 79 | return true; 80 | } 81 | 82 | OnDoubleTap() 83 | { 84 | this.GetObjectType().EditImage(); 85 | } 86 | 87 | OnPropertyChanged(id, value) 88 | {} 89 | 90 | LoadC2Property(name, valueString) 91 | { 92 | return false; // not handled 93 | } 94 | }; 95 | } -------------------------------------------------------------------------------- /source/aekiro_radiobutton/aces.json: -------------------------------------------------------------------------------- 1 | { 2 | "": { 3 | "conditions": [ 4 | { 5 | "id": "onmouseenter0", 6 | "scriptName": "OnMouseEnter", 7 | "isTrigger": "true", 8 | "highlight": false 9 | }, 10 | { 11 | "id": "onmouseleave1", 12 | "scriptName": "OnMouseLeave", 13 | "isTrigger": "true", 14 | "highlight": false 15 | }, 16 | { 17 | "id": "onclicked3", 18 | "scriptName": "OnClicked", 19 | "isTrigger": "true", 20 | "highlight": false 21 | }, 22 | { 23 | "id": "onfocused", 24 | "scriptName": "OnFocused", 25 | "isTrigger": "true", 26 | "highlight": false 27 | }, 28 | { 29 | "id": "onunfocused", 30 | "scriptName": "OnUnFocused", 31 | "isTrigger": "true", 32 | "highlight": false 33 | }, 34 | { 35 | "id": "isfocused", 36 | "scriptName": "IsFocused", 37 | "highlight": false 38 | }, 39 | { 40 | "id": "isclickable", 41 | "scriptName": "IsClickable", 42 | "highlight": false 43 | } 44 | ], 45 | "actions": [ 46 | { 47 | "id": "setenabled0", 48 | "scriptName": "setEnabled", 49 | "highlight": false, 50 | "params": [ 51 | {"id":"state2", "type":"combo", "items":["disabled","enabled"]} 52 | ] 53 | }, 54 | { 55 | "id": "setignoreinput", 56 | "scriptName": "SetIgnoreInput", 57 | "highlight": false, 58 | "params": [ 59 | {"id":"state", "type":"combo", "items":["no","yes","auto"]} 60 | ] 61 | }, 62 | { 63 | "id": "setClickSoundVolume", 64 | "scriptName": "SetClickSoundVolume", 65 | "highlight": false, 66 | "params": [ 67 | {"id":"volume", "type":"number"} 68 | ] 69 | }, 70 | { 71 | "id": "setHoverSoundVolume", 72 | "scriptName": "SetHoverSoundVolume", 73 | "highlight": false, 74 | "params": [ 75 | {"id":"volume", "type":"number"} 76 | ] 77 | }, 78 | { 79 | "id": "setName", 80 | "scriptName": "SetName", 81 | "highlight": false, 82 | "params": [ 83 | {"id":"name", "type":"string"} 84 | ] 85 | }, 86 | { 87 | "id": "simulateclick", 88 | "scriptName": "SimulateClick" 89 | }, 90 | { 91 | "id": "setFocused", 92 | "scriptName": "SetFocused", 93 | "highlight": false, 94 | "params": [ 95 | {"id":"state", "type":"combo", "items":["no","yes"]} 96 | ] 97 | } 98 | ], 99 | "expressions": [ 100 | { 101 | "id": "name0", 102 | "expressionName": "name", 103 | "scriptName": "name", 104 | "highlight": false, 105 | "returnType": "string" 106 | } 107 | ] 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /source/aekiro_sliderbar/c3runtime/behavior.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_sliderbar = class aekiro_sliderbarBehavior extends C3.SDKBehaviorBase 6 | { 7 | constructor(a) { 8 | super(a); 9 | const b = this._runtime.Dispatcher(); 10 | this._disposables = new C3.CompositeDisposable( 11 | C3.Disposable.From(b, "pointerdown", (a)=>this._OnPointerDown(a.data)), 12 | C3.Disposable.From(b, "pointermove", (a)=>this._OnPointerMove(a.data)), 13 | C3.Disposable.From(b, "pointerup", (a)=>this._OnPointerUp(a.data, !1)), 14 | C3.Disposable.From(b, "pointercancel", (a)=>this._OnPointerUp(a.data, !0))) 15 | } 16 | Release() { 17 | this._disposables.Release(), 18 | this._disposables = null, 19 | super.Release() 20 | } 21 | _OnPointerDown(a) { 22 | this._OnInputDown(a["pointerId"].toString(), a["clientX"] - this._runtime.GetCanvasClientX(), a["clientY"] - this._runtime.GetCanvasClientY()) 23 | } 24 | _OnPointerMove(a) { 25 | this._OnInputMove(a["pointerId"].toString(), a["clientX"] - this._runtime.GetCanvasClientX(), a["clientY"] - this._runtime.GetCanvasClientY()) 26 | } 27 | _OnPointerUp(a) { 28 | this._OnInputUp(a["pointerId"].toString(), a["clientX"] - this._runtime.GetCanvasClientX(), a["clientY"] - this._runtime.GetCanvasClientY()) 29 | } 30 | 31 | async _OnInputDown(source, b, c) { 32 | const insts = this.GetInstances(); 33 | for (const inst of insts) { 34 | const beh = inst.GetBehaviorSdkInstanceFromCtor(C3.Behaviors.aekiro_sliderbar); 35 | const wi = inst.GetWorldInfo(), 36 | layer = wi.GetLayer(), 37 | [x,y] = layer.CanvasCssToLayer(b, c, wi.GetTotalZElevation()); 38 | if(beh.OnAnyInputDown) 39 | await beh.OnAnyInputDown(x,y,source); 40 | } 41 | } 42 | _OnInputMove(source, b, c) { 43 | const insts = this.GetInstances(); 44 | for (const inst of insts) { 45 | const beh = inst.GetBehaviorSdkInstanceFromCtor(C3.Behaviors.aekiro_sliderbar); 46 | /*if (!d.IsEnabled() || !d.IsDragging() || d.IsDragging() && d.GetDragSource() !== a) 47 | continue;*/ 48 | const wi = inst.GetWorldInfo() 49 | , layer = wi.GetLayer() 50 | , [x,y] = layer.CanvasCssToLayer(b, c, wi.GetTotalZElevation()); 51 | if(beh.OnAnyInputMove) 52 | beh.OnAnyInputMove(x, y,source); 53 | } 54 | } 55 | async _OnInputUp(a,b,c) { 56 | const insts = this.GetInstances(); 57 | for (const inst of insts) { 58 | const beh = inst.GetBehaviorSdkInstanceFromCtor(C3.Behaviors.aekiro_sliderbar); 59 | const wi = inst.GetWorldInfo(), 60 | layer = wi.GetLayer(), 61 | [x,y] = layer.CanvasCssToLayer(b, c, wi.GetTotalZElevation()); 62 | 63 | if(beh.OnAnyInputUp) 64 | await beh.OnAnyInputUp(x,y); 65 | } 66 | } 67 | }; 68 | } 69 | -------------------------------------------------------------------------------- /source/aekiro_radiobutton/c3runtime/behavior.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_radiobutton = class aekiro_radiobuttonBehavior extends C3.SDKBehaviorBase 6 | { 7 | constructor(a) { 8 | super(a); 9 | const b = this._runtime.Dispatcher(); 10 | this._disposables = new C3.CompositeDisposable( 11 | C3.Disposable.From(b, "pointerdown", (a)=>this._OnPointerDown(a.data)), 12 | C3.Disposable.From(b, "pointermove", (a)=>this._OnPointerMove(a.data)), 13 | C3.Disposable.From(b, "pointerup", (a)=>this._OnPointerUp(a.data, !1)), 14 | C3.Disposable.From(b, "pointercancel", (a)=>this._OnPointerUp(a.data, !0))); 15 | } 16 | Release() { 17 | this._disposables.Release(), 18 | this._disposables = null, 19 | super.Release() 20 | } 21 | _OnPointerDown(a) { 22 | this._OnInputDown(a["pointerId"].toString(), a["clientX"] - this._runtime.GetCanvasClientX(), a["clientY"] - this._runtime.GetCanvasClientY()) 23 | } 24 | _OnPointerMove(a) { 25 | this._OnInputMove(a["pointerId"].toString(), a["clientX"] - this._runtime.GetCanvasClientX(), a["clientY"] - this._runtime.GetCanvasClientY()) 26 | } 27 | _OnPointerUp(a) { 28 | this._OnInputUp(a["pointerId"].toString(), a["clientX"] - this._runtime.GetCanvasClientX(), a["clientY"] - this._runtime.GetCanvasClientY()) 29 | } 30 | async _OnInputDown(source, b, c) { 31 | const insts = this.GetInstances(); 32 | for (const inst of insts) { 33 | const beh = inst.GetBehaviorSdkInstanceFromCtor(C3.Behaviors.aekiro_radiobutton); 34 | const wi = inst.GetWorldInfo(), 35 | layer = wi.GetLayer(), 36 | [x,y] = layer.CanvasCssToLayer(b, c, wi.GetTotalZElevation()); 37 | if(beh.OnAnyInputDown) 38 | await beh.OnAnyInputDown(x,y,source); 39 | } 40 | } 41 | _OnInputMove(source, b, c) { 42 | const insts = this.GetInstances(); 43 | for (const inst of insts) { 44 | const beh = inst.GetBehaviorSdkInstanceFromCtor(C3.Behaviors.aekiro_radiobutton); 45 | /*if (!d.IsEnabled() || !d.IsDragging() || d.IsDragging() && d.GetDragSource() !== a) 46 | continue;*/ 47 | const wi = inst.GetWorldInfo() 48 | , layer = wi.GetLayer() 49 | , [x,y] = layer.CanvasCssToLayer(b, c, wi.GetTotalZElevation()); 50 | if(beh.OnAnyInputMove) 51 | beh.OnAnyInputMove(x, y,source); 52 | } 53 | } 54 | async _OnInputUp(a,b,c) { 55 | const insts = this.GetInstances(); 56 | for (const inst of insts) { 57 | const beh = inst.GetBehaviorSdkInstanceFromCtor(C3.Behaviors.aekiro_radiobutton); 58 | const wi = inst.GetWorldInfo(), 59 | layer = wi.GetLayer(), 60 | [x,y] = layer.CanvasCssToLayer(b, c, wi.GetTotalZElevation()); 61 | 62 | if(beh.OnAnyInputUp) 63 | await beh.OnAnyInputUp(x,y); 64 | } 65 | } 66 | }; 67 | } 68 | -------------------------------------------------------------------------------- /source/aekiro_checkbox/c3runtime/behavior.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_checkbox = class aekiro_checkboxBehavior extends C3.SDKBehaviorBase 6 | { 7 | constructor(a) 8 | { 9 | super(a); 10 | const b = this._runtime.Dispatcher(); 11 | this._disposables = new C3.CompositeDisposable( 12 | C3.Disposable.From(b, "pointerdown", (a)=>this._OnPointerDown(a.data)), 13 | C3.Disposable.From(b, "pointermove", (a)=>this._OnPointerMove(a.data)), 14 | C3.Disposable.From(b, "pointerup", (a)=>this._OnPointerUp(a.data, !1)), 15 | C3.Disposable.From(b, "pointercancel", (a)=>this._OnPointerUp(a.data, !0))) 16 | } 17 | 18 | Release() 19 | { 20 | this._disposables.Release(), 21 | this._disposables = null, 22 | super.Release() 23 | } 24 | _OnPointerDown(a) { 25 | this._OnInputDown(a["pointerId"].toString(), a["clientX"] - this._runtime.GetCanvasClientX(), a["clientY"] - this._runtime.GetCanvasClientY()) 26 | } 27 | _OnPointerMove(a) { 28 | this._OnInputMove(a["pointerId"].toString(), a["clientX"] - this._runtime.GetCanvasClientX(), a["clientY"] - this._runtime.GetCanvasClientY()) 29 | } 30 | _OnPointerUp(a) { 31 | this._OnInputUp(a["pointerId"].toString(), a["clientX"] - this._runtime.GetCanvasClientX(), a["clientY"] - this._runtime.GetCanvasClientY()) 32 | } 33 | async _OnInputDown(source, b, c) { 34 | const insts = this.GetInstances(); 35 | for (const inst of insts) { 36 | const beh = inst.GetBehaviorSdkInstanceFromCtor(C3.Behaviors.aekiro_checkbox); 37 | const wi = inst.GetWorldInfo(), 38 | layer = wi.GetLayer(), 39 | [x,y] = layer.CanvasCssToLayer(b, c, wi.GetTotalZElevation()); 40 | if(beh.OnAnyInputDown) 41 | await beh.OnAnyInputDown(x,y,source); 42 | } 43 | } 44 | _OnInputMove(source, b, c) { 45 | const insts = this.GetInstances(); 46 | for (const inst of insts) { 47 | const beh = inst.GetBehaviorSdkInstanceFromCtor(C3.Behaviors.aekiro_checkbox); 48 | /*if (!d.IsEnabled() || !d.IsDragging() || d.IsDragging() && d.GetDragSource() !== a) 49 | continue;*/ 50 | const wi = inst.GetWorldInfo() 51 | , layer = wi.GetLayer() 52 | , [x,y] = layer.CanvasCssToLayer(b, c, wi.GetTotalZElevation()); 53 | if(beh.OnAnyInputMove) 54 | beh.OnAnyInputMove(x, y,source); 55 | } 56 | } 57 | async _OnInputUp(a,b,c) { 58 | const insts = this.GetInstances(); 59 | for (const inst of insts) { 60 | const beh = inst.GetBehaviorSdkInstanceFromCtor(C3.Behaviors.aekiro_checkbox); 61 | const wi = inst.GetWorldInfo(), 62 | layer = wi.GetLayer(), 63 | [x,y] = layer.CanvasCssToLayer(b, c, wi.GetTotalZElevation()); 64 | 65 | if(beh.OnAnyInputUp) 66 | await beh.OnAnyInputUp(x,y); 67 | } 68 | } 69 | }; 70 | } 71 | -------------------------------------------------------------------------------- /source/aekiro_proui/lang/en-US.json: -------------------------------------------------------------------------------- 1 | { 2 | "languageTag": "en-US", 3 | "fileDescription": "Strings for ProUI.", 4 | "text": { 5 | "plugins": { 6 | "aekiro_proui": { 7 | "name": "ProUI", 8 | "description": "Must be added to any project using the ProUI behaviors.", 9 | "help-url": "https://later.com", 10 | "properties": { 11 | "stopClickPropagation": { 12 | "name": "Stop Click Propagation", 13 | "desc": "If yes clicks only trigger the top most button.", 14 | "items": { 15 | "no":"No", 16 | "yes":"Yes" 17 | } 18 | } 19 | }, 20 | "aceCategories": { 21 | "proui": "ProUI" 22 | }, 23 | "conditions": { 24 | "isdialogopened0": { 25 | "list-name": "Is Any Dialog Opened", 26 | "display-text": "Is Any Dialog Opened", 27 | "description": "Is Any Dialog Opened." 28 | }, 29 | "onanybuttonclicked1": { 30 | "list-name": "On Any Button Clicked", 31 | "display-text": "On Any Button Clicked", 32 | "description": "On Any Button Clicked." 33 | } 34 | }, 35 | "actions": { 36 | "init": { 37 | "list-name": "Initialise", 38 | "display-text": "Initialise", 39 | "description": "Initialise." 40 | }, 41 | "setinputignored0": { 42 | "list-name": "Ignore All Input", 43 | "display-text": "Ignore All Input to [i]{0}[/i]", 44 | "description": "Enable/Disable input reception.", 45 | "params": { 46 | "input_state2": { "name":"Input state", "desc":"The state of the inputs.", "items":{"yes":"Yes","no":"No"}} 47 | } 48 | }, 49 | "clonegameobject": { 50 | "list-name": "Clone Game Object", 51 | "display-text": "{my} Clone Game Object from [i]{0}[/i] on layer [b]{1}[/b] at (x = [b]{2}[/b] , y = [b]{3}[/b]) with name = {4} and parent name = {5}", 52 | "description": "Clone Game Object.", 53 | "params": { 54 | "json": { "name":"JSON", "desc":"JSON."}, 55 | "layer0": { "name":"Layer", "desc":"The layer name or number to create the instance on."}, 56 | "x": { "name":"X", "desc":"X in global coordinates"}, 57 | "y": { "name":"Y", "desc":"Y in global coordinates"}, 58 | "name": { "name":"Name", "desc":"If left empty a name will be given automatically."}, 59 | "parentName": { "name":"Parent Name", "desc":"Leave empty if no parent."} 60 | } 61 | }, 62 | "setvolume": { 63 | "list-name": "Set UI Volume", 64 | "display-text": "{my} Set Volume to [i]{0}[/i]", 65 | "description": "Set the volume of the audio emitted by ProUI UI elements.", 66 | "params": { 67 | "volume": { "name":"Volume", "desc":"Volume"} 68 | } 69 | } 70 | }, 71 | "expressions": { 72 | } 73 | } 74 | } 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /source/aekiro_dialog/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 15 | 16 | 17 | 22 | 23 | 31 | 36 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /source/aekiro_button/behavior.js: -------------------------------------------------------------------------------- 1 | //Converted with C2C3AddonConverter v1.0.1.1 2 | "use strict"; 3 | 4 | { 5 | const SDK = self.SDK; 6 | const lang = self.lang; 7 | 8 | const BEHAVIOR_ID = "aekiro_button"; 9 | const BEHAVIOR_VERSION = "1.822"; 10 | const BEHAVIOR_CATEGORY = "other"; 11 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_button = class aekiro_button extends SDK.IBehaviorBase 12 | { 13 | constructor() 14 | { 15 | super(BEHAVIOR_ID); 16 | SDK.Lang.PushContext("behaviors." + BEHAVIOR_ID.toLowerCase()); 17 | this._info.SetName(lang(".name")); 18 | this._info.SetDescription(lang(".description")); 19 | this._info.SetVersion(BEHAVIOR_VERSION); 20 | this._info.SetCategory(BEHAVIOR_CATEGORY); 21 | this._info.SetAuthor("Aekiro"); 22 | this._info.SetHelpUrl(lang(".help-url")); 23 | this._info.SetIsOnlyOneAllowed(true); 24 | 25 | this._info.SetSupportedRuntimes(["c3"]); // c3 for stubs only! 26 | 27 | SDK.Lang.PushContext(".properties"); 28 | this._info.SetProperties([ 29 | new SDK.PluginProperty("combo", "isenabled", {initialValue:"true", items:["false","true"]}), 30 | new SDK.PluginProperty("text", "normal-frame", ""), 31 | new SDK.PluginProperty("text", "hover-frame", ""), 32 | new SDK.PluginProperty("text", "clicked-frame", ""), 33 | new SDK.PluginProperty("text", "disabled-frame", ""), 34 | new SDK.PluginProperty("text", "focus-frame", ""), 35 | new SDK.PluginProperty("text", "click-sound", ""), 36 | new SDK.PluginProperty("text", "hover-sound", ""), 37 | new SDK.PluginProperty("text", "focus-sound", ""), 38 | new SDK.PluginProperty("combo", "click-animation", {initialValue:"none", items:["none","scale quadratic","scale elastic","down","up","left","right"]}), 39 | new SDK.PluginProperty("combo", "hover-animation", {initialValue:"none", items:["none","scale quadratic","scale elastic","down","up","left","right"]}), 40 | new SDK.PluginProperty("combo", "focus-animation", {initialValue:"none", items:["none","scale quadratic","scale elastic","down","up","left","right"]}), 41 | new SDK.PluginProperty("text", "normal-color", ""), 42 | new SDK.PluginProperty("text", "hover-color", ""), 43 | new SDK.PluginProperty("text", "clicked-color", ""), 44 | new SDK.PluginProperty("text", "disabled-color", ""), 45 | new SDK.PluginProperty("text", "focus-color", ""), 46 | 47 | new SDK.PluginProperty("float", "click-animation-factor", 0.1), 48 | new SDK.PluginProperty("float", "hover-animation-factor", 0.1), 49 | new SDK.PluginProperty("float", "focus-animation-factor", 0.1), 50 | 51 | new SDK.PluginProperty("combo", "ignore-input", {initialValue:"auto", items:["no","yes","auto"]}) 52 | ]); 53 | SDK.Lang.PopContext(); // .properties 54 | SDK.Lang.PopContext(); 55 | } 56 | }; 57 | BEHAVIOR_CLASS.Register(BEHAVIOR_ID, BEHAVIOR_CLASS); 58 | } 59 | -------------------------------------------------------------------------------- /source/test/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 10 | 19 | 28 | 29 | 33 | 34 | 35 | 37 | 38 | -------------------------------------------------------------------------------- /source/aekiro_gridView/lang/en-US.json: -------------------------------------------------------------------------------- 1 | { 2 | "languageTag": "en-US", 3 | "fileDescription": "Strings for Grid View.", 4 | "text": { 5 | "behaviors": { 6 | "aekiro_gridview": { 7 | "name": "Grid View", 8 | "description": "Layout items in a grid.", 9 | "help-url": "https://later.com", 10 | "properties": { 11 | "item-name": { 12 | "name": "Item Name", 13 | "desc": "The name of the grid item." 14 | }, 15 | "max-columns": { 16 | "name": "Max Columns", 17 | "desc": "Max number of columns. -1 if unlimited." 18 | }, 19 | "max-rows": { 20 | "name": "Max Rows", 21 | "desc": "Max number of rows. -1 if unlimited." 22 | }, 23 | "vertical-spacing": { 24 | "name": "Vertical spacing", 25 | "desc": "Space between the columns." 26 | }, 27 | "horizontal-spacing": { 28 | "name": "Horizontal spacing", 29 | "desc": "Space between the rows." 30 | }, 31 | "vertical-padding": { 32 | "name": "Vertical padding", 33 | "desc": "Space after and before the right and left edges of the grid." 34 | }, 35 | "horizontal-padding": { 36 | "name": "Horizontal padding", 37 | "desc": "Space after and before the top and bottom edges of the grid." 38 | } 39 | }, 40 | "aceCategories": { 41 | }, 42 | "conditions": { 43 | "onrender0": { 44 | "list-name": "On Render", 45 | "display-text": "On Render", 46 | "description": "Triggered when the grid view is built." 47 | } 48 | }, 49 | "actions": { 50 | "setdatabyjsonstring0": { 51 | "list-name": "Set Data From Json String", 52 | "display-text": "Set {my} data to [b]{0}[/b] with root key = {1}", 53 | "description": "SetDataByJsonString.", 54 | "params": { 55 | "data0": { "name":"Data", "desc":"Data."}, 56 | "root": { "name":"Root key", "desc":"Root key."} 57 | } 58 | }, 59 | "setdatabyjsonobject": { 60 | "list-name": "Set Data From Json Object", 61 | "display-text": "Set {my} data to [b]{0}[/b] with root key = {1}", 62 | "description": "SetDataByJsonObject.", 63 | "params": { 64 | "data0": { "name":"Data", "desc":"Data."}, 65 | "root": { "name":"Root key", "desc":"Root key."} 66 | } 67 | }, 68 | "clear1": { 69 | "list-name": "Clear", 70 | "display-text": "Clear", 71 | "description": "Clear the grid." 72 | } 73 | }, 74 | "expressions": { 75 | "at0": { 76 | "description": "Get the value at a path.", 77 | "translated-name": "at", 78 | "params": { 79 | "path0": { "name":"Path", "desc":"Path"} 80 | } 81 | }, 82 | "count1": { 83 | "description": "Get the number of keys in the data array.", 84 | "translated-name": "count" 85 | } 86 | } 87 | } 88 | } 89 | } 90 | } 91 | -------------------------------------------------------------------------------- /source/aekiro_radiobutton/behavior.js: -------------------------------------------------------------------------------- 1 | //Converted with C2C3AddonConverter v1.0.1.1 2 | "use strict"; 3 | 4 | { 5 | const SDK = self.SDK; 6 | const lang = self.lang; 7 | const BEHAVIOR_ID = "aekiro_radiobutton"; 8 | const BEHAVIOR_VERSION = "1.822"; 9 | const BEHAVIOR_CATEGORY = "other"; 10 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_radiobutton = class aekiro_radiobutton extends SDK.IBehaviorBase 11 | { 12 | constructor() 13 | { 14 | super(BEHAVIOR_ID); 15 | SDK.Lang.PushContext("behaviors." + BEHAVIOR_ID.toLowerCase()); 16 | this._info.SetName(lang(".name")); 17 | this._info.SetDescription(lang(".description")); 18 | this._info.SetVersion(BEHAVIOR_VERSION); 19 | this._info.SetCategory(BEHAVIOR_CATEGORY); 20 | this._info.SetAuthor("Aekiro"); 21 | this._info.SetHelpUrl(lang(".help-url")); 22 | this._info.SetIsOnlyOneAllowed(true); 23 | 24 | this._info.SetSupportedRuntimes(["c3"]); // c3 for stubs only! 25 | 26 | SDK.Lang.PushContext(".properties"); 27 | this._info.SetProperties([ 28 | new SDK.PluginProperty("combo", "isenabled", {initialValue:"true", items:["false","true"]}), 29 | new SDK.PluginProperty("text", "name", ""), 30 | 31 | new SDK.PluginProperty("text", "normal-frames", ""), 32 | new SDK.PluginProperty("text", "hover-frames", ""), 33 | new SDK.PluginProperty("text", "disabled-frames", ""), 34 | new SDK.PluginProperty("text", "focus-frame", ""), 35 | 36 | new SDK.PluginProperty("text", "click-sound", ""), 37 | new SDK.PluginProperty("text", "hover-sound", ""), 38 | new SDK.PluginProperty("text", "focus-sound", ""), 39 | 40 | new SDK.PluginProperty("combo", "click-animation", {initialValue:"none", items:["none","scale quadratic","scale elastic","down","up","left","right"]}), 41 | new SDK.PluginProperty("combo", "hover-animation", {initialValue:"none", items:["none","scale quadratic","scale elastic","down","up","left","right"]}), 42 | new SDK.PluginProperty("combo", "focus-animation", {initialValue:"none", items:["none","scale quadratic","scale elastic","down","up","left","right"]}), 43 | 44 | new SDK.PluginProperty("text", "normal-color", ""), 45 | new SDK.PluginProperty("text", "hover-color", ""), 46 | new SDK.PluginProperty("text", "clicked-color", ""), 47 | new SDK.PluginProperty("text", "disabled-color", ""), 48 | new SDK.PluginProperty("text", "focus-color", ""), 49 | 50 | new SDK.PluginProperty("float", "click-animation-factor", 0.1), 51 | new SDK.PluginProperty("float", "hover-animation-factor", 0.1), 52 | new SDK.PluginProperty("float", "focus-animation-factor", 0.1), 53 | 54 | new SDK.PluginProperty("combo", "ignore-input", {initialValue:"auto", items:["no","yes","auto"]}) 55 | ]); 56 | SDK.Lang.PopContext(); // .properties 57 | SDK.Lang.PopContext(); 58 | } 59 | }; 60 | BEHAVIOR_CLASS.Register(BEHAVIOR_ID, BEHAVIOR_CLASS); 61 | } 62 | -------------------------------------------------------------------------------- /source/aekiro_remoteSprite_dom/icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | 8 | 9 | 10 | 19 | 28 | 29 | 33 | 34 | 35 | 37 | -------------------------------------------------------------------------------- /source/aekiro_checkbox/behavior.js: -------------------------------------------------------------------------------- 1 | //Converted with C2C3AddonConverter v1.0.1.1 2 | "use strict"; 3 | 4 | { 5 | const SDK = self.SDK; 6 | const lang = self.lang; 7 | const BEHAVIOR_ID = "aekiro_checkbox"; 8 | const BEHAVIOR_VERSION = "1.822"; 9 | const BEHAVIOR_CATEGORY = "other"; 10 | const BEHAVIOR_CLASS = SDK.Behaviors.aekiro_checkbox = class aekiro_checkbox extends SDK.IBehaviorBase 11 | { 12 | constructor() 13 | { 14 | super(BEHAVIOR_ID); 15 | SDK.Lang.PushContext("behaviors." + BEHAVIOR_ID.toLowerCase()); 16 | this._info.SetName(lang(".name")); 17 | this._info.SetDescription(lang(".description")); 18 | this._info.SetVersion(BEHAVIOR_VERSION); 19 | this._info.SetCategory(BEHAVIOR_CATEGORY); 20 | this._info.SetAuthor("Aekiro"); 21 | this._info.SetHelpUrl(lang(".help-url")); 22 | this._info.SetIsOnlyOneAllowed(true); 23 | 24 | this._info.SetSupportedRuntimes(["c3"]); // c3 for stubs only! 25 | 26 | SDK.Lang.PushContext(".properties"); 27 | this._info.SetProperties([ 28 | new SDK.PluginProperty("combo", "isenabled", {initialValue:"true", items:["false","true"]}), 29 | new SDK.PluginProperty("combo", "ischecked", {initialValue:"true", items:["false","true"]}), 30 | new SDK.PluginProperty("text", "normal-frames", ""), 31 | new SDK.PluginProperty("text", "hover-frames", ""), 32 | new SDK.PluginProperty("text", "disabled-frames", ""), 33 | new SDK.PluginProperty("text", "focus-frame", ""), 34 | new SDK.PluginProperty("text", "click-sound", ""), 35 | new SDK.PluginProperty("text", "hover-sound", ""), 36 | new SDK.PluginProperty("text", "focus-sound", ""), 37 | new SDK.PluginProperty("combo", "click-animation", {initialValue:"none", items:["none","scale quadratic","scale elastic","down","up","left","right"]}), 38 | new SDK.PluginProperty("combo", "hover-animation", {initialValue:"none", items:["none","scale quadratic","scale elastic","down","up","left","right"]}), 39 | new SDK.PluginProperty("combo", "focus-animation", {initialValue:"none", items:["none","scale quadratic","scale elastic","down","up","left","right"]}), 40 | new SDK.PluginProperty("text", "normal-color", ""), 41 | new SDK.PluginProperty("text", "hover-color", ""), 42 | new SDK.PluginProperty("text", "clicked-color", ""), 43 | new SDK.PluginProperty("text", "disabled-color", ""), 44 | new SDK.PluginProperty("text", "focus-color", ""), 45 | 46 | new SDK.PluginProperty("float", "click-animation-factor", 0.1), 47 | new SDK.PluginProperty("float", "hover-animation-factor", 0.1), 48 | new SDK.PluginProperty("float", "focus-animation-factor", 0.1), 49 | 50 | new SDK.PluginProperty("combo", "ignore-input", {initialValue:"auto", items:["no","yes","auto"]}) 51 | ]); 52 | SDK.Lang.PopContext(); // .properties 53 | SDK.Lang.PopContext(); 54 | } 55 | }; 56 | BEHAVIOR_CLASS.Register(BEHAVIOR_ID, BEHAVIOR_CLASS); 57 | } 58 | -------------------------------------------------------------------------------- /source/aekiro_discreteProgress/c3runtime/instance.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | { 4 | const C3 = self.C3; 5 | C3.Behaviors.aekiro_discreteProgress.Instance = class aekiro_discreteProgressInstance extends C3.SDKBehaviorInstanceBase { 6 | constructor(behInst, properties) 7 | { 8 | super(behInst); 9 | //properties 10 | this.value = properties[0]; 11 | 12 | //************************** 13 | this.GetObjectInstance().GetUnsavedDataMap().aekiro_discreteProgress = this; 14 | this.parts = []; 15 | this.goManager = globalThis.aekiro_goManager; 16 | 17 | this.goManager.eventManager.on("childrenRegistred",() => this.init(),{"once":true}); 18 | } 19 | 20 | 21 | PostCreate(){ 22 | this.aekiro_gameobject = this.GetObjectInstance().GetUnsavedDataMap().aekiro_gameobject; 23 | if(this.aekiro_gameobject){ 24 | this.aekiro_gameobject.eventManager.on("cloned",() => this.init(),{"once":true}); 25 | } 26 | } 27 | 28 | init(){ 29 | if(!this.aekiro_gameobject){ 30 | return; 31 | } 32 | var children = this.aekiro_gameobject.children; 33 | this.max = children.length; 34 | var b; 35 | var l = this.max; 36 | for (var i = 0; i < l; i++) { 37 | b = children[i].GetUnsavedDataMap().aekiro_discreteProgressPart; 38 | this.parts[b.index] = children[i]; 39 | b.PostCreate(); 40 | } 41 | 42 | this.value = C3.clamp(this.value,0,this.max); 43 | this.updateView(); 44 | //console.log(this.parts); 45 | } 46 | 47 | isValueValid(value){ 48 | if(value == null || isNaN(value) || value === ""){ 49 | return false; 50 | } 51 | return true; 52 | } 53 | 54 | setValue(value){ 55 | if(!this.isValueValid(value)){ 56 | return false; 57 | } 58 | value = C3.clamp(value,0,this.max); 59 | if(this.value!=value){ 60 | this.value = value; 61 | this.updateView(); 62 | } 63 | } 64 | 65 | updateView(){ 66 | var b; 67 | for (var i = 0; i < this.max; i++) { 68 | b = this.parts[i].GetUnsavedDataMap().aekiro_discreteProgressPart; 69 | b.setFrameAnim(0); 70 | } 71 | 72 | var integer = Math.floor(this.value); 73 | var remainder = this.value % 1; 74 | 75 | for (var i = 0; i < integer; i++) { 76 | b = this.parts[i].GetUnsavedDataMap().aekiro_discreteProgressPart; 77 | b.setFrameAnim(2); 78 | } 79 | 80 | if(i < this.max && remainder >= 0.5){ 81 | b = this.parts[i].GetUnsavedDataMap().aekiro_discreteProgressPart; 82 | b.setFrameAnim(1); 83 | } 84 | } 85 | 86 | 87 | 88 | 89 | 90 | Release() 91 | { 92 | super.Release(); 93 | } 94 | 95 | SaveToJson() 96 | { 97 | return { 98 | "value": this.value 99 | }; 100 | } 101 | 102 | LoadFromJson(o) 103 | { 104 | this.value = o["value"]; 105 | } 106 | }; 107 | 108 | 109 | 110 | } 111 | --------------------------------------------------------------------------------