├── .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 |
16 |
--------------------------------------------------------------------------------
/source/aekiro_radiobutton/icon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
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 |
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 |
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 |
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 |
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 |
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 |
35 |
--------------------------------------------------------------------------------
/source/aekiro_radiogroup/icon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
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 |
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 |
32 |
--------------------------------------------------------------------------------
/source/aekiro_translationB/icon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
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 |
29 |
--------------------------------------------------------------------------------
/source/aekiro_proui/icon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
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 |
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 |
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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------