From 93434b45c19cea86c27d0eeca3435f67442f329b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Garc=C3=ADa?= Date: Thu, 21 Nov 2019 19:15:38 +0100 Subject: [PATCH 01/19] Added ui chapter. --- .../assets/BladeEngine.properties | 3 +- .../assets/model/test2.ink.json | 1 - .../assets/model/ui.chapter.json | 225 ++++++++++++++++++ .../assets/model/ui.properties | 3 + adventure-test-project/assets/model/world | 12 +- .../bladecoder/engine/SceneMenuScreen.java | 65 +++++ .../engine/actions/ui/UIContinue.java | 52 ++++ .../bladecoder/engine/actions/ui/UIExit.java | 37 +++ .../engine/actions/ui/UIIfShowContinue.java | 41 ++++ .../engine/actions/ui/UINewGame.java | 52 ++++ adventure-test-project/gradle.properties | 2 +- 11 files changed, 484 insertions(+), 9 deletions(-) delete mode 100644 adventure-test-project/assets/model/test2.ink.json create mode 100644 adventure-test-project/assets/model/ui.chapter.json create mode 100644 adventure-test-project/assets/model/ui.properties create mode 100644 adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java create mode 100644 adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UIContinue.java create mode 100644 adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UIExit.java create mode 100644 adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UIIfShowContinue.java create mode 100644 adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UINewGame.java diff --git a/adventure-test-project/assets/BladeEngine.properties b/adventure-test-project/assets/BladeEngine.properties index bad47b5..3b23c90 100644 --- a/adventure-test-project/assets/BladeEngine.properties +++ b/adventure-test-project/assets/BladeEngine.properties @@ -1,4 +1,5 @@ -bladeEngineVersion=3.2.1 +MENU_SCREEN=com.bladecoder.engine.SceneMenuScreen +bladeEngineVersion=3.2.2-SNAPSHOT debug=false fast_leave=true gdxVersion=1.9.10 diff --git a/adventure-test-project/assets/model/test2.ink.json b/adventure-test-project/assets/model/test2.ink.json deleted file mode 100644 index b1f0747..0000000 --- a/adventure-test-project/assets/model/test2.ink.json +++ /dev/null @@ -1 +0,0 @@ -{"inkVersion":18,"root":[[["done",{"#f":7,"#n":"g-0"}],null],"done",{"d1":[["^PLAYER> Hi!","\n","^PLAYER> How are you?","\n","^GREEN> Fine, thanks!","\n","^GREEN> Are you hungry?","\n",["ev",{"^->":"d1.0.8.$r1"},{"temp=":"$r"},"str",{"->":".^.s"},[{"#n":"$r1"}],"/str","str","^.","/str","/ev",{"*":"d1.0.c-0","flg":22},{"s":["^PLAYER> No",{"->":"$r","var":true},null]}],["ev",{"^->":"d1.0.9.$r1"},{"temp=":"$r"},"str",{"->":".^.s"},[{"#n":"$r1"}],"/str","/ev",{"*":"d1.0.c-1","flg":18},{"s":["^PLAYER> Yes.",{"->":"$r","var":true},null]}],{"c-0":["ev",{"^->":"d1.0.c-0.$r2"},"/ev",{"temp=":"$r"},{"->":"d1.0.8.s"},[{"#n":"$r2"}],"^, I don't.","\n","^GREEN> Ok, let me know when you want some food.","\n",{"->":"d1.0.g-0"},{"#f":7}],"c-1":["ev",{"^->":"d1.0.c-1.$r2"},"/ev",{"temp=":"$r"},{"->":"d1.0.9.s"},[{"#n":"$r2"}],"\n","^GREEN> Would you like a hamburger?","\n",[["ev",{"^->":"d1.0.c-1.9.0.$r1"},{"temp=":"$r"},"str",{"->":".^.s"},[{"#n":"$r1"}],"/str","/ev",{"*":".^.^.c-0","flg":18},{"s":["^PLAYER> Yes.",{"->":"$r","var":true},null]}],["ev",{"^->":"d1.0.c-1.9.1.$r1"},{"temp=":"$r"},"str",{"->":".^.s"},[{"#n":"$r1"}],"/str","/ev",{"*":".^.^.c-1","flg":18},{"s":["^PLAYER> No.",{"->":"$r","var":true},null]}],{"c-0":["ev",{"^->":"d1.0.c-1.9.c-0.$r2"},"/ev",{"temp=":"$r"},{"->":".^.^.0.s"},[{"#n":"$r2"}],"\n","^GREEN> Maybe you are too fat, here you have a banana.","\n",{"->":"d1.0.g-0"},{"#f":7}],"c-1":["ev",{"^->":"d1.0.c-1.9.c-1.$r2"},"/ev",{"temp=":"$r"},{"->":".^.^.1.s"},[{"#n":"$r2"}],"\n","^GREEN> Well, here you have a banana.","\n",{"->":"d1.0.g-0"},{"#f":7}]}],{"#f":7}],"g-0":["^PLAYER> Bye.","\n","end",{"#f":7}]}],{"#f":3}],"#f":3}],"listDefs":{}} \ No newline at end of file diff --git a/adventure-test-project/assets/model/ui.chapter.json b/adventure-test-project/assets/model/ui.chapter.json new file mode 100644 index 0000000..4112e5c --- /dev/null +++ b/adventure-test-project/assets/model/ui.chapter.json @@ -0,0 +1,225 @@ +{ +bladeEngineVersion: "3.2.2-SNAPSHOT", +sounds: {}, +scenes: { + menu: { + id: "menu", + layers: [ + { + name: "foreground" + }, + { + name: "dynamic", + dynamic: true + }, + { + name: "background" + } + ], + actors: { + continue: { + class: "SpriteActor", + id: "continue", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 945.0436, + y: 624.5507 + }, + visible: true, + refPoint: {}, + verbs: { + action: { + id: "action", + actions: [ + { + class: "com.bladecoder.engine.actions.ui.UIContinue" + } + ] + } + }, + interaction: false, + zIndex: 0, + layer: "foreground", + renderer: { + class: "TextRenderer", + text: "@scene-1.continue.text", + fontName: "PaytoneOne", + fontSize: 80, + borderWidth: 0, + borderColor: { + a: 1 + }, + borderStraight: true, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: { + a: 1 + }, + align: 8, + orgAlign: 0 + }, + tint: { + g: 1, + b: 0.9490196, + a: 0.09803922 + }, + scaleX: 1, + scaleY: 1, + rot: 0, + fakeDepth: false, + bboxFromRenderer: true + }, + exit: { + class: "SpriteActor", + id: "exit", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 930.4168, + y: 366.80206 + }, + visible: true, + refPoint: {}, + verbs: { + action: { + id: "action", + actions: [ + { + class: "com.bladecoder.engine.actions.ui.UIExit" + } + ] + } + }, + interaction: true, + zIndex: 0, + layer: "foreground", + renderer: { + class: "TextRenderer", + text: "@scene-1.exit.text", + fontName: "PaytoneOne", + fontSize: 80, + borderWidth: 0, + borderColor: { + a: 1 + }, + borderStraight: true, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: { + a: 1 + }, + align: 8, + orgAlign: 0 + }, + tint: { + g: 1, + b: 0.9490196, + a: 1 + }, + scaleX: 1, + scaleY: 1, + rot: 0, + fakeDepth: false, + bboxFromRenderer: true + }, + new: { + class: "SpriteActor", + id: "new", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 942.3043, + y: 501.28418 + }, + visible: true, + refPoint: {}, + verbs: { + action: { + id: "action", + actions: [ + { + class: "com.bladecoder.engine.actions.ui.UINewGame" + } + ] + } + }, + interaction: true, + zIndex: 0, + layer: "foreground", + renderer: { + class: "TextRenderer", + text: "@scene-1.new.text1", + fontName: "PaytoneOne", + fontSize: 80, + borderWidth: 0, + borderColor: { + a: 1 + }, + borderStraight: true, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: { + a: 1 + }, + align: 8, + orgAlign: 0 + }, + tint: { + g: 1, + b: 0.9490196, + a: 1 + }, + scaleX: 1, + scaleY: 1, + rot: 0, + fakeDepth: false, + bboxFromRenderer: true + } + }, + musicDesc: null, + verbs: { + init: { + id: "init", + actions: [ + { + class: "RunOnce", + caID: "2071282574" + }, + { + class: "ShowInventory", + value: false + }, + { + class: "End", + caID: "2071282574" + }, + { + class: "com.bladecoder.engine.actions.ui.UIIfShowContinue", + caID: "1018946114" + }, + { + class: "SetActorAttr", + actor: "continue", + interaction: true, + tint: "00fff2ff" + }, + { + class: "End", + caID: "1018946114" + }, + { + class: "SetActorAttr", + actor: "continue", + interaction: false, + tint: "00fff21b" + }, + { + class: "End", + caID: "1018946114" + } + ] + } + }, + walkZone: null + } +}, +initScene: "menu" +} \ No newline at end of file diff --git a/adventure-test-project/assets/model/ui.properties b/adventure-test-project/assets/model/ui.properties new file mode 100644 index 0000000..b972dc7 --- /dev/null +++ b/adventure-test-project/assets/model/ui.properties @@ -0,0 +1,3 @@ +scene-1.continue.text=Continuar +scene-1.exit.text=Salir +scene-1.new.text1=Nuevo juego diff --git a/adventure-test-project/assets/model/world b/adventure-test-project/assets/model/world index 2a2e25a..2c05f2b 100644 --- a/adventure-test-project/assets/model/world +++ b/adventure-test-project/assets/model/world @@ -7,15 +7,15 @@ verbs: { id: "dialog", actions: [ { - class: "com.bladecoder.engine.actions.SetCutmodeAction", + class: "Cutmode", value: true }, { - class: "com.bladecoder.engine.actions.SayDialogAction", + class: "SayDialog", wait: true }, { - class: "com.bladecoder.engine.actions.SetCutmodeAction", + class: "Cutmode", value: false } ] @@ -24,7 +24,7 @@ verbs: { id: "use", actions: [ { - class: "com.bladecoder.engine.actions.LookAtAction", + class: "LookAt", text: "@default.use.0.text", wait: false } @@ -34,7 +34,7 @@ verbs: { id: "lookat", actions: [ { - class: "com.bladecoder.engine.actions.LookAtAction", + class: "LookAt", text: "@default.lookat.0.text", wait: true } @@ -44,7 +44,7 @@ verbs: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.LookAtAction", + class: "LookAt", text: "@default.pickup.0.text", wait: true } diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java new file mode 100644 index 0000000..5ee7553 --- /dev/null +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java @@ -0,0 +1,65 @@ +/******************************************************************************* + * Copyright 2014 Rafael Garcia Moreno. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ******************************************************************************/ +package com.bladecoder.engine; + +import com.badlogic.gdx.Gdx; +import com.bladecoder.engine.assets.EngineAssetManager; +import com.bladecoder.engine.model.World; +import com.bladecoder.engine.model.World.AssetState; +import com.bladecoder.engine.ui.UI; +import com.bladecoder.engine.ui.defaults.DefaultSceneScreen; +import com.bladecoder.engine.util.EngineLogger; + +public class SceneMenuScreen extends DefaultSceneScreen { + + private World uiWorld; + + @Override + public void setUI(final UI ui) { + uiWorld = new World(); + + try { + uiWorld.loadWorldDesc(); + uiWorld.loadChapter("ui", null, false); + } catch (Exception e) { + // dispose(); + EngineLogger.error("EXITING: " + e.getMessage()); + Gdx.app.exit(); + } + + super.setUI(ui); + + getMenuButton().setVisible(false); + } + + @Override + public World getWorld() { + return uiWorld; + } + + @Override + public void render(float delta) { + final World world = getWorld(); + + if (world.getAssetState() != AssetState.LOADED) { + // Load assets to avoid change to the LOADING_SCREEN + EngineAssetManager.getInstance().finishLoading(); + } + + super.render(delta); + } + +} diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UIContinue.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UIContinue.java new file mode 100644 index 0000000..f81fdbc --- /dev/null +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UIContinue.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright 2014 Rafael Garcia Moreno. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ******************************************************************************/ +package com.bladecoder.engine.actions.ui; + +import com.badlogic.gdx.Gdx; +import com.bladecoder.engine.BladeEngine; +import com.bladecoder.engine.actions.Action; +import com.bladecoder.engine.actions.ActionDescription; +import com.bladecoder.engine.model.VerbRunner; +import com.bladecoder.engine.model.World; +import com.bladecoder.engine.ui.UI; +import com.bladecoder.engine.ui.UI.Screens; + +@ActionDescription("Continue.") +public class UIContinue implements Action { + + @Override + public void init(World w) { + + } + + @Override + public boolean run(VerbRunner cb) { + UI ui = BladeEngine.getAppUI(); + World world = ui.getWorld(); + + if (world.getCurrentScene() == null) { + try { + world.load(); + } catch (Exception e) { + Gdx.app.exit(); + } + } + + ui.setCurrentScreen(Screens.SCENE_SCREEN); + + return false; + } +} diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UIExit.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UIExit.java new file mode 100644 index 0000000..a917c98 --- /dev/null +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UIExit.java @@ -0,0 +1,37 @@ +/******************************************************************************* + * Copyright 2014 Rafael Garcia Moreno. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ******************************************************************************/ +package com.bladecoder.engine.actions.ui; + +import com.badlogic.gdx.Gdx; +import com.bladecoder.engine.actions.Action; +import com.bladecoder.engine.actions.ActionDescription; +import com.bladecoder.engine.model.VerbRunner; +import com.bladecoder.engine.model.World; + +@ActionDescription("Exits to the desktop.") +public class UIExit implements Action { + + @Override + public void init(World w) { + } + + @Override + public boolean run(VerbRunner cb) { + Gdx.app.exit(); + + return false; + } +} diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UIIfShowContinue.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UIIfShowContinue.java new file mode 100644 index 0000000..e3fbdbc --- /dev/null +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UIIfShowContinue.java @@ -0,0 +1,41 @@ +/******************************************************************************* + * Copyright 2014 Rafael Garcia Moreno. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ******************************************************************************/ +package com.bladecoder.engine.actions.ui; + +import com.bladecoder.engine.BladeEngine; +import com.bladecoder.engine.actions.AbstractIfAction; +import com.bladecoder.engine.actions.ActionDescription; +import com.bladecoder.engine.model.VerbRunner; +import com.bladecoder.engine.model.World; + +@ActionDescription("Show the continue button?") +public class UIIfShowContinue extends AbstractIfAction { + + @Override + public void init(World w) { + } + + @Override + public boolean run(VerbRunner cb) { + World world = BladeEngine.getAppUI().getWorld(); + + if (!world.savedGameExists() && world.getCurrentScene() == null) { + gotoElse(cb); + } + + return false; + } +} diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UINewGame.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UINewGame.java new file mode 100644 index 0000000..fb7b795 --- /dev/null +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UINewGame.java @@ -0,0 +1,52 @@ +/******************************************************************************* + * Copyright 2014 Rafael Garcia Moreno. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ******************************************************************************/ +package com.bladecoder.engine.actions.ui; + +import com.badlogic.gdx.Gdx; +import com.bladecoder.engine.BladeEngine; +import com.bladecoder.engine.actions.Action; +import com.bladecoder.engine.actions.ActionDescription; +import com.bladecoder.engine.model.VerbRunner; +import com.bladecoder.engine.model.World; +import com.bladecoder.engine.ui.UI; +import com.bladecoder.engine.ui.UI.Screens; +import com.bladecoder.engine.util.EngineLogger; + +@ActionDescription("New Game.") +public class UINewGame implements Action { + + @Override + public void init(World w) { + + } + + @Override + public boolean run(VerbRunner cb) { + UI ui = BladeEngine.getAppUI(); + World world = ui.getWorld(); + + try { + world.newGame(); + } catch (Exception e) { + EngineLogger.error("IN NEW GAME", e); + Gdx.app.exit(); + } + + ui.setCurrentScreen(Screens.SCENE_SCREEN); + + return false; + } +} diff --git a/adventure-test-project/gradle.properties b/adventure-test-project/gradle.properties index c08353e..bd841d9 100644 --- a/adventure-test-project/gradle.properties +++ b/adventure-test-project/gradle.properties @@ -1,7 +1,7 @@ android.injected.testOnly=false androidGradlePluginVersion=3.4.1 appName=adventure-test-project -bladeEngineVersion=3.2.1 +bladeEngineVersion=3.2.2-SNAPSHOT bladeInkVersion=0.7.2 gdxVersion=1.9.10 org.gradle.configureondemand=false From 3e01bd2047696a8201da7ded57f551f2db35ddce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Garc=C3=ADa?= Date: Fri, 20 Dec 2019 12:44:45 +0100 Subject: [PATCH 02/19] added ui scenes. --- .../assets/BladeEngine.properties | 2 +- .../assets/model/ui.chapter.json | 414 +++++++++++++++++- .../assets/model/ui.properties | 6 + adventure-test-project/gradle.properties | 4 +- 4 files changed, 416 insertions(+), 10 deletions(-) diff --git a/adventure-test-project/assets/BladeEngine.properties b/adventure-test-project/assets/BladeEngine.properties index 3b23c90..9990918 100644 --- a/adventure-test-project/assets/BladeEngine.properties +++ b/adventure-test-project/assets/BladeEngine.properties @@ -1,5 +1,5 @@ MENU_SCREEN=com.bladecoder.engine.SceneMenuScreen -bladeEngineVersion=3.2.2-SNAPSHOT +bladeEngineVersion=3.2.3-SNAPSHOT debug=false fast_leave=true gdxVersion=1.9.10 diff --git a/adventure-test-project/assets/model/ui.chapter.json b/adventure-test-project/assets/model/ui.chapter.json index 4112e5c..44b3590 100644 --- a/adventure-test-project/assets/model/ui.chapter.json +++ b/adventure-test-project/assets/model/ui.chapter.json @@ -1,7 +1,245 @@ { -bladeEngineVersion: "3.2.2-SNAPSHOT", +bladeEngineVersion: "3.2.3-SNAPSHOT", sounds: {}, scenes: { + config: { + id: "config", + layers: [ + { + name: "foreground" + }, + { + name: "dynamic", + dynamic: true + }, + { + name: "background" + } + ], + actors: { + back: { + class: "SpriteActor", + id: "back", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 221.87976, + y: 961.4791 + }, + visible: true, + refPoint: {}, + verbs: { + action: { + id: "action", + actions: [ + { + class: "Leave", + scene: "menu", + init: true + } + ] + } + }, + interaction: true, + zIndex: 0, + layer: "foreground", + renderer: { + class: "TextRenderer", + text: "@config.back.text", + fontName: "PaytoneOne", + fontSize: 80, + borderWidth: 0, + borderColor: { + a: 1 + }, + borderStraight: true, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: { + a: 1 + }, + align: 8, + orgAlign: 0 + }, + tint: { + g: 1, + b: 0.9490196, + a: 1 + }, + scaleX: 1, + scaleY: 1, + rot: 0, + fakeDepth: false, + bboxFromRenderer: true + } + }, + musicDesc: null, + verbs: {}, + walkZone: null + }, + credits: { + id: "credits", + layers: [ + { + name: "foreground" + }, + { + name: "dynamic", + dynamic: true + }, + { + name: "background" + } + ], + actors: { + text: { + class: "SpriteActor", + id: "text", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 982.0786, + y: -976.0521 + }, + visible: true, + refPoint: {}, + verbs: {}, + interaction: false, + zIndex: 0, + layer: "foreground", + renderer: { + class: "TextRenderer", + text: "@credits.text.text", + fontName: "PaytoneOne", + fontSize: 120, + borderWidth: 0, + borderColor: { + a: 1 + }, + borderStraight: true, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: { + a: 1 + }, + align: 1, + orgAlign: 0 + }, + tint: { + r: 1, + g: 1, + b: 1, + a: 1 + }, + scaleX: 1, + scaleY: 1, + rot: 0, + fakeDepth: false, + bboxFromRenderer: true + } + }, + musicDesc: null, + verbs: { + init: { + id: "init", + actions: [ + { + class: "Cutmode", + value: true + }, + { + class: "PositionAnim", + actor: "text", + target: "text", + pos: "0.0,2000.0", + speed: 5, + mode: "DURATION", + count: -1, + wait: true, + repeat: "NO_REPEAT" + }, + { + class: "Leave", + scene: "menu", + init: true + } + ] + } + }, + walkZone: null + }, + help: { + id: "help", + layers: [ + { + name: "foreground" + }, + { + name: "dynamic", + dynamic: true + }, + { + name: "background" + } + ], + actors: { + back: { + class: "SpriteActor", + id: "back", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 221.87976, + y: 961.4791 + }, + visible: true, + refPoint: {}, + verbs: { + action: { + id: "action", + actions: [ + { + class: "Leave", + scene: "menu", + init: true + } + ] + } + }, + interaction: true, + zIndex: 0, + layer: "foreground", + renderer: { + class: "TextRenderer", + text: "@help.back.text", + fontName: "PaytoneOne", + fontSize: 80, + borderWidth: 0, + borderColor: { + a: 1 + }, + borderStraight: true, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: { + a: 1 + }, + align: 8, + orgAlign: 0 + }, + tint: { + g: 1, + b: 0.9490196, + a: 1 + }, + scaleX: 1, + scaleY: 1, + rot: 0, + fakeDepth: false, + bboxFromRenderer: true + } + }, + musicDesc: null, + verbs: {}, + walkZone: null + }, menu: { id: "menu", layers: [ @@ -17,13 +255,67 @@ scenes: { } ], actors: { + config: { + class: "SpriteActor", + id: "config", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 964.2184, + y: 583.46185 + }, + visible: true, + refPoint: {}, + verbs: { + action: { + id: "action", + actions: [ + { + class: "Leave", + scene: "config", + init: true + } + ] + } + }, + interaction: true, + zIndex: 0, + layer: "foreground", + renderer: { + class: "TextRenderer", + text: "@menu.config.text1", + fontName: "PaytoneOne", + fontSize: 80, + borderWidth: 0, + borderColor: { + a: 1 + }, + borderStraight: true, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: { + a: 1 + }, + align: 8, + orgAlign: 0 + }, + tint: { + g: 1, + b: 0.9490196, + a: 1 + }, + scaleX: 1, + scaleY: 1, + rot: 0, + fakeDepth: false, + bboxFromRenderer: true + }, continue: { class: "SpriteActor", id: "continue", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 945.0436, - y: 624.5507 + x: 964.2184, + y: 816.29877 }, visible: true, refPoint: {}, @@ -69,13 +361,67 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, + credits: { + class: "SpriteActor", + id: "credits", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 961.47906, + y: 361.58194 + }, + visible: true, + refPoint: {}, + verbs: { + action: { + id: "action", + actions: [ + { + class: "Leave", + scene: "credits", + init: true + } + ] + } + }, + interaction: true, + zIndex: 0, + layer: "foreground", + renderer: { + class: "TextRenderer", + text: "@menu.credits.text1", + fontName: "PaytoneOne", + fontSize: 80, + borderWidth: 0, + borderColor: { + a: 1 + }, + borderStraight: true, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: { + a: 1 + }, + align: 8, + orgAlign: 0 + }, + tint: { + g: 1, + b: 0.9490196, + a: 1 + }, + scaleX: 1, + scaleY: 1, + rot: 0, + fakeDepth: false, + bboxFromRenderer: true + }, exit: { class: "SpriteActor", id: "exit", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 930.4168, - y: 366.80206 + x: 968.7663, + y: 229.83932 }, visible: true, refPoint: {}, @@ -121,13 +467,67 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, + help: { + class: "SpriteActor", + id: "help", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 961.4791, + y: 465.67365 + }, + visible: true, + refPoint: {}, + verbs: { + action: { + id: "action", + actions: [ + { + class: "Leave", + scene: "help", + init: true + } + ] + } + }, + interaction: true, + zIndex: 0, + layer: "foreground", + renderer: { + class: "TextRenderer", + text: "@menu.help.text1", + fontName: "PaytoneOne", + fontSize: 80, + borderWidth: 0, + borderColor: { + a: 1 + }, + borderStraight: true, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: { + a: 1 + }, + align: 8, + orgAlign: 0 + }, + tint: { + g: 1, + b: 0.9490196, + a: 1 + }, + scaleX: 1, + scaleY: 1, + rot: 0, + fakeDepth: false, + bboxFromRenderer: true + }, new: { class: "SpriteActor", id: "new", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 942.3043, - y: 501.28418 + x: 953.26135, + y: 701.25 }, visible: true, refPoint: {}, diff --git a/adventure-test-project/assets/model/ui.properties b/adventure-test-project/assets/model/ui.properties index b972dc7..3f34cb5 100644 --- a/adventure-test-project/assets/model/ui.properties +++ b/adventure-test-project/assets/model/ui.properties @@ -1,3 +1,9 @@ +config.back.text=< Atrás +credits.text.text=Esta\nes\nla\npantalla\nde\ncréditos. +help.back.text=< Atrás +menu.config.text1=Configuración +menu.credits.text1=Créditos +menu.help.text1=Ayuda scene-1.continue.text=Continuar scene-1.exit.text=Salir scene-1.new.text1=Nuevo juego diff --git a/adventure-test-project/gradle.properties b/adventure-test-project/gradle.properties index bd841d9..14ae2a5 100644 --- a/adventure-test-project/gradle.properties +++ b/adventure-test-project/gradle.properties @@ -1,8 +1,8 @@ android.injected.testOnly=false androidGradlePluginVersion=3.4.1 appName=adventure-test-project -bladeEngineVersion=3.2.2-SNAPSHOT -bladeInkVersion=0.7.2 +bladeEngineVersion=3.2.3-SNAPSHOT +bladeInkVersion=0.7.3 gdxVersion=1.9.10 org.gradle.configureondemand=false org.gradle.daemon=true From 6259a1875882378633d8413c710b68c1cc7d0ef9 Mon Sep 17 00:00:00 2001 From: Rafael Garcia Date: Sat, 4 Jan 2020 21:53:50 +0100 Subject: [PATCH 03/19] Load Game action. --- .../engine/actions/ui/UILoadGameScreen.java | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UILoadGameScreen.java diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UILoadGameScreen.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UILoadGameScreen.java new file mode 100644 index 0000000..83ef76b --- /dev/null +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UILoadGameScreen.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright 2014 Rafael Garcia Moreno. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ******************************************************************************/ +package com.bladecoder.engine.actions.ui; + +import com.bladecoder.engine.BladeEngine; +import com.bladecoder.engine.actions.Action; +import com.bladecoder.engine.actions.ActionDescription; +import com.bladecoder.engine.model.VerbRunner; +import com.bladecoder.engine.model.World; +import com.bladecoder.engine.ui.UI; +import com.bladecoder.engine.ui.UI.Screens; + +@ActionDescription("Exits to the desktop.") +public class UILoadGameScreen implements Action { + + @Override + public void init(World w) { + } + + @Override + public boolean run(VerbRunner cb) { + UI ui = BladeEngine.getAppUI(); + ui.setCurrentScreen(Screens.LOAD_GAME_SCREEN); + + return false; + } +} From 22935503aa8709d1bd689095bac3fc901652cf2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Garc=C3=ADa?= Date: Thu, 9 Jan 2020 19:54:54 +0100 Subject: [PATCH 04/19] Added UISetConfigProperty action. --- .../actions/ui/UISetConfigProperty.java | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UISetConfigProperty.java diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UISetConfigProperty.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UISetConfigProperty.java new file mode 100644 index 0000000..aff7123 --- /dev/null +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UISetConfigProperty.java @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright 2014 Rafael Garcia Moreno. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ******************************************************************************/ +package com.bladecoder.engine.actions.ui; + +import com.bladecoder.engine.actions.Action; +import com.bladecoder.engine.actions.ActionDescription; +import com.bladecoder.engine.actions.ActionProperty; +import com.bladecoder.engine.actions.ActionPropertyDescription; +import com.bladecoder.engine.model.VerbRunner; +import com.bladecoder.engine.model.World; +import com.bladecoder.engine.util.Config; + +@ActionDescription("Sets a game configuration property.") +public class UISetConfigProperty implements Action { + + @ActionProperty(required = true) + @ActionPropertyDescription("Property name") + private String name; + + @ActionProperty + @ActionPropertyDescription("Property value") + private String value; + + @Override + public void init(World w) { + } + + @Override + public boolean run(VerbRunner cb) { + Config.getInstance().setPref(name, value); + Config.getInstance().savePrefs(); + + return false; + } +} From f96c27c966a85fce0f0821fbf0842a25ce8faa84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Garc=C3=ADa?= Date: Thu, 9 Jan 2020 20:32:21 +0100 Subject: [PATCH 05/19] Added pointer-enter / pointer-exit verbs. --- .../assets/model/ui.chapter.json | 150 ++++++++++++++++++ .../bladecoder/engine/SceneMenuScreen.java | 26 +++ 2 files changed, 176 insertions(+) diff --git a/adventure-test-project/assets/model/ui.chapter.json b/adventure-test-project/assets/model/ui.chapter.json index 44b3590..1e4edff 100644 --- a/adventure-test-project/assets/model/ui.chapter.json +++ b/adventure-test-project/assets/model/ui.chapter.json @@ -266,6 +266,21 @@ scenes: { visible: true, refPoint: {}, verbs: { + "pointer-exit": { + id: "pointer-exit", + actions: [ + { + class: "ScaleAnim", + actor: "config", + scale: 1, + speed: 0.3, + count: -1, + wait: true, + repeat: "NO_REPEAT", + interpolation: "FADE" + } + ] + }, action: { id: "action", actions: [ @@ -275,6 +290,21 @@ scenes: { init: true } ] + }, + "pointer-enter": { + id: "pointer-enter", + actions: [ + { + class: "ScaleAnim", + actor: "config", + scale: 1.3, + speed: 0.3, + count: -1, + wait: true, + repeat: "NO_REPEAT", + interpolation: "FADE" + } + ] } }, interaction: true, @@ -320,6 +350,21 @@ scenes: { visible: true, refPoint: {}, verbs: { + "pointer-exit": { + id: "pointer-exit", + actions: [ + { + class: "ScaleAnim", + actor: "continue", + scale: 1, + speed: 0.3, + count: -1, + wait: true, + repeat: "NO_REPEAT", + interpolation: "FADE" + } + ] + }, action: { id: "action", actions: [ @@ -327,6 +372,21 @@ scenes: { class: "com.bladecoder.engine.actions.ui.UIContinue" } ] + }, + "pointer-enter": { + id: "pointer-enter", + actions: [ + { + class: "ScaleAnim", + actor: "continue", + scale: 1.3, + speed: 0.3, + count: -1, + wait: true, + repeat: "NO_REPEAT", + interpolation: "FADE" + } + ] } }, interaction: false, @@ -372,6 +432,21 @@ scenes: { visible: true, refPoint: {}, verbs: { + "pointer-exit": { + id: "pointer-exit", + actions: [ + { + class: "ScaleAnim", + actor: "credits", + scale: 1, + speed: 0.3, + count: -1, + wait: true, + repeat: "NO_REPEAT", + interpolation: "FADE" + } + ] + }, action: { id: "action", actions: [ @@ -381,6 +456,21 @@ scenes: { init: true } ] + }, + "pointer-enter": { + id: "pointer-enter", + actions: [ + { + class: "ScaleAnim", + actor: "credits", + scale: 1.3, + speed: 0.3, + count: -1, + wait: true, + repeat: "NO_REPEAT", + interpolation: "FADE" + } + ] } }, interaction: true, @@ -478,6 +568,21 @@ scenes: { visible: true, refPoint: {}, verbs: { + "pointer-exit": { + id: "pointer-exit", + actions: [ + { + class: "ScaleAnim", + actor: "help", + scale: 1, + speed: 0.3, + count: -1, + wait: true, + repeat: "NO_REPEAT", + interpolation: "FADE" + } + ] + }, action: { id: "action", actions: [ @@ -487,6 +592,21 @@ scenes: { init: true } ] + }, + "pointer-enter": { + id: "pointer-enter", + actions: [ + { + class: "ScaleAnim", + actor: "help", + scale: 1.3, + speed: 0.3, + count: -1, + wait: true, + repeat: "NO_REPEAT", + interpolation: "FADE" + } + ] } }, interaction: true, @@ -532,6 +652,21 @@ scenes: { visible: true, refPoint: {}, verbs: { + "pointer-exit": { + id: "pointer-exit", + actions: [ + { + class: "ScaleAnim", + actor: "new", + scale: 1, + speed: 0.3, + count: -1, + wait: true, + repeat: "NO_REPEAT", + interpolation: "FADE" + } + ] + }, action: { id: "action", actions: [ @@ -539,6 +674,21 @@ scenes: { class: "com.bladecoder.engine.actions.ui.UINewGame" } ] + }, + "pointer-enter": { + id: "pointer-enter", + actions: [ + { + class: "ScaleAnim", + actor: "new", + scale: 1.3, + speed: 0.3, + count: -1, + wait: true, + repeat: "NO_REPEAT", + interpolation: "FADE" + } + ] } }, interaction: true, diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java index 5ee7553..1c65c20 100644 --- a/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java @@ -16,7 +16,9 @@ package com.bladecoder.engine; import com.badlogic.gdx.Gdx; +import com.badlogic.gdx.Input.Peripheral; import com.bladecoder.engine.assets.EngineAssetManager; +import com.bladecoder.engine.model.InteractiveActor; import com.bladecoder.engine.model.World; import com.bladecoder.engine.model.World.AssetState; import com.bladecoder.engine.ui.UI; @@ -24,9 +26,13 @@ import com.bladecoder.engine.util.EngineLogger; public class SceneMenuScreen extends DefaultSceneScreen { + private static final String POINTER_ENTER_VERB = "pointer-enter"; + private static final String POINTER_EXIT_VERB = "pointer-exit"; private World uiWorld; + private InteractiveActor pointerInActor = null; + @Override public void setUI(final UI ui) { uiWorld = new World(); @@ -60,6 +66,26 @@ public void render(float delta) { } super.render(delta); + + // call pointer-enter/pointer-exit + if (world.getAssetState() != AssetState.LOADED || Gdx.input.isPeripheralAvailable(Peripheral.MultitouchScreen) + || world.inCutMode() || world.hasDialogOptions() || world.isPaused()) { + return; + } + + InteractiveActor newPointerInActor = getWorld().getInteractiveActorAtInput(getViewport(), 0); + + if (newPointerInActor != pointerInActor) { + if (pointerInActor != null && pointerInActor.getVerb(POINTER_EXIT_VERB) != null) { + pointerInActor.runVerb(POINTER_EXIT_VERB, null); + } + + pointerInActor = newPointerInActor; + + if (pointerInActor != null && pointerInActor.getVerb(POINTER_ENTER_VERB) != null) { + pointerInActor.runVerb(POINTER_ENTER_VERB, null); + } + } } } From ad599e99243f16c24e95b9901b89ff2fdef77a8b Mon Sep 17 00:00:00 2001 From: Rafael Garcia Date: Fri, 10 Jan 2020 19:22:57 +0100 Subject: [PATCH 06/19] pointer-enter/exit events --- .../assets/model/00.chapter.json | 4692 ++++++++--------- 1 file changed, 2346 insertions(+), 2346 deletions(-) diff --git a/adventure-test-project/assets/model/00.chapter.json b/adventure-test-project/assets/model/00.chapter.json index 0698185..e031957 100644 --- a/adventure-test-project/assets/model/00.chapter.json +++ b/adventure-test-project/assets/model/00.chapter.json @@ -1,9 +1,9 @@ { -bladeEngineVersion: "3.1.0-SNAPSHOT", +bladeEngineVersion: "3.2.3-SNAPSHOT", sounds: {}, scenes: { - basic3: { - id: "basic3", + actor3d: { + id: "actor3d", layers: [ { name: "foreground" @@ -17,143 +17,185 @@ scenes: { } ], actors: { - exit: { - class: "com.bladecoder.engine.model.InteractiveActor", - id: "exit", - bbox: [ 38.740845, -302.1791, 37.191406, 172.10663, 237.19135, 160.69553, 225.35773, -344.01953 ], + fg1: { + class: "SpriteActor", + id: "fg1", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 1644.7837, - y: 578.7209 + x: 158.68916 }, visible: true, - refPoint: { - x: 5.774414, - y: -326.25568 + refPoint: {}, + verbs: {}, + interaction: false, + zIndex: 0, + layer: "foreground", + renderer: { + class: "AtlasRenderer", + fanims: { + column_fg: { + class: "AtlasAnimationDesc", + id: "column_fg", + source: "00", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + } + }, + initAnimation: "column_fg", + orgAlign: 4 }, - verbs: { - leave: { - id: "leave", - actions: [ - { - class: "com.bladecoder.engine.actions.GotoAction", - actor: "$PLAYER", - target: "exit", - ignoreWalkZone: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.PositionAction", - actor: "$PLAYER", - target: "basic1#door_left" - }, - { - class: "com.bladecoder.engine.actions.MoveToSceneAction", - actor: "$PLAYER", - scene: "basic1" - }, - { - class: "com.bladecoder.engine.actions.IfSceneAttrAction", - attr: "PLAYER", - value: "char", - caID: "1348253093" - }, - { - class: "com.bladecoder.engine.actions.SetPlayerAction", - actor: "basic1#char" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1348253093" - }, - { - class: "com.bladecoder.engine.actions.SetPlayerAction", - actor: "basic1#red" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1348253093" - }, - { - class: "com.bladecoder.engine.actions.LeaveAction", - scene: "basic1", - init: true - } - ] - } + scaleX: 1, + scaleY: 1, + rot: 0, + fakeDepth: false, + bboxFromRenderer: true + }, + fg2: { + class: "SpriteActor", + id: "fg2", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 2727.407 }, - interaction: true, + visible: true, + refPoint: {}, + verbs: {}, + interaction: false, zIndex: 0, - layer: "background" + layer: "foreground", + renderer: { + class: "AtlasRenderer", + fanims: { + head_fg: { + class: "AtlasAnimationDesc", + id: "head_fg", + source: "00", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + } + }, + initAnimation: "head_fg", + orgAlign: 4 + }, + scaleX: 1, + scaleY: 1, + rot: 0, + fakeDepth: false, + bboxFromRenderer: true + }, + player: { + class: "CharacterActor", + id: "player", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 2174.0637, + y: 45.82788 + }, + visible: true, + refPoint: {}, + verbs: {}, + interaction: false, + zIndex: 0, + layer: "dynamic", + renderer: { + class: "Sprite3DRenderer", + fanims: { + stand: { + class: "com.bladecoder.engine.anim.AnimationDesc", + id: "stand", + source: "Robie", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + }, + talk: { + class: "com.bladecoder.engine.anim.AnimationDesc", + id: "talk", + source: "Robie", + duration: 1, + animationType: "REPEAT", + count: -1, + preload: true + }, + walk: { + class: "com.bladecoder.engine.anim.AnimationDesc", + id: "walk", + source: "Robie", + duration: 1, + animationType: "REPEAT", + count: -1, + preload: true + } + }, + initAnimation: "stand", + orgAlign: 4, + width: 700, + height: 700, + cameraPos: { + x: -3.06087E-8, + y: 1.5016524, + z: 2.325469 + }, + cameraRot: { + x: -14.617197, + y: -8.823316E-7, + z: 1.5707963 + }, + cameraName: "Camera", + cameraFOV: 49.3, + renderShadow: true, + modelRotation: 0 + }, + scaleX: 0.9786623, + scaleY: 0.9786623, + rot: 0, + fakeDepth: true, + bboxFromRenderer: true, + walkingSpeed: 700 }, walkzone: { - class: "com.bladecoder.engine.model.WalkZoneActor", + class: "WalkZoneActor", id: "walkzone", - bbox: [ 157.48462, 39.371155, 398.08618, 257.5802, 965.618, 80.41797, 1203.7566, 93.22626, 1226.6244, 304.53226, 1530.6631, 318.8243, 1885.0032, 157.48468, 1786.2855, 74.84706 ], - pos: {}, + bbox: [ 108.911804, -40.125336, 627.953, 441.84213, 668.9139, 407.532, 533.09656, 221.31633, 907.7121, 111.8475, 1196.9875, 214.7468, 1176.444, 387.23248, 1793.0767, 449.25903, 1853.1136, 514.7108, 2497.128, 520.0789, 2869.7212, -0.8026047 ], + pos: { + x: 18.916138, + y: 3.7832947 + }, visible: true } }, - backgroundAtlas: "scene3", - backgroundRegionId: "bg3", + backgroundAtlas: "00", + backgroundRegionId: "bg1", musicDesc: null, depthVector: { - x: 613.83704, - y: -631.38477 + x: 2673.551, + y: -11.464233 }, verbs: { init: { id: "init", actions: [ { - class: "com.bladecoder.engine.actions.IfSceneAttrAction", - scene: "basic1", - attr: "PLAYER", - value: "char", - caID: "742759885" - }, - { - class: "com.bladecoder.engine.actions.MoveToSceneAction", - actor: "basic1#char" - }, - { - class: "com.bladecoder.engine.actions.SetPlayerAction", - actor: "char" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "742759885" - }, - { - class: "com.bladecoder.engine.actions.MoveToSceneAction", - actor: "basic1#red" - }, - { - class: "com.bladecoder.engine.actions.SetPlayerAction", - actor: "red" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "742759885" - }, - { - class: "com.bladecoder.engine.actions.PositionAction", - actor: "$PLAYER", - target: "exit" - }, - { - class: "com.bladecoder.engine.actions.GotoAction", + class: "Say", actor: "$PLAYER", - pos: "1501.0,251.0", - ignoreWalkZone: false, + text: "@actor3d.init.0.text", + type: "SUBTITLE", + queue: false, wait: true } ] } }, + player: "player", walkZone: "walkzone" }, - basic2: { - id: "basic2", + "basic-prop-states": { + id: "basic-prop-states", layers: [ { name: "foreground" @@ -167,456 +209,380 @@ scenes: { } ], actors: { - exit: { - class: "com.bladecoder.engine.model.InteractiveActor", - id: "exit", - bbox: [ -570.5481, -21.131287, -408.54053, 171.8248, 1172.0449, 214.08759, 1263.6143, -14.0876465 ], + ko: { + class: "SpriteActor", + id: "ko", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 405.07428, - y: -48.177734 + x: 956.2496, + y: 477.18317 }, - visible: true, - refPoint: {}, - verbs: { - leave: { - id: "leave", - actions: [ - { - class: "com.bladecoder.engine.actions.LeaveAction", - scene: "basic1", - init: true - } - ] - } - }, - interaction: true, - zIndex: 0, - layer: "background" - }, - i18ntext: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "i18ntext", - bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], - pos: { - x: 451.26367, - y: 448.4259 - }, - visible: true, + visible: false, refPoint: {}, verbs: {}, - interaction: true, + interaction: false, zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.ImageRenderer", - fanims: { - text: { - class: "com.bladecoder.engine.anim.AnimationDesc", - id: "text", - source: "@text.png", - duration: 1, - animationType: "NO_REPEAT", - count: -1, - preload: true - } + class: "TextRenderer", + text: "@basic-prop-states.ko.text", + fontName: "PaytoneOne", + fontSize: 100, + borderWidth: 0, + borderColor: { + a: 1 }, - initAnimation: "text", - orgAlign: 4 + borderStraight: true, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: { + a: 1 + }, + align: 8, + orgAlign: 0 + }, + tint: { + r: 1, + b: 0.015686275, + a: 1 }, scaleX: 1, scaleY: 1, rot: 0, fakeDepth: false, bboxFromRenderer: true - } - }, - backgroundAtlas: "scene2", - backgroundRegionId: "bg2", - musicDesc: null, - verbs: {}, - walkZone: null - }, - basic1: { - id: "basic1", - layers: [ - { - name: "foreground" - }, - { - name: "dynamic", - dynamic: true }, - { - name: "background" - } - ], - actors: { - green: { - class: "com.bladecoder.engine.model.CharacterActor", - id: "green", + ok: { + class: "SpriteActor", + id: "ok", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 1688.2659, - y: 308.31876 + x: 956.2496, + y: 477.18317 }, - visible: true, + visible: false, refPoint: {}, - verbs: { - pickup: { - id: "pickup", - actions: [ - { - class: "com.bladecoder.engine.actions.SetCutmodeAction", - value: true - }, - { - class: "com.bladecoder.engine.actions.SetActorAttrAction", - actor: "$PLAYER", - interaction: true - }, - { - class: "com.bladecoder.engine.actions.SetPlayerAction", - actor: "green", - inventory: "green" - }, - { - class: "com.bladecoder.engine.actions.SayAction", - actor: "$PLAYER", - text: "@01.char3.pickup.3.text", - type: "SUBTITLE", - queue: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.SetCutmodeAction", - value: false - } - ] - } - }, - interaction: true, - zIndex: 1, - layer: "dynamic", + verbs: {}, + interaction: false, + zIndex: 0, + layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", - fanims: { - "walk.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "walk.right", - source: "char", - duration: 0.5, - animationType: "REPEAT", - count: -1, - preload: true - }, - "stand.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "stand.right", - source: "char", - duration: 1, - animationType: "NO_REPEAT", - count: -1, - preload: true - } + class: "TextRenderer", + text: "@basic-prop-states.ok.text__", + fontName: "PaytoneOne", + fontSize: 100, + borderWidth: 0, + borderColor: { + a: 1 }, - initAnimation: "stand.left", - orgAlign: 4 + borderStraight: true, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: { + a: 1 + }, + align: 8, + orgAlign: 0 }, - scaleX: 0.19001375, - scaleY: 0.19001375, - rot: 0, tint: { - r: 0.53333336, + r: 0.28235295, g: 1, - b: 0.53333336, a: 1 }, - fakeDepth: true, - bboxFromRenderer: true, - walkingSpeed: 2000 - }, - walkzone: { - class: "com.bladecoder.engine.model.WalkZoneActor", - id: "walkzone", - bbox: [ 297.42737, 284.14938, 568.29877, 434.68887, 719.6436, 446.8797, 650.82916, 341.34033, 1368.244, 372.9064, 1353.6876, 407.92526, 1922.6555, 410.7885, 1934.324, 311.18817, 1543.7379, 296.05563, 1514.5264, 349.16766, 624.51056, 318.71033, 589.1026, 283.30228 ], - pos: {}, - visible: true + scaleX: 1, + scaleY: 1, + rot: 0, + fakeDepth: false, + bboxFromRenderer: true }, - tint: { - class: "com.bladecoder.engine.model.InteractiveActor", - id: "tint", - bbox: [ -416.72354, -2.1842957, -100, 200, 69.4198, 193.44711, -133.72015, 0 ], + state: { + class: "SpriteActor", + id: "state", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 657.4744, - y: 255.56323 + x: 978.9769, + y: 198.59222 }, visible: true, + desc: "@basic-prop-states.state.desc_", refPoint: {}, verbs: { - exit: { - id: "exit", + lookat: { + id: "lookat", actions: [ { - class: "com.bladecoder.engine.actions.IfSceneAttrAction", - attr: "PLAYER", - value: "char", - caID: "1640548163" - }, - { - class: "com.bladecoder.engine.actions.SetActorAttrAction", - actor: "$PLAYER", - tint: "ffffffff" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1640548163" - }, - { - class: "com.bladecoder.engine.actions.IfSceneAttrAction", - attr: "PLAYER", - value: "red", - caID: "1070630759" - }, - { - class: "com.bladecoder.engine.actions.DisableActionAction", - serializedAction: "{class:com.bladecoder.engine.actions.SetActorAttrAction,actor:$PLAYER,tint:ff6666ff}" + class: "IfActorAttr", + actor: "state", + attr: "STATE", + value: "BLUE", + caID: "301582167" }, { - class: "com.bladecoder.engine.actions.TintAnimAction", + class: "Say", actor: "$PLAYER", - color: "ff6666ff", - speed: 0.2, - count: 1, - wait: true, - repeat: "REPEAT" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1070630759" + text: "@basic-prop-states.state.lookat.1.text", + type: "SUBTITLE", + queue: false, + wait: true }, { - class: "com.bladecoder.engine.actions.IfSceneAttrAction", - attr: "PLAYER", - value: "green", - caID: "1006819085" + class: "End", + caID: "301582167" }, { - class: "com.bladecoder.engine.actions.CameraAction", - zoom: 1, - duration: 1, - interpolation: "FADE", - wait: false + class: "IfActorAttr", + actor: "state", + attr: "STATE", + value: "YELLOW", + caID: "602667286" }, { - class: "com.bladecoder.engine.actions.SetActorAttrAction", + class: "Say", actor: "$PLAYER", - tint: "66ff66ff" + text: "@basic-prop-states.state.lookat.4.text", + type: "SUBTITLE", + queue: false, + wait: true }, { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1006819085" + class: "End", + caID: "602667286" }, { - class: "com.bladecoder.engine.actions.SetActorAttrAction", + class: "Say", actor: "$PLAYER", - tint: "6666ffff" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1006819085" + text: "@basic-prop-states.state.lookat.6.text", + type: "SUBTITLE", + queue: false, + wait: true }, { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1070630759" + class: "End", + caID: "602667286" }, { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1640548163" + class: "End", + caID: "301582167" } ] }, - enter: { - id: "enter", + pickup: { + id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.IfSceneAttrAction", - attr: "PLAYER", - value: "char", - caID: "602572309" + class: "ActorState", + actor: "state", + state: "YELLOW" }, { - class: "com.bladecoder.engine.actions.SetActorAttrAction", - actor: "$PLAYER", - tint: "666666ff" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "602572309" - }, - { - class: "com.bladecoder.engine.actions.IfSceneAttrAction", - attr: "PLAYER", - value: "red", - caID: "1331490757" - }, - { - class: "com.bladecoder.engine.actions.DisableActionAction", - serializedAction: "{class:com.bladecoder.engine.actions.SetActorAttrAction,actor:$PLAYER,tint:660000ff}" - }, - { - class: "com.bladecoder.engine.actions.TintAnimAction", - actor: "$PLAYER", - color: "660000ff", - speed: 0.2, - count: 1, - wait: true, - repeat: "REPEAT" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1331490757" - }, - { - class: "com.bladecoder.engine.actions.IfSceneAttrAction", - attr: "PLAYER", - value: "green", - caID: "1522226691" - }, - { - class: "com.bladecoder.engine.actions.SetActorAttrAction", - actor: "$PLAYER", - tint: "006600ff" - }, - { - class: "com.bladecoder.engine.actions.CameraAction", - pos: "0.0,0.0", - interpolation: "FADE", - wait: false - }, - { - class: "com.bladecoder.engine.actions.CameraAction", - zoom: 0.5, - duration: 1, - interpolation: "FADE", - wait: true - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1522226691" - }, - { - class: "com.bladecoder.engine.actions.SetActorAttrAction", - actor: "$PLAYER", - tint: "000066ff" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1522226691" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1331490757" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "602572309" + class: "SetActorAttr", + actor: "state", + tint: "ffee00ff" } ] - } - }, - interaction: false, - zIndex: 0, - layer: "foreground" - }, - red: { - class: "com.bladecoder.engine.model.CharacterActor", - id: "red", - bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], - pos: { - x: 1298.4912, - y: 349.08066 - }, - visible: true, - refPoint: { - x: -118.37598, - y: 1.443634 - }, - verbs: { - pickup: { + }, + "pickup.YELLOW": { id: "pickup", + state: "YELLOW", actions: [ { - class: "com.bladecoder.engine.actions.SetCutmodeAction", - value: true - }, - { - class: "com.bladecoder.engine.actions.SetActorAttrAction", - actor: "$PLAYER", - interaction: true - }, - { - class: "com.bladecoder.engine.actions.SetPlayerAction", - actor: "red", - inventory: "red" - }, - { - class: "com.bladecoder.engine.actions.SayAction", - actor: "$PLAYER", - text: "@01.char2.pickup.4.text", - type: "SUBTITLE", - queue: false, - wait: true + class: "ActorState", + actor: "state", + state: "BLUE" }, { - class: "com.bladecoder.engine.actions.SetCutmodeAction", - value: false + class: "SetActorAttr", + actor: "state", + tint: "00f7ffff" } ] } }, interaction: true, - zIndex: 1, - layer: "dynamic", + zIndex: 0, + layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", - fanims: { - "walk.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "walk.right", - source: "char", - duration: 0.5, - animationType: "REPEAT", - count: -1, - preload: true - }, - "stand.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "stand.right", - source: "char", - duration: 1, - animationType: "NO_REPEAT", - count: -1, - preload: true - } + class: "TextRenderer", + text: "@basic-prop-states.state.text_", + fontName: "PaytoneOne", + fontSize: 100, + borderWidth: 0, + borderColor: { + a: 1 }, - initAnimation: "stand.left", - orgAlign: 4 + borderStraight: true, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: { + a: 1 + }, + align: 8, + orgAlign: 0 }, - scaleX: 0.16458614, - scaleY: 0.16458614, + scaleX: 1, + scaleY: 1, rot: 0, - tint: { - r: 1, - g: 0.53333336, - b: 0.53333336, - a: 1 - }, - fakeDepth: true, - bboxFromRenderer: true, - walkingSpeed: 2000 + fakeDepth: false, + bboxFromRenderer: true + } + }, + musicDesc: null, + verbs: { + init: { + id: "init", + actions: [ + { + class: "Property", + prop: "TEST-PROP", + value: "test" + }, + { + class: "IfProperty", + name: "TEST-PROP", + value: "test", + caID: "1751840606" + }, + { + class: "End", + caID: "1751840606" + }, + { + class: "SetActorAttr", + actor: "ko", + visible: true + }, + { + class: "CancelVerb" + }, + { + class: "End", + caID: "1751840606" + }, + { + class: "Comment", + comment: "Property from the BladeEngine.properties file.", + debug: false + }, + { + class: "IfProperty", + name: "title", + value: "Blade Engine Adventure", + caID: "1094711013" + }, + { + class: "End", + caID: "1094711013" + }, + { + class: "SetActorAttr", + actor: "ko", + visible: true + }, + { + class: "CancelVerb" + }, + { + class: "End", + caID: "1094711013" + }, + { + class: "Comment", + comment: "PLATFORM property.", + debug: false + }, + { + class: "IfProperty", + name: "PLATFORM", + value: "Desktop", + caID: "1143890192" + }, + { + class: "Say", + actor: "$PLAYER", + text: "@basic-prop-states.init.18.text", + type: "SUBTITLE", + queue: false, + wait: true + }, + { + class: "End", + caID: "1143890192" + }, + { + class: "IfProperty", + name: "PLATFORM", + value: "Android", + caID: "1726514584" + }, + { + class: "Say", + actor: "$PLAYER", + text: "@basic-prop-states.init.20.text", + type: "SUBTITLE", + queue: false, + wait: true + }, + { + class: "End", + caID: "1726514584" + }, + { + class: "IfProperty", + name: "PLATFORM", + value: "iOS", + caID: "363902178" + }, + { + class: "Say", + actor: "$PLAYER", + text: "@basic-prop-states.init.23.text", + type: "SUBTITLE", + queue: false, + wait: true + }, + { + class: "End", + caID: "363902178" + }, + { + class: "End", + caID: "363902178" + }, + { + class: "End", + caID: "1726514584" + }, + { + class: "End", + caID: "1143890192" + }, + { + class: "SetActorAttr", + actor: "ok", + visible: true + } + ] + } + }, + walkZone: null + }, + basic1: { + id: "basic1", + layers: [ + { + name: "foreground" }, + { + name: "dynamic", + dynamic: true + }, + { + name: "background" + } + ], + actors: { ball: { - class: "com.bladecoder.engine.model.SpriteActor", + class: "SpriteActor", id: "ball", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { @@ -634,23 +600,23 @@ scenes: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.GotoAction", + class: "Goto", actor: "$PLAYER", target: "ball", ignoreWalkZone: false, wait: true }, { - class: "com.bladecoder.engine.actions.LookAtAction", + class: "LookAt", direction: "RIGHT", wait: false }, { - class: "com.bladecoder.engine.actions.PickUpAction", + class: "PickUp", actor: "ball" }, { - class: "com.bladecoder.engine.actions.AlphaAnimAction", + class: "AlphaAnim", actor: "ball", alpha: 0, speed: 1, @@ -665,7 +631,7 @@ scenes: { id: "lookat", actions: [ { - class: "com.bladecoder.engine.actions.AlphaAnimAction", + class: "AlphaAnim", actor: "ball", alpha: 0, speed: 1, @@ -680,10 +646,10 @@ scenes: { zIndex: 0, layer: "dynamic", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { ball: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ball", source: "scene1", duration: 1, @@ -701,45 +667,8 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - door_right: { - class: "com.bladecoder.engine.model.InteractiveActor", - id: "door_right", - bbox: [ 1.1622314, 20.920135, 0, 200, 98.88623, 203.48676, 102.3728, 18.595642 ], - pos: { - x: 1455.109, - y: 395.15738 - }, - visible: true, - refPoint: { - x: 50.575684, - y: 7.4927063 - }, - verbs: { - leave: { - id: "leave", - icon: "up", - actions: [ - { - class: "com.bladecoder.engine.actions.GotoAction", - actor: "$PLAYER", - target: "door_right", - ignoreWalkZone: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.LeaveAction", - scene: "basic2", - init: true - } - ] - } - }, - interaction: true, - zIndex: 0, - layer: "background" - }, blue: { - class: "com.bladecoder.engine.model.CharacterActor", + class: "CharacterActor", id: "blue", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { @@ -753,21 +682,21 @@ scenes: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.SetCutmodeAction", + class: "Cutmode", value: true }, { - class: "com.bladecoder.engine.actions.SetActorAttrAction", + class: "SetActorAttr", actor: "$PLAYER", interaction: true }, { - class: "com.bladecoder.engine.actions.SetPlayerAction", + class: "SetPlayer", actor: "blue", inventory: "blue" }, { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "$PLAYER", text: "@01.char4.pickup.3.text", type: "SUBTITLE", @@ -775,7 +704,7 @@ scenes: { wait: true }, { - class: "com.bladecoder.engine.actions.SetCutmodeAction", + class: "Cutmode", value: false } ] @@ -785,45 +714,45 @@ scenes: { zIndex: 1, layer: "dynamic", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { - "walk.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "walk.right", - source: "char", - duration: 0.5, - animationType: "REPEAT", - count: -1, - preload: true - }, "stand.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "stand.right", source: "char", duration: 1, animationType: "NO_REPEAT", count: -1, preload: true + }, + "walk.right": { + class: "AtlasAnimationDesc", + id: "walk.right", + source: "char", + duration: 0.5, + animationType: "REPEAT", + count: -1, + preload: true } }, initAnimation: "stand.left", orgAlign: 4 }, - scaleX: 0.13639663, - scaleY: 0.13639663, - rot: 0, tint: { r: 0.53333336, g: 0.53333336, b: 1, a: 1 }, + scaleX: 0.13639663, + scaleY: 0.13639663, + rot: 0, fakeDepth: true, bboxFromRenderer: true, walkingSpeed: 2000 }, char: { - class: "com.bladecoder.engine.model.CharacterActor", + class: "CharacterActor", id: "char", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { @@ -840,21 +769,21 @@ scenes: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.SetCutmodeAction", + class: "Cutmode", value: true }, { - class: "com.bladecoder.engine.actions.SetActorAttrAction", + class: "SetActorAttr", actor: "$PLAYER", interaction: true }, { - class: "com.bladecoder.engine.actions.SetPlayerAction", + class: "SetPlayer", actor: "char", inventory: "white" }, { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "$PLAYER", text: "@01.char.pickup.4.text", type: "SUBTITLE", @@ -862,7 +791,7 @@ scenes: { wait: true }, { - class: "com.bladecoder.engine.actions.SetCutmodeAction", + class: "Cutmode", value: false } ] @@ -872,25 +801,25 @@ scenes: { zIndex: 1, layer: "dynamic", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { - "walk.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "walk.right", - source: "char", - duration: 0.5, - animationType: "REPEAT", - count: -1, - preload: true - }, "stand.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "stand.right", source: "char", duration: 1, animationType: "NO_REPEAT", count: -1, preload: true + }, + "walk.right": { + class: "AtlasAnimationDesc", + id: "walk.right", + source: "char", + duration: 0.5, + animationType: "REPEAT", + count: -1, + preload: true } }, initAnimation: "stand.right", @@ -903,271 +832,282 @@ scenes: { bboxFromRenderer: true, walkingSpeed: 2000 }, - test_actions: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "test_actions", + cube: { + class: "SpriteActor", + id: "cube", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 621.7815, - y: 772.6084 + x: 521.5177, + y: 362.6178 }, visible: true, - desc: "@01.test_actions.desc", - refPoint: {}, + desc: "@01.cube.desc", + refPoint: { + x: 93.710205, + y: 20.371826 + }, verbs: { - lookat: { - id: "lookat", - actions: [ - { - class: "com.bladecoder.engine.actions.SayAction", - actor: "test_actions", - text: "@01.test_actions.lookat.0.text", - type: "SUBTITLE", - queue: false, - wait: true - } - ] - }, pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "test_actions", - state: "1" - }, - { - class: "com.bladecoder.engine.actions.SetCutmodeAction", - value: true - }, - { - class: "com.bladecoder.engine.actions.IfAttrAction", - actor: "test_actions", - attr: "STATE", - value: "1", - caID: "else123" - }, - { - class: "com.bladecoder.engine.actions.SayAction", - actor: "test_actions", - text: "@01.test_actions.pickup.2.text", - type: "SUBTITLE", - queue: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "else123" - }, - { - class: "com.bladecoder.engine.actions.SayAction", - actor: "test_actions", - text: "@01.test_actions.pickup.5.text_", - type: "SUBTITLE", - queue: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.AnimationAction", - animation: "test_actions#error", - count: 1, - wait: false, - repeat: "SPRITE_DEFINED", - keepDirection: false - }, - { - class: "com.bladecoder.engine.actions.CancelVerbAction", - actor: "test_actions" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "else123" - }, - { - class: "com.bladecoder.engine.actions.IfAttrAction", - actor: "test_actions", - attr: "STATE", - value: "2", - caID: "else1234" - }, - { - class: "com.bladecoder.engine.actions.SayAction", - actor: "test_actions", - text: "@01.test_actions.pickup.10.text_", - type: "SUBTITLE", - queue: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.AnimationAction", - animation: "test_actions#error", - count: 1, - wait: false, - repeat: "SPRITE_DEFINED", - keepDirection: false - }, - { - class: "com.bladecoder.engine.actions.CancelVerbAction", - actor: "test_actions" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "else1234" - }, - { - class: "com.bladecoder.engine.actions.SayAction", - actor: "test_actions", - text: "@01.test_actions.pickup.11.text", - type: "SUBTITLE", - queue: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "else1234" - }, - { - class: "com.bladecoder.engine.actions.RepeatAction", - repeat: 3, - caID: "repeat123" - }, - { - class: "com.bladecoder.engine.actions.ChooseAction", - chooseCriteria: "CYCLE", - caID: "choose123" - }, - { - class: "com.bladecoder.engine.actions.SayAction", - actor: "test_actions", - text: "@01.test_actions.pickup.18.text", - type: "SUBTITLE", - queue: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.SayAction", - actor: "test_actions", - text: "@01.test_actions.pickup.16.text_", - type: "SUBTITLE", - queue: false, + class: "Goto", + actor: "$PLAYER", + target: "cube", + ignoreWalkZone: false, wait: true }, { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "test_actions", - state: "3" + class: "LookAt", + direction: "LEFT", + wait: false }, { - class: "com.bladecoder.engine.actions.EndAction", - caID: "choose123" - }, + class: "PickUp", + actor: "cube" + } + ] + }, + lookat: { + id: "lookat", + actions: [ { - class: "com.bladecoder.engine.actions.EndAction", - caID: "repeat123" + class: "com.bladecoder.engine.actions.AddValueToProperty", + prop: "COUNTER", + value: 1 }, { - class: "com.bladecoder.engine.actions.IfAttrAction", - actor: "test_actions", - attr: "STATE", + class: "IfProperty", + name: "COUNTER", value: "3", - caID: "else12345" + caID: "1198688830" }, { - class: "com.bladecoder.engine.actions.SayAction", - actor: "test_actions", - text: "@01.test_actions.pickup.21.text_", + class: "Say", + actor: "$PLAYER", + text: "@01.cube.lookat.2.text", type: "SUBTITLE", queue: false, wait: true }, { - class: "com.bladecoder.engine.actions.EndAction", - caID: "else12345" + class: "End", + caID: "1198688830" }, { - class: "com.bladecoder.engine.actions.SayAction", - actor: "test_actions", - text: "@01.test_actions.pickup.24.text__", + class: "Say", + actor: "$PLAYER", + text: "@01.cube.lookat.4.text", type: "SUBTITLE", queue: false, wait: true }, { - class: "com.bladecoder.engine.actions.AnimationAction", - animation: "test_actions#error", - count: 1, - wait: false, - repeat: "SPRITE_DEFINED", - keepDirection: false + class: "End", + caID: "1198688830" + } + ] + } + }, + interaction: true, + zIndex: 0, + layer: "dynamic", + renderer: { + class: "AtlasRenderer", + fanims: { + ball: { + class: "AtlasAnimationDesc", + id: "cube", + source: "scene1", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + }, + cube: { + class: "AtlasAnimationDesc", + id: "cube", + source: "scene1", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + } + }, + initAnimation: "ball", + orgAlign: 4 + }, + tint: { + r: 0.4, + g: 0.4, + b: 0.4, + a: 1 + }, + scaleX: 1, + scaleY: 1, + rot: 0, + fakeDepth: false, + bboxFromRenderer: true + }, + door_left: { + class: "InteractiveActor", + id: "door_left", + bbox: [ 6.1985474, -71.283264, 0, 200, 72.92984, 215.49634, 93.07495, -27.893463 ], + pos: { + x: 251.04129, + y: 339.37048 + }, + visible: true, + refPoint: { + x: 103.024414, + y: -49.89804 + }, + verbs: { + leave: { + id: "leave", + actions: [ + { + class: "Goto", + actor: "$PLAYER", + target: "door_left", + ignoreWalkZone: false, + wait: true }, { - class: "com.bladecoder.engine.actions.CancelVerbAction", - actor: "test_actions" + class: "Leave", + scene: "basic3", + init: true + } + ] + } + }, + interaction: true, + zIndex: 0, + layer: "background" + }, + door_right: { + class: "InteractiveActor", + id: "door_right", + bbox: [ 1.1622314, 20.920135, 0, 200, 98.88623, 203.48676, 102.3728, 18.595642 ], + pos: { + x: 1455.109, + y: 395.15738 + }, + visible: true, + refPoint: { + x: 50.575684, + y: 7.4927063 + }, + verbs: { + leave: { + id: "leave", + icon: "up", + actions: [ + { + class: "Goto", + actor: "$PLAYER", + target: "door_right", + ignoreWalkZone: false, + wait: true }, { - class: "com.bladecoder.engine.actions.EndAction", - caID: "else12345" + class: "Leave", + scene: "basic2", + init: true + } + ] + } + }, + interaction: true, + zIndex: 0, + layer: "background" + }, + green: { + class: "CharacterActor", + id: "green", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 1688.2659, + y: 308.31876 + }, + visible: true, + refPoint: {}, + verbs: { + pickup: { + id: "pickup", + actions: [ + { + class: "Cutmode", + value: true }, { - class: "com.bladecoder.engine.actions.AnimationAction", - animation: "test_actions#ok", - count: 1, - wait: false, - repeat: "SPRITE_DEFINED", - keepDirection: false + class: "SetActorAttr", + actor: "$PLAYER", + interaction: true + }, + { + class: "SetPlayer", + actor: "green", + inventory: "green" + }, + { + class: "Say", + actor: "$PLAYER", + text: "@01.char3.pickup.3.text", + type: "SUBTITLE", + queue: false, + wait: true }, { - class: "com.bladecoder.engine.actions.SetCutmodeAction", + class: "Cutmode", value: false } ] } }, interaction: true, - zIndex: 0, - layer: "foreground", + zIndex: 1, + layer: "dynamic", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { - go: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "go", - source: "testbutton", - duration: 1, - animationType: "NO_REPEAT", - count: -1, - preload: true - }, - error: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "error", - source: "testbutton", + "stand.right": { + class: "AtlasAnimationDesc", + id: "stand.right", + source: "char", duration: 1, animationType: "NO_REPEAT", count: -1, preload: true }, - ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "ok", - source: "testbutton", - duration: 1, - animationType: "NO_REPEAT", + "walk.right": { + class: "AtlasAnimationDesc", + id: "walk.right", + source: "char", + duration: 0.5, + animationType: "REPEAT", count: -1, preload: true } }, - initAnimation: "go", + initAnimation: "stand.left", orgAlign: 4 }, - scaleX: 1, - scaleY: 1, + tint: { + r: 0.53333336, + g: 1, + b: 0.53333336, + a: 1 + }, + scaleX: 0.19001375, + scaleY: 0.19001375, rot: 0, - fakeDepth: false, - bboxFromRenderer: true + fakeDepth: true, + bboxFromRenderer: true, + walkingSpeed: 2000 }, particle: { - class: "com.bladecoder.engine.model.SpriteActor", + class: "SpriteActor", id: "particle", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { @@ -1181,7 +1121,7 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.ParticleRenderer", + class: "ParticleRenderer", atlasName: "particles", particleName: "bigFire", orgAlign: 4 @@ -1192,342 +1132,335 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - cube: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "cube", + particle2: { + class: "SpriteActor", + id: "particle2", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 521.5177, - y: 362.6178 + x: 1551.1857, + y: 19.144714 + }, + visible: true, + refPoint: {}, + verbs: {}, + interaction: true, + zIndex: 0, + layer: "foreground", + renderer: { + class: "ParticleRenderer", + atlasName: "particles", + particleName: "firefly", + orgAlign: 4 + }, + scaleX: 2, + scaleY: 2, + rot: 0, + fakeDepth: false, + bboxFromRenderer: true + }, + red: { + class: "CharacterActor", + id: "red", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 1298.4912, + y: 349.08066 }, visible: true, - desc: "@01.cube.desc", refPoint: { - x: 93.710205, - y: 20.371826 + x: -118.37598, + y: 1.443634 }, verbs: { pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.GotoAction", - actor: "$PLAYER", - target: "cube", - ignoreWalkZone: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.LookAtAction", - direction: "LEFT", - wait: false - }, - { - class: "com.bladecoder.engine.actions.PickUpAction", - actor: "cube" - } - ] - }, - lookat: { - id: "lookat", - actions: [ - { - class: "com.bladecoder.engine.actions.AddValueToProperty", - prop: "COUNTER", - value: 1 - }, - { - class: "com.bladecoder.engine.actions.IfPropertyAction", - name: "COUNTER", - value: "3", - caID: "1198688830" + class: "Cutmode", + value: true }, { - class: "com.bladecoder.engine.actions.SayAction", + class: "SetActorAttr", actor: "$PLAYER", - text: "@01.cube.lookat.2.text", - type: "SUBTITLE", - queue: false, - wait: true + interaction: true }, { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1198688830" + class: "SetPlayer", + actor: "red", + inventory: "red" }, { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "$PLAYER", - text: "@01.cube.lookat.4.text", + text: "@01.char2.pickup.4.text", type: "SUBTITLE", queue: false, wait: true }, { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1198688830" + class: "Cutmode", + value: false } ] } }, interaction: true, - zIndex: 0, + zIndex: 1, layer: "dynamic", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { - ball: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "cube", - source: "scene1", + "stand.right": { + class: "AtlasAnimationDesc", + id: "stand.right", + source: "char", duration: 1, animationType: "NO_REPEAT", count: -1, preload: true }, - cube: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "cube", - source: "scene1", - duration: 1, - animationType: "NO_REPEAT", + "walk.right": { + class: "AtlasAnimationDesc", + id: "walk.right", + source: "char", + duration: 0.5, + animationType: "REPEAT", count: -1, preload: true } }, - initAnimation: "ball", + initAnimation: "stand.left", orgAlign: 4 }, - scaleX: 1, - scaleY: 1, - rot: 0, tint: { - r: 0.4, - g: 0.4, - b: 0.4, + r: 1, + g: 0.53333336, + b: 0.53333336, a: 1 }, - fakeDepth: false, - bboxFromRenderer: true + scaleX: 0.16458614, + scaleY: 0.16458614, + rot: 0, + fakeDepth: true, + bboxFromRenderer: true, + walkingSpeed: 2000 }, - text: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "text", + test_actions: { + class: "SpriteActor", + id: "test_actions", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 1126.2278, - y: 820.6056 + x: 621.7815, + y: 772.6084 }, visible: true, + desc: "@01.test_actions.desc", refPoint: {}, verbs: { + lookat: { + id: "lookat", + actions: [ + { + class: "Say", + actor: "test_actions", + text: "@01.test_actions.lookat.0.text", + type: "SUBTITLE", + queue: false, + wait: true + } + ] + }, pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.AlphaAnimAction", - actor: "text", - alpha: 0, - speed: 0.5, + class: "ActorState", + actor: "test_actions", + state: "1" + }, + { + class: "Cutmode", + value: true + }, + { + class: "IfActorAttr", + actor: "test_actions", + attr: "STATE", + value: "1", + caID: "else123" + }, + { + class: "Say", + actor: "test_actions", + text: "@01.test_actions.pickup.2.text", + type: "SUBTITLE", + queue: false, + wait: true + }, + { + class: "End", + caID: "else123" + }, + { + class: "Say", + actor: "test_actions", + text: "@01.test_actions.pickup.5.text_", + type: "SUBTITLE", + queue: false, + wait: true + }, + { + class: "Animation", + animation: "test_actions#error", count: 1, - wait: true, - repeat: "NO_REPEAT" + wait: false, + repeat: "SPRITE_DEFINED", + keepDirection: false }, { - class: "com.bladecoder.engine.actions.AlphaAnimAction", - actor: "text", - alpha: 1, - speed: 0.5, + class: "CancelVerb", + actor: "test_actions" + }, + { + class: "End", + caID: "else123" + }, + { + class: "IfActorAttr", + actor: "test_actions", + attr: "STATE", + value: "2", + caID: "else1234" + }, + { + class: "Say", + actor: "test_actions", + text: "@01.test_actions.pickup.10.text_", + type: "SUBTITLE", + queue: false, + wait: true + }, + { + class: "Animation", + animation: "test_actions#error", count: 1, - wait: true, - repeat: "NO_REPEAT" - } - ] - } - }, - interaction: true, - zIndex: 0, - layer: "foreground", - renderer: { - class: "com.bladecoder.engine.model.TextRenderer", - text: "text", - fontName: "ArchitectsDaughter", - fontSize: 100, - borderWidth: 0, - borderColor: { - a: 1 - }, - borderStraight: true, - shadowOffsetX: 0, - shadowOffsetY: 0, - shadowColor: { - a: 1 - }, - align: 8, - orgAlign: 4 - }, - scaleX: 2, - scaleY: 2, - rot: 45, - fakeDepth: false, - bboxFromRenderer: true - }, - "ui-actor": { - class: "com.bladecoder.engine.model.SpriteActor", - id: "ui-actor", - bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], - pos: { - x: 73.79169, - y: 945.10004 - }, - visible: true, - refPoint: {}, - verbs: { - leave: { - id: "leave", - actions: [ + wait: false, + repeat: "SPRITE_DEFINED", + keepDirection: false + }, + { + class: "CancelVerb", + actor: "test_actions" + }, + { + class: "End", + caID: "else1234" + }, + { + class: "Say", + actor: "test_actions", + text: "@01.test_actions.pickup.11.text", + type: "SUBTITLE", + queue: false, + wait: true + }, + { + class: "End", + caID: "else1234" + }, + { + class: "Repeat", + repeat: 3, + caID: "repeat123" + }, + { + class: "Choose", + chooseCriteria: "CYCLE", + caID: "choose123" + }, + { + class: "Say", + actor: "test_actions", + text: "@01.test_actions.pickup.18.text", + type: "SUBTITLE", + queue: false, + wait: true + }, + { + class: "Say", + actor: "test_actions", + text: "@01.test_actions.pickup.16.text_", + type: "SUBTITLE", + queue: false, + wait: true + }, + { + class: "ActorState", + actor: "test_actions", + state: "3" + }, + { + class: "End", + caID: "choose123" + }, { - class: "com.bladecoder.engine.actions.TextAction", - text: "@01.ui-actor.leave.0.text", - style: "default", + class: "End", + caID: "repeat123" + }, + { + class: "IfActorAttr", + actor: "test_actions", + attr: "STATE", + value: "3", + caID: "else12345" + }, + { + class: "Say", + actor: "test_actions", + text: "@01.test_actions.pickup.21.text_", type: "SUBTITLE", queue: false, wait: true }, { - class: "com.bladecoder.engine.actions.TextAction", - text: "@01.ui-actor.leave.1.text", - style: "default", + class: "End", + caID: "else12345" + }, + { + class: "Say", + actor: "test_actions", + text: "@01.test_actions.pickup.24.text__", type: "SUBTITLE", queue: false, wait: true - } - ] - } - }, - interaction: true, - zIndex: 100, - layer: "foreground", - renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", - fanims: { - go: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "go", - source: "testbutton", - duration: 1, - animationType: "NO_REPEAT", - count: -1, - preload: true - }, - error: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "error", - source: "testbutton", - duration: 1, - animationType: "NO_REPEAT", - count: -1, - preload: true - }, - ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "ok", - source: "testbutton", - duration: 1, - animationType: "NO_REPEAT", - count: -1, - preload: true - } - }, - initAnimation: "error", - orgAlign: 0 - }, - scaleX: 0.5, - scaleY: 0.5, - rot: 0, - fakeDepth: false, - bboxFromRenderer: true - }, - particle2: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "particle2", - bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], - pos: { - x: 1551.1857, - y: 19.144714 - }, - visible: true, - refPoint: {}, - verbs: {}, - interaction: true, - zIndex: 0, - layer: "foreground", - renderer: { - class: "com.bladecoder.engine.model.ParticleRenderer", - atlasName: "particles", - particleName: "firefly", - orgAlign: 4 - }, - scaleX: 2, - scaleY: 2, - rot: 0, - fakeDepth: false, - bboxFromRenderer: true - }, - door_left: { - class: "com.bladecoder.engine.model.InteractiveActor", - id: "door_left", - bbox: [ 6.1985474, -71.283264, 0, 200, 72.92984, 215.49634, 93.07495, -27.893463 ], - pos: { - x: 251.04129, - y: 339.37048 - }, - visible: true, - refPoint: { - x: 103.024414, - y: -49.89804 - }, - verbs: { - leave: { - id: "leave", - actions: [ + }, { - class: "com.bladecoder.engine.actions.GotoAction", - actor: "$PLAYER", - target: "door_left", - ignoreWalkZone: false, - wait: true + class: "Animation", + animation: "test_actions#error", + count: 1, + wait: false, + repeat: "SPRITE_DEFINED", + keepDirection: false }, { - class: "com.bladecoder.engine.actions.LeaveAction", - scene: "basic3", - init: true - } - ] - } - }, - interaction: true, - zIndex: 0, - layer: "background" - }, - test_inventory: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "test_inventory", - bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], - pos: { - x: 372.02625, - y: 768.19934 - }, - visible: true, - desc: "@01.test_inventory.desc_", - refPoint: {}, - verbs: { - leave: { - id: "leave", - actions: [ + class: "CancelVerb", + actor: "test_actions" + }, { - class: "com.bladecoder.engine.actions.LeaveAction", - scene: "inventory", - init: true + class: "End", + caID: "else12345" + }, + { + class: "Animation", + animation: "test_actions#ok", + count: 1, + wait: false, + repeat: "SPRITE_DEFINED", + keepDirection: false + }, + { + class: "Cutmode", + value: false } ] } @@ -1536,20 +1469,20 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { - go: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "go", + error: { + class: "AtlasAnimationDesc", + id: "error", source: "testbutton", duration: 1, animationType: "NO_REPEAT", count: -1, preload: true }, - error: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "error", + go: { + class: "AtlasAnimationDesc", + id: "go", source: "testbutton", duration: 1, animationType: "NO_REPEAT", @@ -1557,7 +1490,7 @@ scenes: { preload: true }, ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, @@ -1573,134 +1506,26 @@ scenes: { scaleY: 1, rot: 0, fakeDepth: false, - bboxFromRenderer: true - } - }, - backgroundAtlas: "scene1", - backgroundRegionId: "bg1", - musicDesc: null, - depthVector: { - x: 612.92163, - y: -990.1354 - }, - verbs: { - init: { - id: "init", - actions: [ - { - class: "com.bladecoder.engine.actions.RunOnceAction", - caID: "930473402" - }, - { - class: "com.bladecoder.engine.actions.SetActorAttrAction", - actor: "ui-actor", - uiActor: true - }, - { - class: "com.bladecoder.engine.actions.SetPlayerAction", - actor: "char", - inventory: "white" - }, - { - class: "com.bladecoder.engine.actions.SayAction", - actor: "$PLAYER", - text: "@01.init.0.text", - type: "SUBTITLE", - queue: false, - wait: false - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "930473402" - }, - { - class: "com.bladecoder.engine.actions.IfPropertyAction", - name: "PREVIOUS_SCENE", - value: "basic3", - caID: "1891188477" - }, - { - class: "com.bladecoder.engine.actions.GotoAction", - actor: "$PLAYER", - pos: "749.0,330.0", - ignoreWalkZone: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1891188477" - }, - { - class: "com.bladecoder.engine.actions.IfPropertyAction", - name: "PREVIOUS_SCENE", - value: "basic2", - caID: "1421587304" - }, - { - class: "com.bladecoder.engine.actions.GotoAction", - actor: "$PLAYER", - pos: "1517.0,374.0", - ignoreWalkZone: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1421587304" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1421587304" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1891188477" - } - ] - } - }, - player: "char", - walkZone: "walkzone" - }, - parallax: { - id: "parallax", - layers: [ - { - name: "foreground", - parallax: 3.5 - }, - { - name: "dynamic" - }, - { - name: "background", - parallax: 0 - } - ], - actors: { - goto01: { - class: "com.bladecoder.engine.model.InteractiveActor", - id: "goto01", - bbox: [ -69.81134, 53.333344, -68.80505, 182.89307, 34.591248, 181.88678, 46.666687, 58.364746 ], + bboxFromRenderer: true + }, + test_inventory: { + class: "SpriteActor", + id: "test_inventory", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 801.9821, - y: 207.3566 + x: 372.02625, + y: 768.19934 }, visible: true, + desc: "@01.test_inventory.desc_", refPoint: {}, verbs: { leave: { id: "leave", actions: [ { - class: "com.bladecoder.engine.actions.GotoAction", - actor: "char", - target: "goto01", - ignoreWalkZone: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.LeaveAction", - scene: "basic1", + class: "Leave", + scene: "inventory", init: true } ] @@ -1708,35 +1533,39 @@ scenes: { }, interaction: true, zIndex: 0, - layer: "foreground" - }, - middleground: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "middleground", - bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], - pos: { - x: 1554 - }, - visible: true, - refPoint: {}, - verbs: {}, - interaction: false, - zIndex: -1, - layer: "dynamic", + layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { - background: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "middleground", - source: "parallax", + error: { + class: "AtlasAnimationDesc", + id: "error", + source: "testbutton", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + }, + go: { + class: "AtlasAnimationDesc", + id: "go", + source: "testbutton", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + }, + ok: { + class: "AtlasAnimationDesc", + id: "ok", + source: "testbutton", duration: 1, animationType: "NO_REPEAT", count: -1, preload: true } }, - initAnimation: "background", + initAnimation: "go", orgAlign: 4 }, scaleX: 1, @@ -1745,206 +1574,425 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - walkzone: { - class: "com.bladecoder.engine.model.WalkZoneActor", - id: "walkzone", - bbox: [ 18.73169, 37.46341, 37.46338, 209.79524, 3008.312, 247.25824, 3064.5073, 52.448776 ], - pos: {}, - visible: true - }, - background: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "background", + text: { + class: "SpriteActor", + id: "text", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 1551 + x: 1126.2278, + y: 820.6056 + }, + visible: true, + refPoint: {}, + verbs: { + pickup: { + id: "pickup", + actions: [ + { + class: "AlphaAnim", + actor: "text", + alpha: 0, + speed: 0.5, + count: 1, + wait: true, + repeat: "NO_REPEAT" + }, + { + class: "AlphaAnim", + actor: "text", + alpha: 1, + speed: 0.5, + count: 1, + wait: true, + repeat: "NO_REPEAT" + } + ] + } + }, + interaction: true, + zIndex: 0, + layer: "foreground", + renderer: { + class: "TextRenderer", + text: "text", + fontName: "ArchitectsDaughter", + fontSize: 100, + borderWidth: 0, + borderColor: { + a: 1 + }, + borderStraight: true, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: { + a: 1 + }, + align: 8, + orgAlign: 4 + }, + scaleX: 2, + scaleY: 2, + rot: 45, + fakeDepth: false, + bboxFromRenderer: true + }, + tint: { + class: "InteractiveActor", + id: "tint", + bbox: [ -416.72354, -2.1842957, -100, 200, 69.4198, 193.44711, -133.72015, 0 ], + pos: { + x: 657.4744, + y: 255.56323 + }, + visible: true, + refPoint: {}, + verbs: { + exit: { + id: "exit", + actions: [ + { + class: "IfSceneAttr", + attr: "PLAYER", + value: "char", + caID: "1640548163" + }, + { + class: "SetActorAttr", + actor: "$PLAYER", + tint: "ffffffff" + }, + { + class: "End", + caID: "1640548163" + }, + { + class: "IfSceneAttr", + attr: "PLAYER", + value: "red", + caID: "1070630759" + }, + { + class: "DisableAction", + serializedAction: "{class:com.bladecoder.engine.actions.SetActorAttrAction,actor:$PLAYER,tint:ff6666ff}" + }, + { + class: "TintAnim", + actor: "$PLAYER", + color: "ff6666ff", + speed: 0.2, + count: 1, + wait: true, + repeat: "REPEAT" + }, + { + class: "End", + caID: "1070630759" + }, + { + class: "IfSceneAttr", + attr: "PLAYER", + value: "green", + caID: "1006819085" + }, + { + class: "Camera", + zoom: 1, + duration: 1, + interpolation: "FADE", + wait: false + }, + { + class: "SetActorAttr", + actor: "$PLAYER", + tint: "66ff66ff" + }, + { + class: "End", + caID: "1006819085" + }, + { + class: "SetActorAttr", + actor: "$PLAYER", + tint: "6666ffff" + }, + { + class: "End", + caID: "1006819085" + }, + { + class: "End", + caID: "1070630759" + }, + { + class: "End", + caID: "1640548163" + } + ] + }, + enter: { + id: "enter", + actions: [ + { + class: "IfSceneAttr", + attr: "PLAYER", + value: "char", + caID: "602572309" + }, + { + class: "SetActorAttr", + actor: "$PLAYER", + tint: "666666ff" + }, + { + class: "End", + caID: "602572309" + }, + { + class: "IfSceneAttr", + attr: "PLAYER", + value: "red", + caID: "1331490757" + }, + { + class: "DisableAction", + serializedAction: "{class:com.bladecoder.engine.actions.SetActorAttrAction,actor:$PLAYER,tint:660000ff}" + }, + { + class: "TintAnim", + actor: "$PLAYER", + color: "660000ff", + speed: 0.2, + count: 1, + wait: true, + repeat: "REPEAT" + }, + { + class: "End", + caID: "1331490757" + }, + { + class: "IfSceneAttr", + attr: "PLAYER", + value: "green", + caID: "1522226691" + }, + { + class: "SetActorAttr", + actor: "$PLAYER", + tint: "006600ff" + }, + { + class: "Camera", + pos: "0.0,0.0", + interpolation: "FADE", + wait: false + }, + { + class: "Camera", + zoom: 0.5, + duration: 1, + interpolation: "FADE", + wait: true + }, + { + class: "End", + caID: "1522226691" + }, + { + class: "SetActorAttr", + actor: "$PLAYER", + tint: "000066ff" + }, + { + class: "End", + caID: "1522226691" + }, + { + class: "End", + caID: "1331490757" + }, + { + class: "End", + caID: "602572309" + } + ] + } }, - visible: true, - refPoint: {}, - verbs: {}, interaction: false, zIndex: 0, - layer: "background", - renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", - fanims: { - background: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "background", - source: "parallax", - duration: 1, - animationType: "NO_REPEAT", - count: -1, - preload: true - } - }, - initAnimation: "background", - orgAlign: 4 - }, - scaleX: 1, - scaleY: 1, - rot: 0, - fakeDepth: false, - bboxFromRenderer: true + layer: "foreground" }, - char: { - class: "com.bladecoder.engine.model.CharacterActor", - id: "char", + "ui-actor": { + class: "SpriteActor", + id: "ui-actor", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 1793.2177, - y: 65.78964 + x: 73.79169, + y: 945.10004 }, visible: true, refPoint: {}, - verbs: {}, - interaction: false, - zIndex: 1, - layer: "dynamic", + verbs: { + leave: { + id: "leave", + actions: [ + { + class: "Text", + text: "@01.ui-actor.leave.0.text", + style: "default", + type: "SUBTITLE", + queue: false, + wait: true + }, + { + class: "Text", + text: "@01.ui-actor.leave.1.text", + style: "default", + type: "SUBTITLE", + queue: false, + wait: true + } + ] + } + }, + interaction: true, + zIndex: 100, + layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { - "walk.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "walk.right", - source: "char", - duration: 0.5, - animationType: "REPEAT", - count: -1, - preload: true - }, - "stand.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "stand.right", - source: "char", + error: { + class: "AtlasAnimationDesc", + id: "error", + source: "testbutton", duration: 1, animationType: "NO_REPEAT", count: -1, preload: true - } - }, - initAnimation: "stand.right", - orgAlign: 4 - }, - scaleX: 0.3110584, - scaleY: 0.3110584, - rot: 0, - fakeDepth: true, - bboxFromRenderer: true, - walkingSpeed: 2000 - }, - foreground: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "foreground", - bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], - pos: { - x: 177.10706 - }, - visible: true, - refPoint: {}, - verbs: {}, - interaction: false, - zIndex: 0, - layer: "foreground", - renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", - fanims: { - foreground1: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "foreground1", - source: "parallax", + }, + go: { + class: "AtlasAnimationDesc", + id: "go", + source: "testbutton", duration: 1, animationType: "NO_REPEAT", count: -1, preload: true - } - }, - initAnimation: "foreground1", - orgAlign: 4 - }, - scaleX: 1, - scaleY: 1, - rot: 0, - fakeDepth: false, - bboxFromRenderer: true - }, - foreground2: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "foreground2", - bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], - pos: { - x: 3084.321 - }, - visible: true, - refPoint: {}, - verbs: {}, - interaction: false, - zIndex: 0, - layer: "foreground", - renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", - fanims: { - foreground1: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "foreground2", - source: "parallax", + }, + ok: { + class: "AtlasAnimationDesc", + id: "ok", + source: "testbutton", duration: 1, animationType: "NO_REPEAT", count: -1, preload: true } }, - initAnimation: "foreground1", - orgAlign: 4 - }, - scaleX: 1, - scaleY: 1, - rot: 0, - fakeDepth: false, - bboxFromRenderer: true - }, - particle3: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "particle3", - bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], - pos: { - x: -26.70813, - y: 1129.6176 - }, - visible: true, - refPoint: {}, - verbs: {}, - interaction: true, - zIndex: 1, - layer: "dynamic", - renderer: { - class: "com.bladecoder.engine.model.ParticleRenderer", - atlasName: "particles", - particleName: "rain", + initAnimation: "error", orgAlign: 0 }, - scaleX: 1, - scaleY: 1, + scaleX: 0.5, + scaleY: 0.5, rot: 0, fakeDepth: false, bboxFromRenderer: true + }, + walkzone: { + class: "WalkZoneActor", + id: "walkzone", + bbox: [ 297.42737, 284.14938, 568.29877, 434.68887, 719.6436, 446.8797, 650.82916, 341.34033, 1368.244, 372.9064, 1353.6876, 407.92526, 1922.6555, 410.7885, 1934.324, 311.18817, 1543.7379, 296.05563, 1514.5264, 349.16766, 624.51056, 318.71033, 589.1026, 283.30228 ], + pos: {}, + visible: true } }, + backgroundAtlas: "scene1", + backgroundRegionId: "bg1", musicDesc: null, depthVector: { - x: 344.45578, - y: -551.40857 + x: 612.92163, + y: -990.1354 }, - sceneSize: { - x: 3103, - y: 1080 + verbs: { + init: { + id: "init", + actions: [ + { + class: "RunOnce", + caID: "930473402" + }, + { + class: "SetActorAttr", + actor: "ui-actor", + uiActor: true + }, + { + class: "SetPlayer", + actor: "char", + inventory: "white" + }, + { + class: "Say", + actor: "$PLAYER", + text: "@01.init.0.text", + type: "SUBTITLE", + queue: false, + wait: false + }, + { + class: "End", + caID: "930473402" + }, + { + class: "IfProperty", + name: "PREVIOUS_SCENE", + value: "basic3", + caID: "1891188477" + }, + { + class: "Goto", + actor: "$PLAYER", + pos: "749.0,330.0", + ignoreWalkZone: false, + wait: true + }, + { + class: "End", + caID: "1891188477" + }, + { + class: "IfProperty", + name: "PREVIOUS_SCENE", + value: "basic2", + caID: "1421587304" + }, + { + class: "Goto", + actor: "$PLAYER", + pos: "1517.0,374.0", + ignoreWalkZone: false, + wait: true + }, + { + class: "End", + caID: "1421587304" + }, + { + class: "End", + caID: "1421587304" + }, + { + class: "End", + caID: "1891188477" + } + ] + } }, - verbs: {}, player: "char", walkZone: "walkzone" }, - actor3d: { - id: "actor3d", + basic2: { + id: "basic2", layers: [ { name: "foreground" @@ -1958,68 +2006,60 @@ scenes: { } ], actors: { - fg2: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "fg2", - bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + exit: { + class: "InteractiveActor", + id: "exit", + bbox: [ -570.5481, -21.131287, -408.54053, 171.8248, 1172.0449, 214.08759, 1263.6143, -14.0876465 ], pos: { - x: 2727.407 + x: 405.07428, + y: -48.177734 }, visible: true, refPoint: {}, - verbs: {}, - interaction: false, - zIndex: 0, - layer: "foreground", - renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", - fanims: { - head_fg: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "head_fg", - source: "00", - duration: 1, - animationType: "NO_REPEAT", - count: -1, - preload: true - } - }, - initAnimation: "head_fg", - orgAlign: 4 + verbs: { + leave: { + id: "leave", + actions: [ + { + class: "Leave", + scene: "basic1", + init: true + } + ] + } }, - scaleX: 1, - scaleY: 1, - rot: 0, - fakeDepth: false, - bboxFromRenderer: true + interaction: true, + zIndex: 0, + layer: "background" }, - fg1: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "fg1", + i18ntext: { + class: "SpriteActor", + id: "i18ntext", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 158.68916 + x: 451.26367, + y: 448.4259 }, visible: true, refPoint: {}, verbs: {}, - interaction: false, + interaction: true, zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "ImageRenderer", fanims: { - column_fg: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "column_fg", - source: "00", + text: { + class: "com.bladecoder.engine.anim.AnimationDesc", + id: "text", + source: "@text.png", duration: 1, animationType: "NO_REPEAT", count: -1, preload: true } }, - initAnimation: "column_fg", + initAnimation: "text", orgAlign: 4 }, scaleX: 1, @@ -2027,112 +2067,162 @@ scenes: { rot: 0, fakeDepth: false, bboxFromRenderer: true + } + }, + backgroundAtlas: "scene2", + backgroundRegionId: "bg2", + musicDesc: null, + verbs: {}, + walkZone: null + }, + basic3: { + id: "basic3", + layers: [ + { + name: "foreground" }, - walkzone: { - class: "com.bladecoder.engine.model.WalkZoneActor", - id: "walkzone", - bbox: [ 108.911804, -40.125336, 627.953, 441.84213, 668.9139, 407.532, 533.09656, 221.31633, 907.7121, 111.8475, 1196.9875, 214.7468, 1176.444, 387.23248, 1793.0767, 449.25903, 1853.1136, 514.7108, 2497.128, 520.0789, 2869.7212, -0.8026047 ], - pos: { - x: 18.916138, - y: 3.7832947 - }, - visible: true + { + name: "dynamic", + dynamic: true }, - player: { - class: "com.bladecoder.engine.model.CharacterActor", - id: "player", - bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + { + name: "background" + } + ], + actors: { + exit: { + class: "InteractiveActor", + id: "exit", + bbox: [ 38.740845, -302.1791, 37.191406, 172.10663, 237.19135, 160.69553, 225.35773, -344.01953 ], pos: { - x: 2174.0637, - y: 45.82788 + x: 1644.7837, + y: 578.7209 }, visible: true, - refPoint: {}, - verbs: {}, - interaction: false, - zIndex: 0, - layer: "dynamic", - renderer: { - class: "com.bladecoder.engine.model.Sprite3DRenderer", - fanims: { - talk: { - class: "com.bladecoder.engine.anim.AnimationDesc", - id: "talk", - source: "Robie", - duration: 1, - animationType: "REPEAT", - count: -1, - preload: true - }, - stand: { - class: "com.bladecoder.engine.anim.AnimationDesc", - id: "stand", - source: "Robie", - duration: 1, - animationType: "NO_REPEAT", - count: -1, - preload: true - }, - walk: { - class: "com.bladecoder.engine.anim.AnimationDesc", - id: "walk", - source: "Robie", - duration: 1, - animationType: "REPEAT", - count: -1, - preload: true - } - }, - initAnimation: "stand", - orgAlign: 4, - width: 700, - height: 700, - cameraPos: { - x: -3.06087E-8, - y: 1.5016524, - z: 2.325469 - }, - cameraRot: { - x: -14.617197, - y: -8.823316E-7, - z: 1.5707963 - }, - cameraName: "Camera", - cameraFOV: 49.3, - renderShadow: true, - modelRotation: 0 + refPoint: { + x: 5.774414, + y: -326.25568 }, - scaleX: 0.9786623, - scaleY: 0.9786623, - rot: 0, - fakeDepth: true, - bboxFromRenderer: true, - walkingSpeed: 700 + verbs: { + leave: { + id: "leave", + actions: [ + { + class: "Goto", + actor: "$PLAYER", + target: "exit", + ignoreWalkZone: false, + wait: true + }, + { + class: "Position", + actor: "$PLAYER", + target: "basic1#door_left" + }, + { + class: "MoveToScene", + actor: "$PLAYER", + scene: "basic1" + }, + { + class: "IfSceneAttr", + attr: "PLAYER", + value: "char", + caID: "1348253093" + }, + { + class: "SetPlayer", + actor: "basic1#char" + }, + { + class: "End", + caID: "1348253093" + }, + { + class: "SetPlayer", + actor: "basic1#red" + }, + { + class: "End", + caID: "1348253093" + }, + { + class: "Leave", + scene: "basic1", + init: true + } + ] + } + }, + interaction: true, + zIndex: 0, + layer: "background" + }, + walkzone: { + class: "WalkZoneActor", + id: "walkzone", + bbox: [ 157.48462, 39.371155, 398.08618, 257.5802, 965.618, 80.41797, 1203.7566, 93.22626, 1226.6244, 304.53226, 1530.6631, 318.8243, 1885.0032, 157.48468, 1786.2855, 74.84706 ], + pos: {}, + visible: true } }, - backgroundAtlas: "00", - backgroundRegionId: "bg1", + backgroundAtlas: "scene3", + backgroundRegionId: "bg3", musicDesc: null, depthVector: { - x: 2673.551, - y: -11.464233 + x: 613.83704, + y: -631.38477 }, verbs: { init: { id: "init", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "IfSceneAttr", + scene: "basic1", + attr: "PLAYER", + value: "char", + caID: "742759885" + }, + { + class: "MoveToScene", + actor: "basic1#char" + }, + { + class: "SetPlayer", + actor: "char" + }, + { + class: "End", + caID: "742759885" + }, + { + class: "MoveToScene", + actor: "basic1#red" + }, + { + class: "SetPlayer", + actor: "red" + }, + { + class: "End", + caID: "742759885" + }, + { + class: "Position", + actor: "$PLAYER", + target: "exit" + }, + { + class: "Goto", actor: "$PLAYER", - text: "@actor3d.init.0.text", - type: "SUBTITLE", - queue: false, + pos: "1501.0,251.0", + ignoreWalkZone: false, wait: true } ] } }, - player: "player", walkZone: "walkzone" }, ink1: { @@ -2150,34 +2240,120 @@ scenes: { } ], actors: { - RED: { - class: "com.bladecoder.engine.model.CharacterActor", - id: "RED", + GREEN: { + class: "CharacterActor", + id: "GREEN", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 360.37726, - y: 357.57773 + x: 1386.7396, + y: 87.49176 }, visible: true, - refPoint: {}, - verbs: {}, - interaction: false, + refPoint: { + x: 8.069885 + }, + verbs: { + talkto: { + id: "talkto", + actions: [ + { + class: "Cutmode", + value: true + }, + { + class: "Goto", + actor: "$PLAYER", + target: "target", + ignoreWalkZone: false, + wait: true + }, + { + class: "Animation", + animation: "$PLAYER#stand.right", + count: -1, + wait: false, + repeat: "SPRITE_DEFINED", + keepDirection: false + }, + { + class: "InkRun", + path: "scene1.green", + wait: true + }, + { + class: "Cutmode", + value: false + } + ] + } + }, + interaction: true, zIndex: 0, layer: "dynamic", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { + "stand.right": { + class: "AtlasAnimationDesc", + id: "stand.right", + source: "char", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + }, + "talk.right": { + class: "AtlasAnimationDesc", + id: "talk.right", + source: "char", + duration: 0.4, + animationType: "REPEAT", + count: -1, + preload: true + }, "walk.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "walk.right", source: "char", duration: 0.7, animationType: "REPEAT", count: -1, preload: true - }, + } + }, + initAnimation: "stand.right", + orgAlign: 0 + }, + tint: { + g: 1, + a: 1 + }, + scaleX: 0.6267129, + scaleY: 0.6267129, + rot: 0, + fakeDepth: true, + bboxFromRenderer: true, + walkingSpeed: 1000 + }, + RED: { + class: "CharacterActor", + id: "RED", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 360.37726, + y: 357.57773 + }, + visible: true, + refPoint: {}, + verbs: {}, + interaction: false, + zIndex: 0, + layer: "dynamic", + renderer: { + class: "AtlasRenderer", + fanims: { "stand.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "stand.right", source: "char", duration: 1, @@ -2186,31 +2362,40 @@ scenes: { preload: true }, "talk.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "talk.right", source: "char", duration: 0.4, animationType: "REPEAT", count: -1, preload: true + }, + "walk.right": { + class: "AtlasAnimationDesc", + id: "walk.right", + source: "char", + duration: 0.7, + animationType: "REPEAT", + count: -1, + preload: true } }, initAnimation: "stand.right", orgAlign: 0 }, - scaleX: 0.3066198, - scaleY: 0.3066198, - rot: 0, tint: { r: 1, a: 1 }, + scaleX: 0.3066198, + scaleY: 0.3066198, + rot: 0, fakeDepth: true, bboxFromRenderer: true, walkingSpeed: 1000 }, example2: { - class: "com.bladecoder.engine.model.SpriteActor", + class: "SpriteActor", id: "example2", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { @@ -2225,7 +2410,7 @@ scenes: { icon: "right", actions: [ { - class: "com.bladecoder.engine.actions.LeaveAction", + class: "Leave", scene: "ink2", init: true } @@ -2236,7 +2421,7 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.TextRenderer", + class: "TextRenderer", text: "@ink1.example2.text", fontName: "Ubuntu-M", fontSize: 100, @@ -2253,26 +2438,19 @@ scenes: { align: 8, orgAlign: 0 }, - scaleX: 1, - scaleY: 1, - rot: 0, tint: { r: 1, g: 1, a: 1 }, + scaleX: 1, + scaleY: 1, + rot: 0, fakeDepth: false, bboxFromRenderer: true }, - walkzone: { - class: "com.bladecoder.engine.model.WalkZoneActor", - id: "walkzone", - bbox: [ 34.580566, 38.903107, 64.83856, 483.48502, 1850.839, 500.77533, 1885.4194, 30.257996 ], - pos: {}, - visible: true - }, link: { - class: "com.bladecoder.engine.model.SpriteActor", + class: "SpriteActor", id: "link", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { @@ -2287,7 +2465,7 @@ scenes: { icon: "right", actions: [ { - class: "com.bladecoder.engine.actions.OpenURLAction", + class: "OpenURL", url: "https://github.com/inkle/ink/blob/master/Documentation/WritingWithInk.md" } ] @@ -2297,7 +2475,7 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.TextRenderer", + class: "TextRenderer", text: "@ink1.link.text", fontName: "Ubuntu-M", fontSize: 100, @@ -2314,46 +2492,108 @@ scenes: { align: 8, orgAlign: 0 }, - scaleX: 1, - scaleY: 1, - rot: 0, tint: { r: 1, g: 1, a: 1 }, + scaleX: 1, + scaleY: 1, + rot: 0, fakeDepth: false, bboxFromRenderer: true }, + target: { + class: "AnchorActor", + id: "target", + bbox: [], + pos: { + x: 734.9283, + y: 104.98978 + }, + visible: true + }, + walkzone: { + class: "WalkZoneActor", + id: "walkzone", + bbox: [ 34.580566, 38.903107, 64.83856, 483.48502, 1850.839, 500.77533, 1885.4194, 30.257996 ], + pos: {}, + visible: true + } + }, + musicDesc: null, + depthVector: { + x: 616.2952, + y: -227.47778 + }, + verbs: { + init: { + id: "init", + actions: [ + { + class: "Cutmode", + value: true + }, + { + class: "InkRun", + path: "scene1.init", + wait: true + }, + { + class: "Cutmode", + value: false + } + ] + } + }, + player: "RED", + walkZone: "walkzone" + }, + ink2: { + id: "ink2", + layers: [ + { + name: "foreground" + }, + { + name: "dynamic", + dynamic: true + }, + { + name: "background" + } + ], + actors: { GREEN: { - class: "com.bladecoder.engine.model.CharacterActor", + class: "CharacterActor", id: "GREEN", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 1386.7396, - y: 87.49176 + x: 1222.1278, + y: 90.329895 }, visible: true, refPoint: { - x: 8.069885 + x: -493.8849, + y: 8.514374 }, verbs: { talkto: { id: "talkto", actions: [ { - class: "com.bladecoder.engine.actions.SetCutmodeAction", + class: "Cutmode", value: true }, { - class: "com.bladecoder.engine.actions.GotoAction", + class: "Goto", actor: "$PLAYER", - target: "target", + target: "GREEN", ignoreWalkZone: false, wait: true }, { - class: "com.bladecoder.engine.actions.AnimationAction", + class: "Animation", animation: "$PLAYER#stand.right", count: -1, wait: false, @@ -2361,12 +2601,12 @@ scenes: { keepDirection: false }, { - class: "com.bladecoder.engine.actions.InkRunAction", - path: "scene1.green", + class: "InkRun", + path: "scene2.d1", wait: true }, { - class: "com.bladecoder.engine.actions.SetCutmodeAction", + class: "Cutmode", value: false } ] @@ -2376,19 +2616,69 @@ scenes: { zIndex: 0, layer: "dynamic", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { + "stand.right": { + class: "AtlasAnimationDesc", + id: "stand.right", + source: "char", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + }, + "talk.right": { + class: "AtlasAnimationDesc", + id: "talk.right", + source: "char", + duration: 0.4, + animationType: "REPEAT", + count: -1, + preload: true + }, "walk.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "walk.right", source: "char", duration: 0.7, animationType: "REPEAT", count: -1, preload: true - }, + } + }, + initAnimation: "stand.left", + orgAlign: 0 + }, + tint: { + g: 1, + a: 1 + }, + scaleX: 0.6233493, + scaleY: 0.6233493, + rot: 0, + fakeDepth: true, + bboxFromRenderer: true, + walkingSpeed: 1000 + }, + PLAYER: { + class: "CharacterActor", + id: "PLAYER", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 720.8208, + y: 90.79294 + }, + visible: true, + refPoint: {}, + verbs: {}, + interaction: false, + zIndex: 0, + layer: "dynamic", + renderer: { + class: "AtlasRenderer", + fanims: { "stand.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "stand.right", source: "char", duration: 1, @@ -2397,31 +2687,36 @@ scenes: { preload: true }, "talk.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "talk.right", source: "char", duration: 0.4, animationType: "REPEAT", count: -1, preload: true + }, + "walk.right": { + class: "AtlasAnimationDesc", + id: "walk.right", + source: "char", + duration: 0.7, + animationType: "REPEAT", + count: -1, + preload: true } }, initAnimation: "stand.right", orgAlign: 0 }, - scaleX: 0.6267129, - scaleY: 0.6267129, + scaleX: 0.6228006, + scaleY: 0.6228006, rot: 0, - tint: { - g: 1, - a: 1 - }, fakeDepth: true, bboxFromRenderer: true, walkingSpeed: 1000 }, target: { - class: "com.bladecoder.engine.model.AnchorActor", + class: "AnchorActor", id: "target", bbox: [], pos: { @@ -2429,6 +2724,13 @@ scenes: { y: 104.98978 }, visible: true + }, + walkzone: { + class: "WalkZoneActor", + id: "walkzone", + bbox: [ 34.580566, 38.903107, 64.83856, 483.48502, 1850.839, 500.77533, 1885.4194, 30.257996 ], + pos: {}, + visible: true } }, musicDesc: null, @@ -2436,27 +2738,8 @@ scenes: { x: 616.2952, y: -227.47778 }, - verbs: { - init: { - id: "init", - actions: [ - { - class: "com.bladecoder.engine.actions.SetCutmodeAction", - value: true - }, - { - class: "com.bladecoder.engine.actions.InkRunAction", - path: "scene1.init", - wait: true - }, - { - class: "com.bladecoder.engine.actions.SetCutmodeAction", - value: false - } - ] - } - }, - player: "RED", + verbs: {}, + player: "PLAYER", walkZone: "walkzone" }, inventory: { @@ -2474,28 +2757,28 @@ scenes: { } ], actors: { - a02: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "a02", + a0: { + class: "SpriteActor", + id: "a0", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 1064.3015, - y: 754.9446 + x: 227.05096, + y: 760.6208 }, visible: true, - desc: "@inventory.a02.desc", + desc: "@inventory.a0.desc_", refPoint: {}, verbs: { pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.PickUpAction", - actor: "a02" + class: "PickUp", + actor: "a0" }, { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "a02", + class: "ActorState", + actor: "a0", state: "INVENTORY" } ] @@ -2505,9 +2788,9 @@ scenes: { state: "INVENTORY", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "a0", - text: "@inventory.a02.pickup.INVENTORY.0.text", + text: "@inventory.a0.pickup.INVENTORY.0.text", type: "SUBTITLE", queue: false, wait: true @@ -2519,10 +2802,10 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, @@ -2541,7 +2824,7 @@ scenes: { bboxFromRenderer: true }, a010: { - class: "com.bladecoder.engine.model.SpriteActor", + class: "SpriteActor", id: "a010", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { @@ -2556,11 +2839,11 @@ scenes: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.PickUpAction", + class: "PickUp", actor: "a010" }, { - class: "com.bladecoder.engine.actions.SetStateAction", + class: "ActorState", actor: "a010", state: "INVENTORY" } @@ -2571,7 +2854,7 @@ scenes: { state: "INVENTORY", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "a0", text: "@inventory.a010.pickup.INVENTORY.0.text", type: "SUBTITLE", @@ -2585,10 +2868,10 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, @@ -2607,7 +2890,7 @@ scenes: { bboxFromRenderer: true }, a011: { - class: "com.bladecoder.engine.model.SpriteActor", + class: "SpriteActor", id: "a011", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { @@ -2622,11 +2905,11 @@ scenes: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.PickUpAction", + class: "PickUp", actor: "a011" }, { - class: "com.bladecoder.engine.actions.SetStateAction", + class: "ActorState", actor: "a011", state: "INVENTORY" } @@ -2637,7 +2920,7 @@ scenes: { state: "INVENTORY", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "a0", text: "@inventory.a011.pickup.INVENTORY.0.text", type: "SUBTITLE", @@ -2651,10 +2934,10 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { go: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "go", source: "testbutton", duration: 1, @@ -2663,7 +2946,7 @@ scenes: { preload: true }, ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, @@ -2681,28 +2964,28 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - a04: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "a04", + a0112: { + class: "SpriteActor", + id: "a0112", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 777.64966, - y: 471.13092 + x: 1575.1663, + y: 479.64502 }, visible: true, - desc: "@inventory.a04.desc", + desc: "@inventory.a0112.desc", refPoint: {}, verbs: { pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.PickUpAction", - actor: "a04" + class: "PickUp", + actor: "a0112" }, { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "a04", + class: "ActorState", + actor: "a0112", state: "INVENTORY" } ] @@ -2712,9 +2995,9 @@ scenes: { state: "INVENTORY", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "a0", - text: "@inventory.a04.pickup.INVENTORY.0.text", + text: "@inventory.a0112.pickup.INVENTORY.0.text", type: "SUBTITLE", queue: false, wait: true @@ -2726,10 +3009,19 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { + go: { + class: "AtlasAnimationDesc", + id: "go", + source: "testbutton", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + }, ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, @@ -2738,7 +3030,7 @@ scenes: { preload: true } }, - initAnimation: "ok", + initAnimation: "go", orgAlign: 4 }, scaleX: 1, @@ -2747,28 +3039,28 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - a03: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "a03", + a0113: { + class: "SpriteActor", + id: "a0113", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 780.4877, - y: 210.02228 + x: 1316.8959, + y: 488.15967 }, visible: true, - desc: "@inventory.a03.desc", + desc: "@inventory.a0113.desc", refPoint: {}, verbs: { pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.PickUpAction", - actor: "a03" + class: "PickUp", + actor: "a0113" }, { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "a03", + class: "ActorState", + actor: "a0113", state: "INVENTORY" } ] @@ -2778,9 +3070,9 @@ scenes: { state: "INVENTORY", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "a0", - text: "@inventory.a03.pickup.INVENTORY.0.text", + text: "@inventory.a0113.pickup.INVENTORY.0.text", type: "SUBTITLE", queue: false, wait: true @@ -2792,10 +3084,19 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { + go: { + class: "AtlasAnimationDesc", + id: "go", + source: "testbutton", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + }, ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, @@ -2804,7 +3105,7 @@ scenes: { preload: true } }, - initAnimation: "ok", + initAnimation: "go", orgAlign: 4 }, scaleX: 1, @@ -2813,28 +3114,29 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - a06: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "a06", + a01132: { + class: "SpriteActor", + id: "a01132", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 508.0266, - y: 212.86035 + x: 1314.0577, + y: 227.05109 }, visible: true, - desc: "@inventory.a06.desc", + desc: "@inventory.a01132.desc", refPoint: {}, verbs: { pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.PickUpAction", - actor: "a06" + class: "PickUp", + actor: "a01132", + animation: "error" }, { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "a06", + class: "ActorState", + actor: "a01132", state: "INVENTORY" } ] @@ -2844,9 +3146,9 @@ scenes: { state: "INVENTORY", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "a0", - text: "@inventory.a06.pickup.INVENTORY.0.text", + text: "@inventory.a01132.pickup.INVENTORY.0.text", type: "SUBTITLE", queue: false, wait: true @@ -2858,10 +3160,28 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { + error: { + class: "AtlasAnimationDesc", + id: "error", + source: "testbutton", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + }, + go: { + class: "AtlasAnimationDesc", + id: "go", + source: "testbutton", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + }, ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, @@ -2870,7 +3190,7 @@ scenes: { preload: true } }, - initAnimation: "ok", + initAnimation: "go", orgAlign: 4 }, scaleX: 1, @@ -2879,28 +3199,28 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - a05: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "a05", + a0114: { + class: "SpriteActor", + id: "a0114", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 797.5166, - y: 752.1063 + x: 1569.49, + y: 752.1064 }, visible: true, - desc: "@inventory.a05.desc", + desc: "@inventory.a0114.desc", refPoint: {}, verbs: { pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.PickUpAction", - actor: "a05" + class: "PickUp", + actor: "a0114" }, { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "a05", + class: "ActorState", + actor: "a0114", state: "INVENTORY" } ] @@ -2910,9 +3230,9 @@ scenes: { state: "INVENTORY", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "a0", - text: "@inventory.a05.pickup.INVENTORY.0.text", + text: "@inventory.a0114.pickup.INVENTORY.0.text", type: "SUBTITLE", queue: false, wait: true @@ -2924,10 +3244,19 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { + go: { + class: "AtlasAnimationDesc", + id: "go", + source: "testbutton", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + }, ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, @@ -2936,7 +3265,7 @@ scenes: { preload: true } }, - initAnimation: "ok", + initAnimation: "go", orgAlign: 4 }, scaleX: 1, @@ -2945,28 +3274,28 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - a08: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "a08", + a012: { + class: "SpriteActor", + id: "a012", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 508.0266, - y: 752.1063 + x: 1064.3018, + y: 210.02216 }, visible: true, - desc: "@inventory.a08.desc", + desc: "@inventory.a012.desc", refPoint: {}, verbs: { pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.PickUpAction", - actor: "a08" + class: "PickUp", + actor: "a012" }, { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "a08", + class: "ActorState", + actor: "a012", state: "INVENTORY" } ] @@ -2976,9 +3305,9 @@ scenes: { state: "INVENTORY", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "a0", - text: "@inventory.a08.pickup.INVENTORY.0.text", + text: "@inventory.a012.pickup.INVENTORY.0.text", type: "SUBTITLE", queue: false, wait: true @@ -2990,10 +3319,10 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, @@ -3011,28 +3340,28 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - a0114: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "a0114", + a013: { + class: "SpriteActor", + id: "a013", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 1569.49, - y: 752.1064 + x: 1064.3018, + y: 476.80713 }, visible: true, - desc: "@inventory.a0114.desc", + desc: "@inventory.a013.desc", refPoint: {}, verbs: { pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.PickUpAction", - actor: "a0114" + class: "PickUp", + actor: "a013" }, { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "a0114", + class: "ActorState", + actor: "a013", state: "INVENTORY" } ] @@ -3042,9 +3371,9 @@ scenes: { state: "INVENTORY", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "a0", - text: "@inventory.a0114.pickup.INVENTORY.0.text", + text: "@inventory.a013.pickup.INVENTORY.0.text", type: "SUBTITLE", queue: false, wait: true @@ -3056,19 +3385,10 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { - go: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "go", - source: "testbutton", - duration: 1, - animationType: "NO_REPEAT", - count: -1, - preload: true - }, ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, @@ -3077,7 +3397,7 @@ scenes: { preload: true } }, - initAnimation: "go", + initAnimation: "ok", orgAlign: 4 }, scaleX: 1, @@ -3086,28 +3406,28 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - a07: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "a07", + a02: { + class: "SpriteActor", + id: "a02", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 508.02658, - y: 479.64514 + x: 1064.3015, + y: 754.9446 }, visible: true, - desc: "@inventory.a07.desc", + desc: "@inventory.a02.desc", refPoint: {}, verbs: { pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.PickUpAction", - actor: "a07" + class: "PickUp", + actor: "a02" }, { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "a07", + class: "ActorState", + actor: "a02", state: "INVENTORY" } ] @@ -3117,9 +3437,9 @@ scenes: { state: "INVENTORY", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "a0", - text: "@inventory.a07.pickup.INVENTORY.0.text", + text: "@inventory.a02.pickup.INVENTORY.0.text", type: "SUBTITLE", queue: false, wait: true @@ -3131,10 +3451,10 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, @@ -3152,28 +3472,28 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - a0113: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "a0113", + a03: { + class: "SpriteActor", + id: "a03", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 1316.8959, - y: 488.15967 + x: 780.4877, + y: 210.02228 }, visible: true, - desc: "@inventory.a0113.desc", + desc: "@inventory.a03.desc", refPoint: {}, verbs: { pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.PickUpAction", - actor: "a0113" + class: "PickUp", + actor: "a03" }, { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "a0113", + class: "ActorState", + actor: "a03", state: "INVENTORY" } ] @@ -3183,9 +3503,9 @@ scenes: { state: "INVENTORY", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "a0", - text: "@inventory.a0113.pickup.INVENTORY.0.text", + text: "@inventory.a03.pickup.INVENTORY.0.text", type: "SUBTITLE", queue: false, wait: true @@ -3197,19 +3517,10 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { - go: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "go", - source: "testbutton", - duration: 1, - animationType: "NO_REPEAT", - count: -1, - preload: true - }, ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, @@ -3218,7 +3529,7 @@ scenes: { preload: true } }, - initAnimation: "go", + initAnimation: "ok", orgAlign: 4 }, scaleX: 1, @@ -3227,28 +3538,28 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - a09: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "a09", + a04: { + class: "SpriteActor", + id: "a04", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 207.18402, - y: 198.66962 + x: 777.64966, + y: 471.13092 }, visible: true, - desc: "@inventory.a09.desc", + desc: "@inventory.a04.desc", refPoint: {}, verbs: { pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.PickUpAction", - actor: "a09" + class: "PickUp", + actor: "a04" }, { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "a09", + class: "ActorState", + actor: "a04", state: "INVENTORY" } ] @@ -3258,9 +3569,9 @@ scenes: { state: "INVENTORY", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "a0", - text: "@inventory.a09.pickup.INVENTORY.0.text", + text: "@inventory.a04.pickup.INVENTORY.0.text", type: "SUBTITLE", queue: false, wait: true @@ -3272,10 +3583,10 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, @@ -3293,28 +3604,28 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - a0112: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "a0112", + a05: { + class: "SpriteActor", + id: "a05", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 1575.1663, - y: 479.64502 + x: 797.5166, + y: 752.1063 }, visible: true, - desc: "@inventory.a0112.desc", + desc: "@inventory.a05.desc", refPoint: {}, verbs: { pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.PickUpAction", - actor: "a0112" + class: "PickUp", + actor: "a05" }, { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "a0112", + class: "ActorState", + actor: "a05", state: "INVENTORY" } ] @@ -3324,9 +3635,9 @@ scenes: { state: "INVENTORY", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "a0", - text: "@inventory.a0112.pickup.INVENTORY.0.text", + text: "@inventory.a05.pickup.INVENTORY.0.text", type: "SUBTITLE", queue: false, wait: true @@ -3338,19 +3649,10 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { - go: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "go", - source: "testbutton", - duration: 1, - animationType: "NO_REPEAT", - count: -1, - preload: true - }, ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, @@ -3359,7 +3661,7 @@ scenes: { preload: true } }, - initAnimation: "go", + initAnimation: "ok", orgAlign: 4 }, scaleX: 1, @@ -3368,28 +3670,28 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - a0: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "a0", + a06: { + class: "SpriteActor", + id: "a06", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 227.05096, - y: 760.6208 + x: 508.0266, + y: 212.86035 }, visible: true, - desc: "@inventory.a0.desc_", + desc: "@inventory.a06.desc", refPoint: {}, verbs: { pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.PickUpAction", - actor: "a0" + class: "PickUp", + actor: "a06" }, { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "a0", + class: "ActorState", + actor: "a06", state: "INVENTORY" } ] @@ -3399,9 +3701,9 @@ scenes: { state: "INVENTORY", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "a0", - text: "@inventory.a0.pickup.INVENTORY.0.text", + text: "@inventory.a06.pickup.INVENTORY.0.text", type: "SUBTITLE", queue: false, wait: true @@ -3413,10 +3715,10 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, @@ -3434,29 +3736,28 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - a01132: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "a01132", + a07: { + class: "SpriteActor", + id: "a07", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 1314.0577, - y: 227.05109 + x: 508.02658, + y: 479.64514 }, visible: true, - desc: "@inventory.a01132.desc", + desc: "@inventory.a07.desc", refPoint: {}, verbs: { pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.PickUpAction", - actor: "a01132", - animation: "error" + class: "PickUp", + actor: "a07" }, { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "a01132", + class: "ActorState", + actor: "a07", state: "INVENTORY" } ] @@ -3466,9 +3767,9 @@ scenes: { state: "INVENTORY", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "a0", - text: "@inventory.a01132.pickup.INVENTORY.0.text", + text: "@inventory.a07.pickup.INVENTORY.0.text", type: "SUBTITLE", queue: false, wait: true @@ -3480,37 +3781,19 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { - go: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "go", - source: "testbutton", - duration: 1, - animationType: "NO_REPEAT", - count: -1, - preload: true - }, ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, animationType: "NO_REPEAT", count: -1, preload: true - }, - error: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "error", - source: "testbutton", - duration: 1, - animationType: "NO_REPEAT", - count: -1, - preload: true } }, - initAnimation: "go", + initAnimation: "ok", orgAlign: 4 }, scaleX: 1, @@ -3519,28 +3802,28 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - a012: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "a012", + a08: { + class: "SpriteActor", + id: "a08", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 1064.3018, - y: 210.02216 + x: 508.0266, + y: 752.1063 }, visible: true, - desc: "@inventory.a012.desc", + desc: "@inventory.a08.desc", refPoint: {}, verbs: { pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.PickUpAction", - actor: "a012" + class: "PickUp", + actor: "a08" }, { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "a012", + class: "ActorState", + actor: "a08", state: "INVENTORY" } ] @@ -3550,9 +3833,9 @@ scenes: { state: "INVENTORY", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "a0", - text: "@inventory.a012.pickup.INVENTORY.0.text", + text: "@inventory.a08.pickup.INVENTORY.0.text", type: "SUBTITLE", queue: false, wait: true @@ -3564,10 +3847,10 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, @@ -3585,28 +3868,28 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - a013: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "a013", + a09: { + class: "SpriteActor", + id: "a09", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 1064.3018, - y: 476.80713 + x: 207.18402, + y: 198.66962 }, visible: true, - desc: "@inventory.a013.desc", + desc: "@inventory.a09.desc", refPoint: {}, verbs: { pickup: { id: "pickup", actions: [ { - class: "com.bladecoder.engine.actions.PickUpAction", - actor: "a013" + class: "PickUp", + actor: "a09" }, { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "a013", + class: "ActorState", + actor: "a09", state: "INVENTORY" } ] @@ -3616,9 +3899,9 @@ scenes: { state: "INVENTORY", actions: [ { - class: "com.bladecoder.engine.actions.SayAction", + class: "Say", actor: "a0", - text: "@inventory.a013.pickup.INVENTORY.0.text", + text: "@inventory.a09.pickup.INVENTORY.0.text", type: "SUBTITLE", queue: false, wait: true @@ -3630,10 +3913,10 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { ok: { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "ok", source: "testbutton", duration: 1, @@ -3671,13 +3954,13 @@ scenes: { } ], actors: { - parallax: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "parallax", + actor3d: { + class: "SpriteActor", + id: "actor3d", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 357.49203, - y: 523.80634 + x: 533.11487, + y: 166.59274 }, visible: true, refPoint: {}, @@ -3686,8 +3969,8 @@ scenes: { id: "leave", actions: [ { - class: "com.bladecoder.engine.actions.LeaveAction", - scene: "parallax", + class: "Leave", + scene: "actor3d", init: true } ] @@ -3697,8 +3980,8 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.TextRenderer", - text: "@menu.parallax.text", + class: "TextRenderer", + text: "@menu.actor3d.text", fontName: "Ubuntu-M", fontSize: 100, borderWidth: 0, @@ -3714,24 +3997,24 @@ scenes: { align: 8, orgAlign: 0 }, - scaleX: 1, - scaleY: 1, - rot: 0, tint: { r: 1, g: 1, a: 1 }, + scaleX: 1, + scaleY: 1, + rot: 0, fakeDepth: false, bboxFromRenderer: true }, - actor3d: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "actor3d", + basic: { + class: "SpriteActor", + id: "basic", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 533.11487, - y: 166.59274 + x: 291.93097, + y: 633.7561 }, visible: true, refPoint: {}, @@ -3740,8 +4023,8 @@ scenes: { id: "leave", actions: [ { - class: "com.bladecoder.engine.actions.LeaveAction", - scene: "actor3d", + class: "Leave", + scene: "basic1", init: true } ] @@ -3751,8 +4034,8 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.TextRenderer", - text: "@menu.actor3d.text", + class: "TextRenderer", + text: "@menu.basic.text_", fontName: "Ubuntu-M", fontSize: 100, borderWidth: 0, @@ -3768,19 +4051,19 @@ scenes: { align: 8, orgAlign: 0 }, - scaleX: 1, - scaleY: 1, - rot: 0, tint: { r: 1, g: 1, a: 1 }, + scaleX: 1, + scaleY: 1, + rot: 0, fakeDepth: false, bboxFromRenderer: true }, ink: { - class: "com.bladecoder.engine.model.SpriteActor", + class: "SpriteActor", id: "ink", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { @@ -3794,7 +4077,7 @@ scenes: { id: "leave", actions: [ { - class: "com.bladecoder.engine.actions.LeaveAction", + class: "Leave", scene: "ink1", init: true } @@ -3805,7 +4088,7 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.TextRenderer", + class: "TextRenderer", text: "@menu.ink.text_", fontName: "Ubuntu-M", fontSize: 100, @@ -3822,24 +4105,24 @@ scenes: { align: 8, orgAlign: 0 }, - scaleX: 1, - scaleY: 1, - rot: 0, tint: { r: 1, g: 1, a: 1 }, + scaleX: 1, + scaleY: 1, + rot: 0, fakeDepth: false, bboxFromRenderer: true }, - title: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "title", + inventory: { + class: "SpriteActor", + id: "inventory", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 291.47675, - y: 906.1603 + x: 393.7634, + y: 410.7918 }, visible: true, refPoint: {}, @@ -3848,20 +4131,20 @@ scenes: { id: "leave", actions: [ { - class: "com.bladecoder.engine.actions.LeaveAction", + class: "Leave", scene: "inventory", init: true } ] } }, - interaction: false, + interaction: true, zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.TextRenderer", - text: "@menu.title.text_", - fontName: "PaytoneOne", + class: "TextRenderer", + text: "@menu.inventory.text_", + fontName: "Ubuntu-M", fontSize: 100, borderWidth: 0, borderColor: { @@ -3876,24 +4159,24 @@ scenes: { align: 8, orgAlign: 0 }, - scaleX: 1, - scaleY: 1, - rot: 0, tint: { + r: 1, g: 1, - b: 0.2, a: 1 }, + scaleX: 1, + scaleY: 1, + rot: 0, fakeDepth: false, bboxFromRenderer: true }, - basic: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "basic", + parallax: { + class: "SpriteActor", + id: "parallax", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 291.93097, - y: 633.7561 + x: 357.49203, + y: 523.80634 }, visible: true, refPoint: {}, @@ -3902,8 +4185,8 @@ scenes: { id: "leave", actions: [ { - class: "com.bladecoder.engine.actions.LeaveAction", - scene: "basic1", + class: "Leave", + scene: "parallax", init: true } ] @@ -3913,8 +4196,8 @@ scenes: { zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.TextRenderer", - text: "@menu.basic.text_", + class: "TextRenderer", + text: "@menu.parallax.text", fontName: "Ubuntu-M", fontSize: 100, borderWidth: 0, @@ -3930,24 +4213,24 @@ scenes: { align: 8, orgAlign: 0 }, - scaleX: 1, - scaleY: 1, - rot: 0, tint: { r: 1, g: 1, a: 1 }, + scaleX: 1, + scaleY: 1, + rot: 0, fakeDepth: false, bboxFromRenderer: true }, - inventory: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "inventory", + title: { + class: "SpriteActor", + id: "title", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 393.7634, - y: 410.7918 + x: 291.47675, + y: 906.1603 }, visible: true, refPoint: {}, @@ -3956,20 +4239,20 @@ scenes: { id: "leave", actions: [ { - class: "com.bladecoder.engine.actions.LeaveAction", + class: "Leave", scene: "inventory", init: true } ] } }, - interaction: true, + interaction: false, zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.TextRenderer", - text: "@menu.inventory.text_", - fontName: "Ubuntu-M", + class: "TextRenderer", + text: "@menu.title.text_", + fontName: "PaytoneOne", fontSize: 100, borderWidth: 0, borderColor: { @@ -3984,14 +4267,14 @@ scenes: { align: 8, orgAlign: 0 }, - scaleX: 1, - scaleY: 1, - rot: 0, tint: { - r: 1, g: 1, + b: 0.2, a: 1 }, + scaleX: 1, + scaleY: 1, + rot: 0, fakeDepth: false, bboxFromRenderer: true } @@ -4002,7 +4285,7 @@ scenes: { id: "init", actions: [ { - class: "com.bladecoder.engine.actions.ScreenPositionAction", + class: "ScreenPosition", actor: "title", position: "0.0,-200.0", anchor: "TOP" @@ -4012,148 +4295,76 @@ scenes: { }, walkZone: null }, - ink2: { - id: "ink2", + parallax: { + id: "parallax", layers: [ { - name: "foreground" + name: "foreground", + parallax: 3.5 }, { - name: "dynamic", - dynamic: true + name: "dynamic" }, { - name: "background" + name: "background", + parallax: 0 } ], actors: { - PLAYER: { - class: "com.bladecoder.engine.model.CharacterActor", - id: "PLAYER", + background: { + class: "SpriteActor", + id: "background", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 720.8208, - y: 90.79294 + x: 1551 }, visible: true, refPoint: {}, verbs: {}, interaction: false, - zIndex: 0, - layer: "dynamic", - renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", - fanims: { - "walk.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "walk.right", - source: "char", - duration: 0.7, - animationType: "REPEAT", - count: -1, - preload: true - }, - "stand.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "stand.right", - source: "char", + zIndex: 0, + layer: "background", + renderer: { + class: "AtlasRenderer", + fanims: { + background: { + class: "AtlasAnimationDesc", + id: "background", + source: "parallax", duration: 1, animationType: "NO_REPEAT", count: -1, preload: true - }, - "talk.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "talk.right", - source: "char", - duration: 0.4, - animationType: "REPEAT", - count: -1, - preload: true } }, - initAnimation: "stand.right", - orgAlign: 0 + initAnimation: "background", + orgAlign: 4 }, - scaleX: 0.6228006, - scaleY: 0.6228006, + scaleX: 1, + scaleY: 1, rot: 0, - fakeDepth: true, - bboxFromRenderer: true, - walkingSpeed: 1000 - }, - walkzone: { - class: "com.bladecoder.engine.model.WalkZoneActor", - id: "walkzone", - bbox: [ 34.580566, 38.903107, 64.83856, 483.48502, 1850.839, 500.77533, 1885.4194, 30.257996 ], - pos: {}, - visible: true + fakeDepth: false, + bboxFromRenderer: true }, - GREEN: { - class: "com.bladecoder.engine.model.CharacterActor", - id: "GREEN", + char: { + class: "CharacterActor", + id: "char", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 1222.1278, - y: 90.329895 + x: 1793.2177, + y: 65.78964 }, visible: true, - refPoint: { - x: -493.8849, - y: 8.514374 - }, - verbs: { - talkto: { - id: "talkto", - actions: [ - { - class: "com.bladecoder.engine.actions.SetCutmodeAction", - value: true - }, - { - class: "com.bladecoder.engine.actions.GotoAction", - actor: "$PLAYER", - target: "GREEN", - ignoreWalkZone: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.AnimationAction", - animation: "$PLAYER#stand.right", - count: -1, - wait: false, - repeat: "SPRITE_DEFINED", - keepDirection: false - }, - { - class: "com.bladecoder.engine.actions.InkRunAction", - path: "scene2.d1", - wait: true - }, - { - class: "com.bladecoder.engine.actions.SetCutmodeAction", - value: false - } - ] - } - }, - interaction: true, - zIndex: 0, + refPoint: {}, + verbs: {}, + interaction: false, + zIndex: 1, layer: "dynamic", renderer: { - class: "com.bladecoder.engine.model.AtlasRenderer", + class: "AtlasRenderer", fanims: { - "walk.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "walk.right", - source: "char", - duration: 0.7, - animationType: "REPEAT", - count: -1, - preload: true - }, "stand.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", + class: "AtlasAnimationDesc", id: "stand.right", source: "char", duration: 1, @@ -4161,231 +4372,157 @@ scenes: { count: -1, preload: true }, - "talk.right": { - class: "com.bladecoder.engine.anim.AtlasAnimationDesc", - id: "talk.right", + "walk.right": { + class: "AtlasAnimationDesc", + id: "walk.right", source: "char", - duration: 0.4, + duration: 0.5, animationType: "REPEAT", count: -1, preload: true } }, - initAnimation: "stand.left", - orgAlign: 0 + initAnimation: "stand.right", + orgAlign: 4 }, - scaleX: 0.6233493, - scaleY: 0.6233493, + scaleX: 0.3110584, + scaleY: 0.3110584, rot: 0, - tint: { - g: 1, - a: 1 - }, fakeDepth: true, bboxFromRenderer: true, - walkingSpeed: 1000 - }, - target: { - class: "com.bladecoder.engine.model.AnchorActor", - id: "target", - bbox: [], - pos: { - x: 734.9283, - y: 104.98978 - }, - visible: true - } - }, - musicDesc: null, - depthVector: { - x: 616.2952, - y: -227.47778 - }, - verbs: {}, - player: "PLAYER", - walkZone: "walkzone" - }, - "basic-prop-states": { - id: "basic-prop-states", - layers: [ - { - name: "foreground" - }, - { - name: "dynamic", - dynamic: true + walkingSpeed: 2000 }, - { - name: "background" - } - ], - actors: { - ko: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "ko", + foreground: { + class: "SpriteActor", + id: "foreground", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 956.2496, - y: 477.18317 + x: 177.10706 }, - visible: false, + visible: true, refPoint: {}, verbs: {}, interaction: false, zIndex: 0, layer: "foreground", renderer: { - class: "com.bladecoder.engine.model.TextRenderer", - text: "@basic-prop-states.ko.text", - fontName: "PaytoneOne", - fontSize: 100, - borderWidth: 0, - borderColor: { - a: 1 - }, - borderStraight: true, - shadowOffsetX: 0, - shadowOffsetY: 0, - shadowColor: { - a: 1 + class: "AtlasRenderer", + fanims: { + foreground1: { + class: "AtlasAnimationDesc", + id: "foreground1", + source: "parallax", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + } }, - align: 8, - orgAlign: 0 + initAnimation: "foreground1", + orgAlign: 4 }, scaleX: 1, scaleY: 1, rot: 0, - tint: { - r: 1, - b: 0.015686275, - a: 1 - }, fakeDepth: false, bboxFromRenderer: true }, - state: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "state", + foreground2: { + class: "SpriteActor", + id: "foreground2", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 978.9769, - y: 198.59222 - }, - visible: true, - desc: "@basic-prop-states.state.desc_", - refPoint: {}, - verbs: { - lookat: { - id: "lookat", - actions: [ - { - class: "com.bladecoder.engine.actions.IfAttrAction", - actor: "state", - attr: "STATE", - value: "BLUE", - caID: "301582167" - }, - { - class: "com.bladecoder.engine.actions.SayAction", - actor: "$PLAYER", - text: "@basic-prop-states.state.lookat.1.text", - type: "SUBTITLE", - queue: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "301582167" - }, - { - class: "com.bladecoder.engine.actions.IfAttrAction", - actor: "state", - attr: "STATE", - value: "YELLOW", - caID: "602667286" - }, - { - class: "com.bladecoder.engine.actions.SayAction", - actor: "$PLAYER", - text: "@basic-prop-states.state.lookat.4.text", - type: "SUBTITLE", - queue: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "602667286" - }, - { - class: "com.bladecoder.engine.actions.SayAction", - actor: "$PLAYER", - text: "@basic-prop-states.state.lookat.6.text", - type: "SUBTITLE", - queue: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "602667286" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "301582167" - } - ] - }, - pickup: { - id: "pickup", - actions: [ - { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "state", - state: "YELLOW" - }, - { - class: "com.bladecoder.engine.actions.SetActorAttrAction", - actor: "state", - tint: "ffee00ff" - } - ] + x: 3084.321 + }, + visible: true, + refPoint: {}, + verbs: {}, + interaction: false, + zIndex: 0, + layer: "foreground", + renderer: { + class: "AtlasRenderer", + fanims: { + foreground1: { + class: "AtlasAnimationDesc", + id: "foreground2", + source: "parallax", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + } }, - "pickup.YELLOW": { - id: "pickup", - state: "YELLOW", + initAnimation: "foreground1", + orgAlign: 4 + }, + scaleX: 1, + scaleY: 1, + rot: 0, + fakeDepth: false, + bboxFromRenderer: true + }, + goto01: { + class: "InteractiveActor", + id: "goto01", + bbox: [ -69.81134, 53.333344, -68.80505, 182.89307, 34.591248, 181.88678, 46.666687, 58.364746 ], + pos: { + x: 801.9821, + y: 207.3566 + }, + visible: true, + refPoint: {}, + verbs: { + leave: { + id: "leave", actions: [ { - class: "com.bladecoder.engine.actions.SetStateAction", - actor: "state", - state: "BLUE" + class: "Goto", + actor: "char", + target: "goto01", + ignoreWalkZone: false, + wait: true }, { - class: "com.bladecoder.engine.actions.SetActorAttrAction", - actor: "state", - tint: "00f7ffff" + class: "Leave", + scene: "basic1", + init: true } ] } }, interaction: true, zIndex: 0, - layer: "foreground", + layer: "foreground" + }, + middleground: { + class: "SpriteActor", + id: "middleground", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 1554 + }, + visible: true, + refPoint: {}, + verbs: {}, + interaction: false, + zIndex: -1, + layer: "dynamic", renderer: { - class: "com.bladecoder.engine.model.TextRenderer", - text: "@basic-prop-states.state.text_", - fontName: "PaytoneOne", - fontSize: 100, - borderWidth: 0, - borderColor: { - a: 1 - }, - borderStraight: true, - shadowOffsetX: 0, - shadowOffsetY: 0, - shadowColor: { - a: 1 + class: "AtlasRenderer", + fanims: { + background: { + class: "AtlasAnimationDesc", + id: "middleground", + source: "parallax", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + } }, - align: 8, - orgAlign: 0 + initAnimation: "background", + orgAlign: 4 }, scaleX: 1, scaleY: 1, @@ -4393,189 +4530,52 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, - ok: { - class: "com.bladecoder.engine.model.SpriteActor", - id: "ok", + particle3: { + class: "SpriteActor", + id: "particle3", bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], pos: { - x: 956.2496, - y: 477.18317 + x: -26.70813, + y: 1129.6176 }, - visible: false, + visible: true, refPoint: {}, verbs: {}, - interaction: false, - zIndex: 0, - layer: "foreground", + interaction: true, + zIndex: 1, + layer: "dynamic", renderer: { - class: "com.bladecoder.engine.model.TextRenderer", - text: "@basic-prop-states.ok.text__", - fontName: "PaytoneOne", - fontSize: 100, - borderWidth: 0, - borderColor: { - a: 1 - }, - borderStraight: true, - shadowOffsetX: 0, - shadowOffsetY: 0, - shadowColor: { - a: 1 - }, - align: 8, + class: "ParticleRenderer", + atlasName: "particles", + particleName: "rain", orgAlign: 0 }, scaleX: 1, scaleY: 1, rot: 0, - tint: { - r: 0.28235295, - g: 1, - a: 1 - }, fakeDepth: false, bboxFromRenderer: true + }, + walkzone: { + class: "WalkZoneActor", + id: "walkzone", + bbox: [ 18.73169, 37.46341, 37.46338, 209.79524, 3008.312, 247.25824, 3064.5073, 52.448776 ], + pos: {}, + visible: true } }, musicDesc: null, - verbs: { - init: { - id: "init", - actions: [ - { - class: "com.bladecoder.engine.actions.PropertyAction", - prop: "TEST-PROP", - value: "test" - }, - { - class: "com.bladecoder.engine.actions.IfPropertyAction", - name: "TEST-PROP", - value: "test", - caID: "1751840606" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1751840606" - }, - { - class: "com.bladecoder.engine.actions.SetActorAttrAction", - actor: "ko", - visible: true - }, - { - class: "com.bladecoder.engine.actions.CancelVerbAction" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1751840606" - }, - { - class: "com.bladecoder.engine.actions.CommentAction", - comment: "Property from the BladeEngine.properties file.", - debug: false - }, - { - class: "com.bladecoder.engine.actions.IfPropertyAction", - name: "title", - value: "Blade Engine Adventure", - caID: "1094711013" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1094711013" - }, - { - class: "com.bladecoder.engine.actions.SetActorAttrAction", - actor: "ko", - visible: true - }, - { - class: "com.bladecoder.engine.actions.CancelVerbAction" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1094711013" - }, - { - class: "com.bladecoder.engine.actions.CommentAction", - comment: "PLATFORM property.", - debug: false - }, - { - class: "com.bladecoder.engine.actions.IfPropertyAction", - name: "PLATFORM", - value: "Desktop", - caID: "1143890192" - }, - { - class: "com.bladecoder.engine.actions.SayAction", - actor: "$PLAYER", - text: "@basic-prop-states.init.18.text", - type: "SUBTITLE", - queue: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1143890192" - }, - { - class: "com.bladecoder.engine.actions.IfPropertyAction", - name: "PLATFORM", - value: "Android", - caID: "1726514584" - }, - { - class: "com.bladecoder.engine.actions.SayAction", - actor: "$PLAYER", - text: "@basic-prop-states.init.20.text", - type: "SUBTITLE", - queue: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1726514584" - }, - { - class: "com.bladecoder.engine.actions.IfPropertyAction", - name: "PLATFORM", - value: "iOS", - caID: "363902178" - }, - { - class: "com.bladecoder.engine.actions.SayAction", - actor: "$PLAYER", - text: "@basic-prop-states.init.23.text", - type: "SUBTITLE", - queue: false, - wait: true - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "363902178" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "363902178" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1726514584" - }, - { - class: "com.bladecoder.engine.actions.EndAction", - caID: "1143890192" - }, - { - class: "com.bladecoder.engine.actions.SetActorAttrAction", - actor: "ok", - visible: true - } - ] - } + depthVector: { + x: 344.45578, + y: -551.40857 }, - walkZone: null + sceneSize: { + x: 3103, + y: 1080 + }, + verbs: {}, + player: "char", + walkZone: "walkzone" } }, initScene: "menu", From 18492de3bbccea8f5ba4238909c6b814303b14a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Garc=C3=ADa?= Date: Mon, 13 Jan 2020 11:32:10 +0100 Subject: [PATCH 07/19] Init and set system prefs. --- .../assets/model/ui.chapter.json | 5 +- .../engine/actions/ui/UIInitPrefs.java | 43 +++++++++++++ .../engine/actions/ui/UISetSystemPref.java | 63 +++++++++++++++++++ 3 files changed, 110 insertions(+), 1 deletion(-) create mode 100644 adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UIInitPrefs.java create mode 100644 adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UISetSystemPref.java diff --git a/adventure-test-project/assets/model/ui.chapter.json b/adventure-test-project/assets/model/ui.chapter.json index 1e4edff..6af0721 100644 --- a/adventure-test-project/assets/model/ui.chapter.json +++ b/adventure-test-project/assets/model/ui.chapter.json @@ -1,5 +1,5 @@ { -bladeEngineVersion: "3.2.3-SNAPSHOT", +bladeEngineVersion: "3.2.3", sounds: {}, scenes: { config: { @@ -733,6 +733,9 @@ scenes: { class: "RunOnce", caID: "2071282574" }, + { + class: "com.bladecoder.engine.actions.ui.UIInitPrefs" + }, { class: "ShowInventory", value: false diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UIInitPrefs.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UIInitPrefs.java new file mode 100644 index 0000000..f6fe595 --- /dev/null +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UIInitPrefs.java @@ -0,0 +1,43 @@ +/******************************************************************************* + * Copyright 2014 Rafael Garcia Moreno. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ******************************************************************************/ +package com.bladecoder.engine.actions.ui; + +import com.bladecoder.engine.actions.Action; +import com.bladecoder.engine.actions.ActionDescription; +import com.bladecoder.engine.model.MusicManager; +import com.bladecoder.engine.model.SceneSoundManager; +import com.bladecoder.engine.model.VerbRunner; +import com.bladecoder.engine.model.VoiceManager; +import com.bladecoder.engine.model.World; +import com.bladecoder.engine.util.Config; + +@ActionDescription("Sets the volume based on preferences.") +public class UIInitPrefs implements Action { + + @Override + public void init(World w) { + } + + @Override + public boolean run(VerbRunner cb) { + + MusicManager.VOLUME_MULTIPLIER = Float.parseFloat(Config.getInstance().getPref("MUSIC_VOLUME", "1")); + SceneSoundManager.VOLUME_MULTIPLIER = Float.parseFloat(Config.getInstance().getPref("EFFECTS_VOLUME", "1")); + VoiceManager.VOLUME_MULTIPLIER = Float.parseFloat(Config.getInstance().getPref("VOICES_VOLUME", "1")); + + return false; + } +} diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UISetSystemPref.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UISetSystemPref.java new file mode 100644 index 0000000..efa5a54 --- /dev/null +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UISetSystemPref.java @@ -0,0 +1,63 @@ +/******************************************************************************* + * Copyright 2014 Rafael Garcia Moreno. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ******************************************************************************/ +package com.bladecoder.engine.actions.ui; + +import com.bladecoder.engine.actions.Action; +import com.bladecoder.engine.actions.ActionDescription; +import com.bladecoder.engine.actions.ActionProperty; +import com.bladecoder.engine.actions.ActionPropertyDescription; +import com.bladecoder.engine.model.MusicManager; +import com.bladecoder.engine.model.SceneSoundManager; +import com.bladecoder.engine.model.VerbRunner; +import com.bladecoder.engine.model.VoiceManager; +import com.bladecoder.engine.model.World; +import com.bladecoder.engine.util.Config; + +@ActionDescription("Sets some preference value for a system.") +public class UISetSystemPref implements Action { + private enum System { + MUSIC_VOLUME, EFFECTS_VOLUME, VOICES_VOLUME + }; + + @ActionProperty(required = true) + @ActionPropertyDescription("The system.") + private System system = System.MUSIC_VOLUME; + + @ActionProperty(required = true) + @ActionPropertyDescription("The value.") + private String value; + + @Override + public void init(World w) { + } + + @Override + public boolean run(VerbRunner cb) { + + if (system == System.MUSIC_VOLUME) { + MusicManager.VOLUME_MULTIPLIER = Float.parseFloat(value); + } else if (system == System.EFFECTS_VOLUME) { + SceneSoundManager.VOLUME_MULTIPLIER = Float.parseFloat(value); + } else if (system == System.VOICES_VOLUME) { + VoiceManager.VOLUME_MULTIPLIER = Float.parseFloat(value); + } + + Config.getInstance().setPref(system.name(), value); + Config.getInstance().savePrefs(); + + return false; + } +} From 27c730a6ee58eb3499d89b19b91911f0b5d4679e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Garc=C3=ADa?= Date: Wed, 15 Jan 2020 10:02:32 +0100 Subject: [PATCH 08/19] Action to share properties between chapters + disbale show hotspots in scene menu screen. --- .../bladecoder/engine/SceneMenuScreen.java | 2 + .../engine/actions/ui/StaticTmpProps.java | 65 +++++++++++++++++++ 2 files changed, 67 insertions(+) create mode 100644 adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/StaticTmpProps.java diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java index 1c65c20..8a871d5 100644 --- a/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java @@ -49,6 +49,8 @@ public void setUI(final UI ui) { super.setUI(ui); getMenuButton().setVisible(false); + + setShowHotspotsFeature(false); } @Override diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/StaticTmpProps.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/StaticTmpProps.java new file mode 100644 index 0000000..15f9b00 --- /dev/null +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/StaticTmpProps.java @@ -0,0 +1,65 @@ +/******************************************************************************* + * Copyright 2014 Rafael Garcia Moreno. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ******************************************************************************/ +package com.bladecoder.engine.actions.ui; + +import java.util.Map.Entry; +import java.util.Properties; + +import com.bladecoder.engine.BladeEngine; +import com.bladecoder.engine.actions.Action; +import com.bladecoder.engine.actions.ActionDescription; +import com.bladecoder.engine.actions.ActionProperty; +import com.bladecoder.engine.actions.ActionPropertyDescription; +import com.bladecoder.engine.model.VerbRunner; +import com.bladecoder.engine.model.World; +import com.bladecoder.engine.ui.UI; + +@ActionDescription("Temporal properties persistence between chapters.") +public class StaticTmpProps implements Action { + private enum Operation { + RESET, SAVE, LOAD + }; + + private static final Properties tmp = new Properties(); + + @ActionProperty(required = true) + @ActionPropertyDescription("The system.") + private Operation operation = Operation.RESET; + + @Override + public void init(World w) { + } + + @Override + public boolean run(VerbRunner cb) { + + UI ui = BladeEngine.getAppUI(); + World world = ui.getWorld(); + + if (operation == Operation.RESET) { + tmp.clear(); + } else if (operation == Operation.SAVE) { + tmp.clear(); + tmp.putAll(world.getCustomProperties()); + } else if (operation == Operation.LOAD) { + for (Entry entry : tmp.entrySet()) { + world.getCustomProperties().put((String) entry.getKey(), (String) entry.getValue()); + } + } + + return false; + } +} From 9c14b4a7b537819c8825dfa3334d1904bf6aa1fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Garc=C3=ADa?= Date: Wed, 15 Jan 2020 10:31:03 +0100 Subject: [PATCH 09/19] Change volume in managers when setting the system pref. --- .../engine/actions/ui/UISetSystemPref.java | 17 +++++++++++++++++ adventure-test-project/gradle.properties | 2 +- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UISetSystemPref.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UISetSystemPref.java index efa5a54..73074c1 100644 --- a/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UISetSystemPref.java +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UISetSystemPref.java @@ -15,6 +15,7 @@ ******************************************************************************/ package com.bladecoder.engine.actions.ui; +import com.bladecoder.engine.BladeEngine; import com.bladecoder.engine.actions.Action; import com.bladecoder.engine.actions.ActionDescription; import com.bladecoder.engine.actions.ActionProperty; @@ -24,6 +25,7 @@ import com.bladecoder.engine.model.VerbRunner; import com.bladecoder.engine.model.VoiceManager; import com.bladecoder.engine.model.World; +import com.bladecoder.engine.ui.UI; import com.bladecoder.engine.util.Config; @ActionDescription("Sets some preference value for a system.") @@ -40,19 +42,34 @@ private enum System { @ActionPropertyDescription("The value.") private String value; + World uiWorld; + @Override public void init(World w) { + uiWorld = w; } @Override public boolean run(VerbRunner cb) { + UI ui = BladeEngine.getAppUI(); + World gameWorld = ui.getWorld(); + if (system == System.MUSIC_VOLUME) { MusicManager.VOLUME_MULTIPLIER = Float.parseFloat(value); + + uiWorld.getMusicManager().setVolume(uiWorld.getMusicManager().getVolume()); + gameWorld.getMusicManager().setVolume(gameWorld.getMusicManager().getVolume()); + } else if (system == System.EFFECTS_VOLUME) { SceneSoundManager.VOLUME_MULTIPLIER = Float.parseFloat(value); } else if (system == System.VOICES_VOLUME) { VoiceManager.VOLUME_MULTIPLIER = Float.parseFloat(value); + + uiWorld.getCurrentScene().getTextManager().getVoiceManager() + .setVolume(uiWorld.getCurrentScene().getTextManager().getVoiceManager().getVolume()); + gameWorld.getCurrentScene().getTextManager().getVoiceManager() + .setVolume(gameWorld.getCurrentScene().getTextManager().getVoiceManager().getVolume()); } Config.getInstance().setPref(system.name(), value); diff --git a/adventure-test-project/gradle.properties b/adventure-test-project/gradle.properties index 02db4dd..3f84aaa 100644 --- a/adventure-test-project/gradle.properties +++ b/adventure-test-project/gradle.properties @@ -1,7 +1,7 @@ android.injected.testOnly=false androidGradlePluginVersion=3.4.1 appName=adventure-test-project -bladeEngineVersion=3.2.3 +bladeEngineVersion=3.2.4-SNAPSHOT bladeInkVersion=0.7.3 gdxVersion=1.9.10 org.gradle.configureondemand=false From c386dd6871438c5c26fcd5e04f811e72a39ba4dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Garc=C3=ADa?= Date: Fri, 7 Feb 2020 10:50:46 +0100 Subject: [PATCH 10/19] Menu Button visibility action. --- .../actions/ui/MenuButtonVisibility.java | 48 +++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/MenuButtonVisibility.java diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/MenuButtonVisibility.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/MenuButtonVisibility.java new file mode 100644 index 0000000..8051390 --- /dev/null +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/MenuButtonVisibility.java @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright 2014 Rafael Garcia Moreno. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ******************************************************************************/ +package com.bladecoder.engine.actions.ui; + +import com.bladecoder.engine.BladeEngine; +import com.bladecoder.engine.actions.Action; +import com.bladecoder.engine.actions.ActionDescription; +import com.bladecoder.engine.actions.ActionProperty; +import com.bladecoder.engine.actions.ActionPropertyDescription; +import com.bladecoder.engine.model.VerbRunner; +import com.bladecoder.engine.model.World; +import com.bladecoder.engine.ui.UI; +import com.bladecoder.engine.ui.UI.Screens; +import com.bladecoder.engine.ui.defaults.DefaultSceneScreen; + +@ActionDescription("Change the menu button visibility.") +public class MenuButtonVisibility implements Action { + + @ActionProperty(required = true) + @ActionPropertyDescription("Menu Button visibility.") + private boolean visible; + + @Override + public void init(World w) { + } + + @Override + public boolean run(VerbRunner cb) { + UI ui = BladeEngine.getAppUI(); + DefaultSceneScreen sceneScreen = (DefaultSceneScreen) ui.getScreen(Screens.SCENE_SCREEN); + sceneScreen.getMenuButton().setVisible(visible); + + return false; + } +} From 78c7c6e107290813f32fae362a89191164b71d30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Garc=C3=ADa?= Date: Fri, 7 Feb 2020 14:04:47 +0100 Subject: [PATCH 11/19] Updated version. --- adventure-test-project/gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/adventure-test-project/gradle.properties b/adventure-test-project/gradle.properties index 3f84aaa..eb0e1c1 100644 --- a/adventure-test-project/gradle.properties +++ b/adventure-test-project/gradle.properties @@ -1,7 +1,7 @@ android.injected.testOnly=false androidGradlePluginVersion=3.4.1 appName=adventure-test-project -bladeEngineVersion=3.2.4-SNAPSHOT +bladeEngineVersion=3.2.4 bladeInkVersion=0.7.3 gdxVersion=1.9.10 org.gradle.configureondemand=false From b3d99d8b3e713e85a692ca573e2f61b4a737557f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Garc=C3=ADa?= Date: Thu, 20 Feb 2020 19:50:24 +0100 Subject: [PATCH 12/19] Test walk speed. --- .../assets/model/00.chapter.json | 120 +++++++++++++++++- .../assets/model/00.properties | 1 + adventure-test-project/gradle.properties | 2 +- 3 files changed, 121 insertions(+), 2 deletions(-) diff --git a/adventure-test-project/assets/model/00.chapter.json b/adventure-test-project/assets/model/00.chapter.json index e031957..ac173c4 100644 --- a/adventure-test-project/assets/model/00.chapter.json +++ b/adventure-test-project/assets/model/00.chapter.json @@ -1,5 +1,5 @@ { -bladeEngineVersion: "3.2.3-SNAPSHOT", +bladeEngineVersion: "3.2.5-SNAPSHOT", sounds: {}, scenes: { actor3d: { @@ -4576,6 +4576,124 @@ scenes: { verbs: {}, player: "char", walkZone: "walkzone" + }, + testwalk: { + id: "testwalk", + layers: [ + { + name: "foreground" + }, + { + name: "dynamic", + dynamic: true + }, + { + name: "background" + } + ], + actors: { + char: { + class: "CharacterActor", + id: "char", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 845.57306, + y: 90.765656 + }, + visible: true, + refPoint: { + x: 105.383484, + y: 4.3308105 + }, + verbs: { + pickup: { + id: "pickup", + actions: [ + { + class: "Cutmode", + value: true + }, + { + class: "SetActorAttr", + actor: "$PLAYER", + interaction: true + }, + { + class: "SetPlayer", + actor: "char", + inventory: "white" + }, + { + class: "Say", + actor: "$PLAYER", + text: "@basic22.char.pickup.3.text", + type: "SUBTITLE", + queue: false, + wait: true + }, + { + class: "Cutmode", + value: false + } + ] + } + }, + interaction: false, + zIndex: 1, + layer: "dynamic", + renderer: { + class: "AtlasRenderer", + fanims: { + "stand.right": { + class: "AtlasAnimationDesc", + id: "stand.right", + source: "char", + duration: 1, + animationType: "NO_REPEAT", + count: -1, + preload: true + }, + "walk.right": { + class: "AtlasAnimationDesc", + id: "walk.right", + source: "char", + duration: 0.5, + animationType: "REPEAT", + count: -1, + preload: true + } + }, + initAnimation: "stand.right", + orgAlign: 4 + }, + scaleX: 0.28517538, + scaleY: 0.28517538, + rot: 0, + fakeDepth: true, + bboxFromRenderer: true, + walkingSpeed: 2000 + }, + wz1: { + class: "WalkZoneActor", + id: "wz1", + bbox: [ -100, 0, 108.85559, 786.97614, 1356.5956, 741.85614, 1414.2749, -15.246765 ], + pos: { + x: 198.2085, + y: 67.08597 + }, + visible: true + } + }, + backgroundAtlas: "scene2", + backgroundRegionId: "bg2", + musicDesc: null, + depthVector: { + x: 948.18896, + y: -2058.4639 + }, + verbs: {}, + player: "char", + walkZone: "wz1" } }, initScene: "menu", diff --git a/adventure-test-project/assets/model/00.properties b/adventure-test-project/assets/model/00.properties index 3f8e120..a4df54a 100644 --- a/adventure-test-project/assets/model/00.properties +++ b/adventure-test-project/assets/model/00.properties @@ -31,6 +31,7 @@ basic-prop-states.state.lookat.1.text=BLUE state. basic-prop-states.state.lookat.4.text=YELLOW state. basic-prop-states.state.lookat.6.text=NO state. basic-prop-states.state.text_=Click to change test state +basic22.char.pickup.3.text=WHITE PLAYER! ink1.example2.text=> Goto example 2 ink1.link.text=> Write with Ink tutorial inventory.a0.desc_=a0 diff --git a/adventure-test-project/gradle.properties b/adventure-test-project/gradle.properties index eb0e1c1..70c150f 100644 --- a/adventure-test-project/gradle.properties +++ b/adventure-test-project/gradle.properties @@ -1,7 +1,7 @@ android.injected.testOnly=false androidGradlePluginVersion=3.4.1 appName=adventure-test-project -bladeEngineVersion=3.2.4 +bladeEngineVersion=3.2.5-SNAPSHOT bladeInkVersion=0.7.3 gdxVersion=1.9.10 org.gradle.configureondemand=false From 2e2df48bfc7d5263789b64b28c1360b200dc1b6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Garc=C3=ADa?= Date: Mon, 2 Mar 2020 14:22:28 +0100 Subject: [PATCH 13/19] Added property number comparison action. --- .../actions/IfIntegerPropertyAction.java | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/IfIntegerPropertyAction.java diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/IfIntegerPropertyAction.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/IfIntegerPropertyAction.java new file mode 100644 index 0000000..062c2fa --- /dev/null +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/IfIntegerPropertyAction.java @@ -0,0 +1,82 @@ +/******************************************************************************* + * Copyright 2014 Rafael Garcia Moreno. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ******************************************************************************/ +package com.bladecoder.engine.actions; + +import com.bladecoder.engine.model.VerbRunner; +import com.bladecoder.engine.model.World; +import com.bladecoder.engine.util.Config; +import com.bladecoder.engine.util.EngineLogger; + +@ActionDescription("Execute actions inside the If/EndIf if the game property is an integer number and meets the condition.") +public class IfIntegerPropertyAction extends AbstractIfAction { + + public enum ComparisonType { + EQUALS, GREATER, LESS, GREATER_EQUALS, LESS_EQUALS + } + + @ActionProperty(required = true, defaultValue = "EQUALS") + @ActionPropertyDescription("The comparison type") + private ComparisonType comparison; + + @ActionProperty(required = true) + @ActionPropertyDescription("The property name") + private String prop; + + @ActionProperty(required = true, defaultValue = "0") + @ActionPropertyDescription("The property value") + private String value; + + private World w; + + @Override + public void init(World w) { + this.w = w; + } + + @Override + public boolean run(VerbRunner cb) { + String valDest = w.getCustomProperty(prop); + int currentVal = 0; + int iValue = 0; + + if (valDest == null) + valDest = Config.getInstance().getProperty(prop, null); + + if (valDest == null) + valDest = Config.getInstance().getPref(prop, null); + + if (valDest != null) { + try { + currentVal = Integer.parseInt(valDest); + iValue = Integer.parseInt(value); + } catch (NumberFormatException e) { + EngineLogger.error("Property has not an integer value: " + prop + "=" + valDest); + return false; + } + } + + if ((comparison == ComparisonType.EQUALS && iValue != currentVal) + || (comparison == ComparisonType.GREATER && iValue <= currentVal) + || (comparison == ComparisonType.LESS && iValue >= currentVal) + || (comparison == ComparisonType.GREATER_EQUALS && iValue < currentVal) + || (comparison == ComparisonType.LESS_EQUALS && iValue > currentVal)) { + gotoElse(cb); + } + + return false; + } + +} From cefc177883578d6564d069d0239c9ce3f5eb047f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Garc=C3=ADa?= Date: Mon, 2 Mar 2020 18:04:11 +0100 Subject: [PATCH 14/19] Fix IfIntegerPropertyAction. --- .../engine/actions/IfIntegerPropertyAction.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/IfIntegerPropertyAction.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/IfIntegerPropertyAction.java index 062c2fa..16ff946 100644 --- a/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/IfIntegerPropertyAction.java +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/IfIntegerPropertyAction.java @@ -69,10 +69,10 @@ public boolean run(VerbRunner cb) { } if ((comparison == ComparisonType.EQUALS && iValue != currentVal) - || (comparison == ComparisonType.GREATER && iValue <= currentVal) - || (comparison == ComparisonType.LESS && iValue >= currentVal) - || (comparison == ComparisonType.GREATER_EQUALS && iValue < currentVal) - || (comparison == ComparisonType.LESS_EQUALS && iValue > currentVal)) { + || (comparison == ComparisonType.GREATER && iValue >= currentVal) + || (comparison == ComparisonType.LESS && iValue <= currentVal) + || (comparison == ComparisonType.GREATER_EQUALS && iValue > currentVal) + || (comparison == ComparisonType.LESS_EQUALS && iValue < currentVal)) { gotoElse(cb); } From d55d9c1808f70acd82d96e466bf268b0cc639bad Mon Sep 17 00:00:00 2001 From: Rafael Garcia Date: Sat, 14 Mar 2020 13:05:20 +0100 Subject: [PATCH 15/19] Updated ios minosversion to 8 --- adventure-test-project/assets/BladeEngine.properties | 2 +- adventure-test-project/ios/Info.plist.xml | 3 +-- venus/ios/Info.plist.xml | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/adventure-test-project/assets/BladeEngine.properties b/adventure-test-project/assets/BladeEngine.properties index c690e02..3a1c707 100644 --- a/adventure-test-project/assets/BladeEngine.properties +++ b/adventure-test-project/assets/BladeEngine.properties @@ -1,5 +1,5 @@ MENU_SCREEN=com.bladecoder.engine.SceneMenuScreen -bladeEngineVersion=3.2.3 +bladeEngineVersion=3.2.4-SNAPSHOT debug=false fast_leave=true gdxVersion=1.9.10 diff --git a/adventure-test-project/ios/Info.plist.xml b/adventure-test-project/ios/Info.plist.xml index 7b4e115..78f17be 100644 --- a/adventure-test-project/ios/Info.plist.xml +++ b/adventure-test-project/ios/Info.plist.xml @@ -5,7 +5,7 @@ UIRequiresFullScreen yes MinimumOSVersion - 7.0 + 8.0 CFBundleDevelopmentRegion en @@ -40,7 +40,6 @@ UIRequiredDeviceCapabilities - armv7 opengles-2 UISupportedInterfaceOrientations diff --git a/venus/ios/Info.plist.xml b/venus/ios/Info.plist.xml index a5ac88d..d5b23f8 100644 --- a/venus/ios/Info.plist.xml +++ b/venus/ios/Info.plist.xml @@ -5,7 +5,7 @@ UIRequiresFullScreen yes MinimumOSVersion - 7.0 + 8.0 CFBundleDevelopmentRegion en @@ -40,7 +40,6 @@ UIRequiredDeviceCapabilities - armv7 opengles-2 UISupportedInterfaceOrientations From 051087b02be56d9af7fd21de761d24bec57e3ddc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Garc=C3=ADa?= Date: Mon, 4 May 2020 17:25:08 +0200 Subject: [PATCH 16/19] Fixed problem loading custom menu. --- .../main/java/com/bladecoder/engine/SceneMenuScreen.java | 9 +++++++-- adventure-test-project/gradle.properties | 2 +- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java index 8a871d5..58e9196 100644 --- a/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java @@ -62,9 +62,14 @@ public World getWorld() { public void render(float delta) { final World world = getWorld(); - if (world.getAssetState() != AssetState.LOADED) { + if (world.getAssetState() == AssetState.LOAD_ASSETS + || world.getAssetState() == AssetState.LOAD_ASSETS_AND_INIT_SCENE) { // Load assets to avoid change to the LOADING_SCREEN - EngineAssetManager.getInstance().finishLoading(); + world.update(delta); + + if (world.getAssetState() != AssetState.LOADED) { + EngineAssetManager.getInstance().finishLoading(); + } } super.render(delta); diff --git a/adventure-test-project/gradle.properties b/adventure-test-project/gradle.properties index 70c150f..235723f 100644 --- a/adventure-test-project/gradle.properties +++ b/adventure-test-project/gradle.properties @@ -1,7 +1,7 @@ android.injected.testOnly=false androidGradlePluginVersion=3.4.1 appName=adventure-test-project -bladeEngineVersion=3.2.5-SNAPSHOT +bladeEngineVersion=3.2.5 bladeInkVersion=0.7.3 gdxVersion=1.9.10 org.gradle.configureondemand=false From 75335bbe33ca2532c71253eaea098530a35e1dc1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Garc=C3=ADa?= Date: Mon, 11 May 2020 16:34:35 +0200 Subject: [PATCH 17/19] Fixed a couple of bugs in SceneMenuScreen --- .../bladecoder/engine/SceneMenuScreen.java | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java index 58e9196..6959749 100644 --- a/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java @@ -37,19 +37,8 @@ public class SceneMenuScreen extends DefaultSceneScreen { public void setUI(final UI ui) { uiWorld = new World(); - try { - uiWorld.loadWorldDesc(); - uiWorld.loadChapter("ui", null, false); - } catch (Exception e) { - // dispose(); - EngineLogger.error("EXITING: " + e.getMessage()); - Gdx.app.exit(); - } - super.setUI(ui); - getMenuButton().setVisible(false); - setShowHotspotsFeature(false); } @@ -83,7 +72,8 @@ public void render(float delta) { InteractiveActor newPointerInActor = getWorld().getInteractiveActorAtInput(getViewport(), 0); if (newPointerInActor != pointerInActor) { - if (pointerInActor != null && pointerInActor.getVerb(POINTER_EXIT_VERB) != null) { + if (pointerInActor != null && world.getCurrentScene().getActor(pointerInActor.getId(), true) != null + && pointerInActor.getVerb(POINTER_EXIT_VERB) != null) { pointerInActor.runVerb(POINTER_EXIT_VERB, null); } @@ -95,4 +85,22 @@ public void render(float delta) { } } + @Override + public void hide() { + getWorld().dispose(); + } + + @Override + public void show() { + try { + uiWorld.loadWorldDesc(); + uiWorld.loadChapter("ui", null, false); + } catch (Exception e) { + // dispose(); + EngineLogger.error("EXITING: " + e.getMessage()); + Gdx.app.exit(); + } + + super.show(); + } } From 633550a5c94f2e78b8cadba3d719f9e3321c4ba4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Garc=C3=ADa?= Date: Sat, 23 May 2020 14:10:28 +0200 Subject: [PATCH 18/19] Change language action. --- .../assets/BladeEngine.properties | 3 +- .../assets/model/00_es.properties | 76 ++++++++ .../assets/model/ui.chapter.json | 177 +++++++++++++++++- .../assets/model/ui.properties | 18 +- .../assets/model/ui_es.properties | 9 + .../assets/model/world_es.properties | 18 ++ .../engine/actions/ui/UISetLang.java | 80 ++++++++ 7 files changed, 371 insertions(+), 10 deletions(-) create mode 100644 adventure-test-project/assets/model/00_es.properties create mode 100644 adventure-test-project/assets/model/ui_es.properties create mode 100644 adventure-test-project/assets/model/world_es.properties create mode 100644 adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UISetLang.java diff --git a/adventure-test-project/assets/BladeEngine.properties b/adventure-test-project/assets/BladeEngine.properties index 3a1c707..471dfe3 100644 --- a/adventure-test-project/assets/BladeEngine.properties +++ b/adventure-test-project/assets/BladeEngine.properties @@ -1,9 +1,10 @@ MENU_SCREEN=com.bladecoder.engine.SceneMenuScreen -bladeEngineVersion=3.2.4-SNAPSHOT +bladeEngineVersion=3.2.5 debug=false fast_leave=true gdxVersion=1.9.10 inventory_pos=down +languages=en,es pie_mode.desktop=false resolutions=1 roboVMVersion=2.3.8 diff --git a/adventure-test-project/assets/model/00_es.properties b/adventure-test-project/assets/model/00_es.properties new file mode 100644 index 0000000..27e4e2e --- /dev/null +++ b/adventure-test-project/assets/model/00_es.properties @@ -0,0 +1,76 @@ +01.ball.desc_=ball +01.char.pickup.4.text=WHITE PLAYER! +01.char2.pickup.4.text=RED PLAYER! +01.char3.pickup.3.text=GREEN PLAYER! +01.char4.pickup.3.text=BLUE PLAYER! +01.cube.desc=cube +01.cube.lookat.2.text=The COUNTER has a value of 3. +01.cube.lookat.4.text=The COUNTER it's NOT 3. +01.init.0.text=Este es un proyecto de test para el motor Blade Engine. +01.test_actions.desc=Test Actions +01.test_actions.lookat.0.text=Test all control actions +01.test_actions.pickup.10.text_=IF TEST 2 FAIL +01.test_actions.pickup.11.text=IF TEST 2 OK +01.test_actions.pickup.16.text_=Choose 2 +01.test_actions.pickup.18.text=Choose 1 +01.test_actions.pickup.2.text=IF TEST 1 OK +01.test_actions.pickup.21.text_=Choose and Repeat tests OK +01.test_actions.pickup.24.text__=Choose and Repeat tests FAIL +01.test_actions.pickup.5.text_=IF TEST 1 FAIL +01.test_inventory.desc_=Test Inventory +01.ui-actor.leave.0.text=This is an UI actor! +01.ui-actor.leave.1.text=Walk to other scene to test if it stays! +actor3d.init.0.text=This player is a 3d actor created with blender.\n\nAnimations are made with bones.\n\nIt has several adventages\: less memory and disk space usage, smooth animations and transitions, several camera angles with the same model and many more... +basic-prop-states.init.18.text=Running on Desktop. +basic-prop-states.init.20.text=Running on Android. +basic-prop-states.init.23.text=Running on iOS. +basic-prop-states.ko.text=Error in tests. +basic-prop-states.ok.text__=All tests passed. +basic-prop-states.state.desc_=Using states +basic-prop-states.state.lookat.1.text=BLUE state. +basic-prop-states.state.lookat.4.text=YELLOW state. +basic-prop-states.state.lookat.6.text=NO state. +basic-prop-states.state.text_=Click to change test state +basic22.char.pickup.3.text=WHITE PLAYER! +ink1.example2.text=> Goto example 2 +ink1.link.text=> Write with Ink tutorial +inventory.a0.desc_=a0 +inventory.a0.pickup.INVENTORY.0.text=Already picked +inventory.a010.desc=a0 +inventory.a010.pickup.INVENTORY.0.text=Already picked +inventory.a011.desc=a0 +inventory.a011.pickup.INVENTORY.0.text=Already picked +inventory.a0112.desc=a0 +inventory.a0112.pickup.INVENTORY.0.text=Already picked +inventory.a0113.desc=a0 +inventory.a0113.pickup.INVENTORY.0.text=Already picked +inventory.a01132.desc=a0 +inventory.a01132.pickup.INVENTORY.0.text=Already picked +inventory.a0114.desc=a0 +inventory.a0114.pickup.INVENTORY.0.text=Already picked +inventory.a012.desc=a0 +inventory.a012.pickup.INVENTORY.0.text=Already picked +inventory.a013.desc=a0 +inventory.a013.pickup.INVENTORY.0.text=Already picked +inventory.a02.desc=a0 +inventory.a02.pickup.INVENTORY.0.text=Already picked +inventory.a03.desc=a0 +inventory.a03.pickup.INVENTORY.0.text=Already picked +inventory.a04.desc=a0 +inventory.a04.pickup.INVENTORY.0.text=Already picked +inventory.a05.desc=a0 +inventory.a05.pickup.INVENTORY.0.text=Already picked +inventory.a06.desc=a0 +inventory.a06.pickup.INVENTORY.0.text=Already picked +inventory.a07.desc=a0 +inventory.a07.pickup.INVENTORY.0.text=Already picked +inventory.a08.desc=a0 +inventory.a08.pickup.INVENTORY.0.text=Already picked +inventory.a09.desc=a0 +inventory.a09.pickup.INVENTORY.0.text=Already picked +menu.actor3d.text=>Using 3d actors +menu.basic.text_=>Basic +menu.ink.text_=>Ink +menu.inventory.text_=>Inventory +menu.parallax.text=>Parallax +menu.title.text_=TESTS diff --git a/adventure-test-project/assets/model/ui.chapter.json b/adventure-test-project/assets/model/ui.chapter.json index 6af0721..32ff560 100644 --- a/adventure-test-project/assets/model/ui.chapter.json +++ b/adventure-test-project/assets/model/ui.chapter.json @@ -1,5 +1,5 @@ { -bladeEngineVersion: "3.2.3", +bladeEngineVersion: "4.0.1-SNAPSHOT", sounds: {}, scenes: { config: { @@ -505,6 +505,124 @@ scenes: { fakeDepth: false, bboxFromRenderer: true }, + eng: { + class: "SpriteActor", + id: "eng", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 1610.993, + y: 285.3479 + }, + visible: true, + refPoint: {}, + verbs: { + action: { + id: "action", + actions: [ + { + class: "com.bladecoder.engine.actions.ui.UISetConfigProperty", + name: "lang", + value: "en" + }, + { + class: "RunVerb", + verb: "set-lang", + wait: true + } + ] + } + }, + interaction: true, + zIndex: 0, + layer: "foreground", + renderer: { + class: "TextRenderer", + text: "@menu.eng.text1", + fontName: "PaytoneOne", + fontSize: 50, + borderWidth: 0, + borderColor: { + a: 1 + }, + borderStraight: true, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: { + a: 1 + }, + align: 8, + orgAlign: 4 + }, + tint: { + g: 1, + b: 0.9490196, + a: 1 + }, + scaleX: 1, + scaleY: 1, + rot: 0, + fakeDepth: false, + bboxFromRenderer: true + }, + esp: { + class: "SpriteActor", + id: "esp", + bbox: [ 0, 0, 0, 0, 0, 0, 0, 0 ], + pos: { + x: 1623.1903, + y: 285.3479 + }, + visible: true, + refPoint: {}, + verbs: { + action: { + id: "action", + actions: [ + { + class: "com.bladecoder.engine.actions.ui.UISetConfigProperty", + name: "lang", + value: "es" + }, + { + class: "RunVerb", + verb: "set-lang", + wait: true + } + ] + } + }, + interaction: true, + zIndex: 0, + layer: "foreground", + renderer: { + class: "TextRenderer", + text: "@menu.esp.text1", + fontName: "PaytoneOne", + fontSize: 50, + borderWidth: 0, + borderColor: { + a: 1 + }, + borderStraight: true, + shadowOffsetX: 0, + shadowOffsetY: 0, + shadowColor: { + a: 1 + }, + align: 8, + orgAlign: 4 + }, + tint: { + g: 1, + b: 0.9490196, + a: 1 + }, + scaleX: 1, + scaleY: 1, + rot: 0, + fakeDepth: false, + bboxFromRenderer: true + }, exit: { class: "SpriteActor", id: "exit", @@ -767,6 +885,63 @@ scenes: { { class: "End", caID: "1018946114" + }, + { + class: "RunVerb", + verb: "set-lang", + wait: true + } + ] + }, + "set-lang": { + id: "set-lang", + actions: [ + { + class: "com.bladecoder.engine.actions.ui.UISetLang" + }, + { + class: "Comment", + comment: "Ocultar todos los idiomas", + debug: false + }, + { + class: "SetActorAttr", + actor: "eng", + visible: false + }, + { + class: "SetActorAttr", + actor: "esp", + visible: false + }, + { + class: "Comment", + comment: "Mostrar el seleccionado", + debug: false + }, + { + class: "IfProperty", + name: "lang", + value: "en", + caID: "853594509" + }, + { + class: "SetActorAttr", + actor: "esp", + visible: true + }, + { + class: "End", + caID: "853594509" + }, + { + class: "SetActorAttr", + actor: "eng", + visible: true + }, + { + class: "End", + caID: "853594509" } ] } diff --git a/adventure-test-project/assets/model/ui.properties b/adventure-test-project/assets/model/ui.properties index 3f34cb5..0c389dc 100644 --- a/adventure-test-project/assets/model/ui.properties +++ b/adventure-test-project/assets/model/ui.properties @@ -1,9 +1,11 @@ -config.back.text=< Atrás +config.back.text=< Back credits.text.text=Esta\nes\nla\npantalla\nde\ncréditos. -help.back.text=< Atrás -menu.config.text1=Configuración -menu.credits.text1=Créditos -menu.help.text1=Ayuda -scene-1.continue.text=Continuar -scene-1.exit.text=Salir -scene-1.new.text1=Nuevo juego +help.back.text=< Back +menu.config.text1=Config +menu.credits.text1=Credits +menu.eng.text1=Cambiar a Inglés +menu.esp.text1=Cambiar a Español +menu.help.text1=Help +scene-1.continue.text=Continue +scene-1.exit.text=Exit +scene-1.new.text1=New Game diff --git a/adventure-test-project/assets/model/ui_es.properties b/adventure-test-project/assets/model/ui_es.properties new file mode 100644 index 0000000..3f34cb5 --- /dev/null +++ b/adventure-test-project/assets/model/ui_es.properties @@ -0,0 +1,9 @@ +config.back.text=< Atrás +credits.text.text=Esta\nes\nla\npantalla\nde\ncréditos. +help.back.text=< Atrás +menu.config.text1=Configuración +menu.credits.text1=Créditos +menu.help.text1=Ayuda +scene-1.continue.text=Continuar +scene-1.exit.text=Salir +scene-1.new.text1=Nuevo juego diff --git a/adventure-test-project/assets/model/world_es.properties b/adventure-test-project/assets/model/world_es.properties new file mode 100644 index 0000000..675cef5 --- /dev/null +++ b/adventure-test-project/assets/model/world_es.properties @@ -0,0 +1,18 @@ +default.lookat.0.text=No estoy interesado. +default.pickup.0.text=¿Para qué? +default.use.0.text=I don't know what to do with that. +ui.back=Atrás +ui.continue=Continuar +ui.credits=Credits +ui.help=Help +ui.load=Load/Save +ui.new=New Game +ui.newSlot=Save Game +ui.no=NO +ui.noSavedGames=No se han encontrado juegos guardados. +ui.override=The current game progress will be lost. Are you sure you want to start a new game? +ui.override_load=The current game progress will be lost. Are you sure you want to load this game? +ui.quit=Exit +ui.remove=Are you sure you want to remove this saved game? +ui.save=Save Game +ui.yes=YES diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UISetLang.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UISetLang.java new file mode 100644 index 0000000..1e0e71f --- /dev/null +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/ui/UISetLang.java @@ -0,0 +1,80 @@ +/******************************************************************************* + * Copyright 2014 Rafael Garcia Moreno. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ******************************************************************************/ +package com.bladecoder.engine.actions.ui; + +import java.util.Locale; + +import com.bladecoder.engine.BladeEngine; +import com.bladecoder.engine.actions.Action; +import com.bladecoder.engine.actions.ActionDescription; +import com.bladecoder.engine.assets.EngineAssetManager; +import com.bladecoder.engine.model.VerbRunner; +import com.bladecoder.engine.model.World; +import com.bladecoder.engine.ui.UI; +import com.bladecoder.engine.util.Config; +import com.bladecoder.engine.util.EngineLogger; + +@ActionDescription("Sets the volume based on preferences.") +public class UISetLang implements Action { + World uiWorld; + + @Override + public void init(World w) { + uiWorld = w; + } + + @Override + public boolean run(VerbRunner cb) { + // Parse languages + UI ui = BladeEngine.getAppUI(); + World w = ui.getWorld(); + String languageProp = Config.getInstance().getProperty("languages", null); + + if (languageProp != null) { + String[] languages = languageProp.split(","); + + // show the current language + String current = Config.getInstance().getPref("lang", w.getI18N().getCurrentLocale().getLanguage()); + + int currentLanguage = 0; + for (int i = 0; i < languages.length; i++) { + if (languages[i].trim().equals(current)) { + currentLanguage = i; + break; + } + } + + Locale l = Locale.ROOT; + + if (currentLanguage != 0) + l = new Locale(languages[currentLanguage].trim()); + + w.getI18N().setLocale(l); + w.getInkManager().loadI18NBundle(); + + uiWorld.getI18N().setLocale(l); + + uiWorld.getCurrentScene().dispose(); + uiWorld.getCurrentScene().loadAssets(); + EngineAssetManager.getInstance().finishLoading(); + uiWorld.getCurrentScene().retrieveAssets(); + } else { + EngineLogger.error("Missing 'languages' property from BladeEngine.properties."); + } + + return false; + } +} From ac0cdf8c44989a6a419ed0fb053aa10541330d41 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20Garc=C3=ADa?= Date: Mon, 23 Nov 2020 10:13:46 +0100 Subject: [PATCH 19/19] Language and hotspots fixes. --- .../assets/BladeEngine.properties | 4 +- .../assets/atlases/1/target.atlas | 152 ++++++++++++++++++ .../assets/atlases/1/target.png | Bin 0 -> 161758 bytes .../assets/atlases/1/target2.png | Bin 0 -> 233544 bytes .../assets/model/borrame-ink_es.properties | 13 ++ .../assets/model/borrame.ink.json | 1 + .../assets/model/borrame.ink.json.tsv | 13 ++ .../assets/model/borrame.ink.json.txt | 22 +++ .../bladecoder/engine/SceneMenuScreen.java | 18 ++- .../bladecoder/engine/actions/Hotspots.java | 44 +++++ adventure-test-project/gradle.properties | 6 +- adventure-test-project/ink-src/borrame.ink | 25 +++ 12 files changed, 292 insertions(+), 6 deletions(-) create mode 100644 adventure-test-project/assets/atlases/1/target.atlas create mode 100644 adventure-test-project/assets/atlases/1/target.png create mode 100644 adventure-test-project/assets/atlases/1/target2.png create mode 100644 adventure-test-project/assets/model/borrame-ink_es.properties create mode 100644 adventure-test-project/assets/model/borrame.ink.json create mode 100644 adventure-test-project/assets/model/borrame.ink.json.tsv create mode 100644 adventure-test-project/assets/model/borrame.ink.json.txt create mode 100644 adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/Hotspots.java create mode 100644 adventure-test-project/ink-src/borrame.ink diff --git a/adventure-test-project/assets/BladeEngine.properties b/adventure-test-project/assets/BladeEngine.properties index 471dfe3..8ca064b 100644 --- a/adventure-test-project/assets/BladeEngine.properties +++ b/adventure-test-project/assets/BladeEngine.properties @@ -1,8 +1,8 @@ MENU_SCREEN=com.bladecoder.engine.SceneMenuScreen -bladeEngineVersion=3.2.5 +bladeEngineVersion=4.0.2-SNAPSHOT debug=false fast_leave=true -gdxVersion=1.9.10 +gdxVersion=1.9.11 inventory_pos=down languages=en,es pie_mode.desktop=false diff --git a/adventure-test-project/assets/atlases/1/target.atlas b/adventure-test-project/assets/atlases/1/target.atlas new file mode 100644 index 0000000..0699418 --- /dev/null +++ b/adventure-test-project/assets/atlases/1/target.atlas @@ -0,0 +1,152 @@ + +target.png +size: 2658,241 +format: RGBA8888 +filter: Linear,Linear +repeat: none +00/level.09 + rotate: false + xy: 1942, 3 + size: 180, 236 + orig: 711, 315 + offset: 270, 39 + index: -1 +00/level.1 + rotate: false + xy: 1578, 2 + size: 180, 237 + orig: 711, 315 + offset: 270, 39 + index: -1 +00/level.10 + rotate: false + xy: 2480, 12 + size: 176, 227 + orig: 711, 315 + offset: 281, 39 + index: -1 +00/level.2 + rotate: false + xy: 1204, 2 + size: 185, 237 + orig: 711, 315 + offset: 287, 39 + index: -1 +00/level.3 + rotate: false + xy: 2124, 12 + size: 176, 227 + orig: 711, 315 + offset: 281, 39 + index: -1 +00/level.4 + rotate: false + xy: 2, 2 + size: 599, 237 + orig: 711, 315 + offset: 56, 39 + index: -1 +00/level.5 + rotate: false + xy: 1391, 2 + size: 185, 237 + orig: 711, 315 + offset: 287, 39 + index: -1 +00/level.6 + rotate: false + xy: 1760, 3 + size: 180, 236 + orig: 711, 315 + offset: 270, 39 + index: -1 +00/level.7 + rotate: false + xy: 603, 2 + size: 599, 237 + orig: 711, 315 + offset: 56, 39 + index: -1 +00/level.8 + rotate: false + xy: 2302, 12 + size: 176, 227 + orig: 711, 315 + offset: 281, 39 + index: -1 + +target2.png +size: 2271,243 +format: RGBA8888 +filter: Linear,Linear +repeat: none +01/level.1 + rotate: false + xy: 1552, 4 + size: 179, 237 + orig: 711, 315 + offset: 271, 39 + index: -1 +01/level.10 + rotate: false + xy: 2, 4 + size: 599, 237 + orig: 711, 315 + offset: 56, 39 + index: -1 +01/level.2 + rotate: false + xy: 2093, 14 + size: 176, 227 + orig: 711, 315 + offset: 281, 39 + index: -1 +01/level.3 + rotate: false + xy: 1733, 5 + size: 180, 236 + orig: 711, 315 + offset: 270, 39 + index: -1 +01/level.4 + rotate: false + xy: 1915, 13 + size: 176, 228 + orig: 711, 315 + offset: 281, 37 + index: -1 +01/level.7 + rotate: false + xy: 1915, 13 + size: 176, 228 + orig: 711, 315 + offset: 281, 37 + index: -1 +01/level.5 + rotate: false + xy: 603, 5 + size: 385, 236 + orig: 711, 315 + offset: 169, 39 + index: -1 +01/level.09 + rotate: false + xy: 603, 5 + size: 385, 236 + orig: 711, 315 + offset: 169, 39 + index: -1 +01/level.6 + rotate: false + xy: 990, 4 + size: 372, 237 + orig: 711, 315 + offset: 202, 39 + index: -1 +01/level.8 + rotate: false + xy: 1364, 2 + size: 186, 239 + orig: 711, 315 + offset: 286, 37 + index: -1 diff --git a/adventure-test-project/assets/atlases/1/target.png b/adventure-test-project/assets/atlases/1/target.png new file mode 100644 index 0000000000000000000000000000000000000000..e08cefd5e3f5d5deba266ac13ac18ce7ce8c4611 GIT binary patch literal 161758 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%0DPu#P{E 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ɴ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

DU+`0q1|9cRDyqMu3DAx?@!|Ax#{hTGg3j<9 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 z zRU!2csTZ3`N{hG63n7d#6f%Tlz5Hrq;rj|3BGiid19T{EcLV&RG)~X&wqEK?v%wjesX_H>r{&fdPy z9c@ikxT|?#DLZmkJI(K7bx$Ud?^8B8b={r6HE})(YNj|_AI4jSxdY$&UUJ+yTfsMc zL2c70-I^{Bc9a%hle_i~3`jmgK+7wU_+YJFjPnoYBL1Uq(daV=Hv9{dv%0rswW9;) z(@VsFIARipyH#;8>`S#gu}%9QS{DUYlMWF9Z)yan%wdv3JDuqBdW^ZB^ZePHEy#JU zrx4La_pq$*`wnA*)-NRLVwA~?+Vm9nzpxlWF4nt}R3Otw60huC1i3YY>K4H!kRYi3 zlJ7ezOaGKxqh+126gMW}r7ur(u(q2a08b87$8KeA_CqY6@eyJoHg+0n^5Wtu)+L){ zMD{T1($<+Vr`(X9(f|yZDn<(N3n{+8)k`Nq9v0Y%z8TtT&WLK4WIj)JPoWhQ`?)i= zy+kP)S2*H7%+XF(H(5j^=BTDX^61q?P)CB=bsTMM(``)yI_zt;r9LoSd~=i!I56D{ zI5hR^xHb`&<=R3|(#wh{1UKxO!JP7}ytuH23LX&YcNScEFCmt4KqUvO(ott*FGM_s zYigyxRVlGJ@o(+N9UeOpbbY{~;wfbP3<(2AhgCOm)bVfqm0{(Y@GFd4lsg2CDhB~0 zKEG1y#e39F#QiCim;+cs~FP_m=LLST?V05?q$<;Fc+MRlJEg%|DLM96$L#{4O-Y2H5&z^e@$ zF#Yt2z0HTIrB$zwe}{X(gn88HOBA>6F+%PC<_J`P86W<`5B!H5_}dxqq3bk{1lLGM zwY2~!zIQFq$9MsI9iH;ZWk39?bfRs&=u%s*fcHI5!@G#f zTkd9se7$hRBuo~nc(JL zN#1S~BI57&h4>npQ;aES>1ck{ zv$=bL1As3ihFr^e2l;LqN3!pUZVqFTG$i%&KTg6f$hUf=e|9IcYC^*fSsy;=P;R>ObGYS@lBANp1DBlxPO%A zLjI;~R*Uhc_+U;}!N&o4%rzrCVvGt8+0u7A!)8@K$to1F?bb}Xh@v~fTAkE{2D#2& zCw}o0hls|KUwT0H`tK-X4ch5Fu)aa!4GGp}XB|F=@SxGB9&bt`IINB+Vf$z8#7!Z& zRW5}HnyPaS;0f+ zAH#p@l!tOFQvxwFmkJGxfr=d1_WQ>`Ne6KG?QyMR)`q^)OcJd%5LV1Y$(wkKPAr=2 z-(MXCyqPol;HYuY8Wk$$e|q?Hs*AeLsB-_p22{@7`dRl$$a@Z|Z{@|3wfQXL_Bfwz zW6NH#$#~KHRv0@PW+>o(7dmlnk}RKlcaoV$gR>oigemwMus>feE(^YMoI;(?U$T{} zCyY#5KKf>|QNud#aFRLEi*?#*JyT}s`)sr58+2IpfdY_>-%m^j4{vfnL0NO|wH@MB zB9GQWwo7$?9a=*ms1#BR5ND;GDAm`N$NKWz4|Do}%)FV1it*)h%P zAI8;1yJHH45yT({kzy&gpmTs_;xVGSja8M*|Iq2MVS3Xq41_wvDV;j{hT8dWJ4@$` z;Finp{b=gS)>f>&jB^pY2aRiCj^-HCi}e}Z_h z;UMQ3!hw`Jg7&!C%aQVC9co^{ahzL0xOwEzCQ7;Y&-|_=H2v3^h>eE~S@A|7_mh73 zrmvQMh0hMc)`JjY7&nLV$(HzpwGh0sj9z8>t)U4-(2aU4CAQ%*C;)i*vE6jjl3Iyk z80voh<~NB5Tek0JroLP4z|4rXZo@zj?dV1)4U=)q97_M{e+luxe**pg@ZnUq|Kxet z#kRJab8*Cr1*TM1kP1cc?}VG=?E!YSCd>{ zex_@CQgiZ}-*SzsF&L0V$zXr{r+30ePqBDcG%!A*_8JeC&;Z`!!|8l&aGUe}VabA)fK1n*h;TRi1iXku}TWS6QWP7H#I6viDZ z0Hct-P~52cTx(vt8qa>z1gF179G12o^5UQ2t(7vD!5CDp&_>y2J^x;3upN4c7oC`*XWcm}y)xT^d>;Tn zTb_>*=JlSCexkG`L$L*$>GCfAA8*FTi8Iq|-1#X|Iu%qe!7cIMNfhlrnsvm$|MG5# zO=GZgQqL5_!4+6v7%}Ji2O>2iRQ!(ClL?pg8{hM?D+4e{!$Yb)O#ljPn;nh>pwvNq zHMa7-$vwhLrA&ETtyG}RJ*+ach9YU9QqK~&E||3vBRvfAiNzy}i64HJ#!T%xWj z63!-(pIhfGTL$*z`l)0UOFdmRU-)OMHuAuAw0E5?w%ql`ask0?*h70ReuYNpVh5um=lckwYZYcg3&`5U$6? z_zS$U=JiuYcc7-ii#rGSt?)H<=f*sepkIY6{X}fstQnYlj5-86Kja^|H0hHh!i6-rV-bI7OQPnB|>16o$f>lE-RY60fbnue!@JWZ*RMzC(M)O%x(5HA)61`1mRbD)OIRW4s zDvY2xXH%|t5-sKT$Msjab$T9?+(_94BT9=KPrPsSV_dK`fTor@;mo@l^iE{eH z6zw-_T;L40CUrdaa>w+Yw{h@~r%zs`9X+#+V8V*<^UFs}qWl~zE%+QTFs)_Q&V0;B zg99;|{^DHW)ab`qD|u_xm4h5F-~4 z74s;~T&XtN@hV*`vEP^$e}&m)xQoS!IKN`Kt@{Xf)dA?8#)T;38GTYFP@MZi4slv( z_M(hPl0J~&#_ysYnQjk40Yk^3us$L!gR1VqhDpQpw;(tJHeU9#-8vixy|tPw(BN3p zRbWM;zUWl+yU(Tl%Uyn{E}fl^;myAC|CM##@oe`08n4ZRqIO#Ztu7-)ZK_856g68j zQma*?wuqU;tW|BbVvlMmDymvUgcza3tlDa;5hK)IIk%qQ^E>BvPX5j-c_sIKU*FGl zUGMw;hGazvQL0wwJ~t)j_N7sMhgZC3$aW+7L55}}z*wCS1{khXn(>EYPDVqW!3jRL zLfM5|r9zVP$FLA7%hQ;$&sA;Z7OlvtOq-mXJ@%hnM_3CX8=`y|o#ljD?-|lzai}J0$4)%#_;Ncf<<7fUn#YhLU)C>9R zi}_*bvYmY-!UAp4eo;TK`iyVoxTN8^qR37YMTufX@6LV>8mrOd;mqBN>COHbe>XTo zPFHW+=gbxN0`g`5N)VfBv%?Q*zI;>{Uzp`Pm`6ks;$8s(gPXS)^Rg1}M%}%=@L4HW zU!Yi;6lG5Q<-n57_(9Jay&C{N6&chb?XrI;i?NIgth{2>|6U`PL~weg>@3(_R~<{* z!M|`)A{=-a#&;``kHsaoUON8|=%xA0wZ&@&uS-wg+^YGq_WbVbS~9fQ{B}QUm-A6S zE7a(_nT#)OP#f={epWHsig-gUxDWGgi?)6~Io ze1rZ*G`{mCZiEI~++!Ub{OAn?ZPQqhh*ekT+oxup$^Po2I=H%P|9Nb=3nonJsZr6) z7hYGfB=}CdX$fdUVw@AbAI1zp6dMjoJlAE3!~XfR+hGb})vHIA>~8{7mp8zDb+E^w z3)S#@%#p%j4BDxc9umquCGfPCDSNBLr`)JJQs6VLjGl#HckhkNr5kz1MjYK@@^o&i zvi_ZkS@(f)xWTTF;qWxnv4pOy?8aQq=VQjw$$4Lk_2n`gc5K&FHfZnEj-bH&!}Q}> z8_GcdxU`2oD(Hg-IBxJ?+3f#a5l2u!(wMmBsEK^PeEg#G3%)I(Gt2A|ddCDFK}}<0 zd0mhn-m%Z>F;%cva=*{UxP@J5L%-om~`L>vUz>)DZQg zt(YbvK8ojpOGmj)m8ymyyQ$kV@;^Yl|BfBrAA?5|JcB(f!2 zTt{T*A8$`&H9wu$dNs4V!W?oUrV@ZKsk1G|T~RYHp;&T1swz`moTr@X6b$`sNeqE? z5{p}ljl#N+f$P3(8O6e+R)f+og{`Rwd1ub(0mq*k;+T5)ASVF&hLzs^=9m~l&w;Z8 znZaP?f<|>sz(G%e95X#y=1J=~s6Al7OiceO7-63_)&~qCmoV$iV&a%yd2HOR^S*5% z9#@DayaKGvgX?Potn-aj3u$=Cjd@mR_ENdmZve{&WzVNSP4XHZPjR2x?lz5|7h|(? z&0LWj4NP#cT{&T*G6?tl#~_L;TXuP(-?rqC^GvV83KF$2`JObGLAQ04M}?O-uaY?# zm}o_X0f2EF`048=WKIho8@rVw2h;Rh^*&_ou}{Ye9v`iFxt3UhQe^up2!x1)X}72k zS2l0(z9q$~TqPpT{ng$u@j90Fd{9{8m3lN_1{vzjvFXm9BWdnC`sK&b>q5)c+3QWo zl5>=p-2}TLrg83?lK@s8^B(~$Cm_-E0Kf}(&&#f0QN3wzc5b2-iDW)~Sz5+yEW3li z^1Xh$!7{GzU3(=Hb~W6l8nb!^bM4_6X|sJm3tSTg`OM?h1_3b_6W{9b^kvwB(atiK ztv5<4eLGVIoXUjOu*y^0D@;u#O>g6PE*C#Z$E8;8@tz=wx5d1!yD~!+D+?n8w_&m~ zO_vI%c^L_d-TUt%3i2V?^$-WVAu^S3w z7T}bm#na=vu)qL^b@zRwOy=bqch@az z+=KzY2x5EJI>IXKmXwpWijZP0TV2g(6jK{e7jJQlP0sU}Kuovjd~-x;uuHiDt3L?f zwcOXA#%M{ak2hyZ)_!vrieI3Ol;5Wkir|ynVQzL6N4QsUtM-9)# z`SOHs_uRTWEe>l#7`mYWs)OSc{A?3?X}4r{vodaLqtEkt5wS^Ln$1C&A4s`|nE1{X zWH$OIH{~$>KE#EFZa??JAoBc!5PAE2Z^&Zs<%L{hK~WbwW;tAuExSXFIvY09SGD7} zzJ2YFGXI@)azlyad=TZTD>L`j8Hyy9rrRNLQ<8zEv{_ln;i@s7R5Mz=z292xq&mP~ zdPql?`l_jn5YjrE!aY6N@p@jvjyvoi7H-Z7sOiZ6_ZKJjQ>_4?l+-1s{XKxGQkIbc zqVY92d35wyA;2@HvZYNqLh5GjN_$cj&}B6_Bs2~ia#tKZFhP9puiAWPg^0s$%kmFG z%h7ISdlG05x`z#w(nh*qkp>`IOCH~G(BOkjAtg6SdV*QG; z+^W8KEvDb8_Ul7 zQQ)>A2e5%@aNFeBjXI6}&1u!hD7soLi~jhLMZ5Nf9bLc&0r(yt$}8QsMMESSoL2WW zzD>$@0U*+f^s3h4O_ZFUos#GX08U=8^ZC6Oz*|qM{&E(08Q4#DOL5JSIe8J89LJ3} z-|>^2)N`%+ROkJ6N*6P>Pj5jmx^j+;{Ty=5;#cXU-lCQ?zq!st2r(&;7h+cX!tGb- zuk=S2KJ1hSxD|Wpyqo0FXg51JHQX)Kyu1F@#u0}WdG5>nICsXU$aRuGH*|4vv&bTN zq~_}q%^4XHJmgN+KF6uSZXJw~1csaOlt80_`fm0T%HE?@843$Zo27KU{PEoFh;o&% zrkeAsefv&BzP#67?FxkP=eKx8Uzg*v(hnr(My6dcQnt-sebK%v;a?%RC*p&W!;LrG zJZ4Aqvmn7o0a(B83J5G{AAhV+T_X>FBLkP&4LvmQSmpUix(;Zo2sCqvj{XGn1M}7H z+GEBxlq@h~OwdCQjO6I6NPZb+__`})x}^H?-UA435sJZ|t=(N&ASV4GQ%}sz$T`sj zzYjDtNee?f%j55S_XH)kFOduJ-o%R z4wc&5_Oua6OGkTKAo@0N>bI{N76b&*4Z7^7I55@M!Nkrx;A=T*DoLGL%Ejg(VqX-= z!DT3@h8X@&2nu2Yfg@dp4rI-&A8PbF-lMl&ZPn~x9=ynuw1w)L!%NSWPY%lhENOX# zs(lw6{fq4nOzH^FayKhe{Gr@q;oo$?B9aw0yTsErN4*QGmGwIB8Wc;yWzTG^Y9IZC zBr1lL$sc%VLk&HHGTzIFe1KU{`!6*Ed&SEOfayK?qZkW7^HYKDE)=J5jy1JXx(nK! z{)KC6dKEi1-?jvs{TuC0Df#hvvCMC$O@y**ryBS$MmMQ4X(xg;gw};8=2TfUs8DQ? zV|4g_jB?lHl7m>nqH$Adr1!7j4;q>$ojA)(Q@o<^)J9jtB=OfSpHG5-PNI2bA5`JA)qz-IaK`+z|925B>u-Qo3sXKVm+kuOv& z(Ep{j(Jxq~$wKi9Je4-tpv!Q=eR40LKRG~L3#~Mqbw4xPX88EX`SG&qTRzpF&;n__ z{#zh6J}@YEG*FA4Q7g!WXg&^2S==@-9Xlp9yvB1*E_spX%z9QG<48EpO`qsuv}R1i zGXUj*1b$2gGRMfN9ZMA)+G_Q;C6atcx3!I{Vt9?J;~gj*rR=EHGA^F0E!o9*^ae0& zoPT0#8Ds6#OR2(Y4?eh+m`Q~%*=EmCghgH+^j-9&p4;8tx%2q%29Dn-DsR>S zoLAU@n;iF8CW8Tz^Ec!Yo0tx>oDX5-!OXJVBBqJksSt55SO3?|J1?NeAdE=BK?%im zD}fpk(U$9rEsC%gFyrtQS{3Dda$@ah{~K%kcV!XV8fn4?86#(1`T=kW6TOFVB{%xT za!yhft@xnyO}wbs(j`j8p*3tj;PPpNu!lj%7&UqU{GMNwri__ofevV0?LUh8sZWl> z9(%#PuD7!#5`t|m^N3H~V17F}yL}wEAi=qovmWgF^Ejj5?Sjg10u$7(h=Zyap?gJj z2c^CAZn_}qvORoL40y-@h#*h6_0-N+2k3Q+Z8K{VKaUP7=;Wagacc|{+=@eTfl9mH|FsZCxy!&9%h)^-^j9 z)+W;_6T737vAZBMWHk|JDyhd3IYrM%|Jlw7SMHX~L`R#;1y(UM(v*4IM_`*=SLuDz zvvOcG32$|Q+H9#37lTh9XT|VTt=-PbuQKfkryCJ_-b`#|h(dY=AF>WI8kDf>2|B~p)%fQu7 zVY5(tsBP=tGc)gwWK@oTPPUc0y19V(l; zM9umOt1avy%LZe@Z^*CuaD4D%u>_;3-?t>eyEmCUsD|EfL~ez@+ni=AqIc_I zNV9{sYJ!4^7l<>OPM|S!QLSAztJSiy1Q<;XMia=Mp1>_J3(l$?TuF3QIQzrUQ(rf( zC**%hfpgZ97#M8^<%g&Et^4KuV?s%YOeg1nux5!`eT(m0uju-jm`}j_e|m;LU1rNE zFbKprZbR*>YA(=he>qXUXoRPGXr{GpG-MI&*dqPtAx@DVkoS*FemMRV#@N{tu z*IXzUU}v*TkR6^fi|OMRT-y7L`HHj5+~>=>RXgzmdvvhw`sG`m@198V&$@%DwV!!k zc4aaF()T?tO(fw#7#JmBQ!DA5WMSaG&&S5%*BHL}$UBQ3faxN+l#`T4?7qZ{YSEtl z+Jtm!?Z)Skuj)E$^%z!G$Z5lZ+cjlKnjHMsq^bQcf2S^hE@P%Q%VMa7x97L#rnfRj zCR<+Uvs0MyU*fP_zy6l#8#4U#@c{a$BA`xMVGOteh20q8lFAhSb+*dA^`IfSi!l#H zPaMXE*7#}iStgH-lHFQscr#j6bn?x$epz|KR&B7O8uAjM1wzM?aW44ejb z(k;7HPt60Cagxv1G##YWbe#8$Fo)b4*^VJe*fD4qGV>SwBhZY||0&1XK%YyV*A0tj zPg#eA#V9(YefJ3$6wy%T9mMHXAUG(CAj(n}VJik#IKdqP#R+*2zN7yQhsy@AMx|}s#3}#DhYryRL zsz?!NJMwiRJRUQ<4*gDfso~h0C^^=V#jc>~pyl2M0$JdBN{%e^0 z4-Isr$*f>m3%hFQntiZ)SK%PfqudHr7^yQ2mnle6)uK0xmlhbH|E}EMQ*iz|rI=HS zPjKCjE7gjN=Tzh4VVq@9UxxcMCTYk@^(Ggv!l5{wQD?CN?2>;+R#!iKNb->Ov@W4b>#Yzj$Es_Xzk^-=;_^+)EtCOjRyC1 zUMh?Zvm9F7lF}0>FCNI7@y&ZSjq#+j>bi+YY=3wNmOyoQD0Ue6vqEV)k6-PkH zx$t{pk!`PkW*NAc=FFUoDS6u9NI^CSJucyE>}mtp$#R~6=FDD_BSWJjiu3vGs-3lf z6-J@wNzCP*=|T2V;m3iwS#ymcDB$Rx*b&Lb#arjr4+o+F=|E7g8B|pPNb&mK`7qd} z>zPyaGT9T9-tT^yyvrKVG{TRgyXQ1H&Ak0%frJOV0DW(fm&XmvEA>oDLq1wtqL^nG zQx@zhI|r93~-rZ9fNi3dno*!pK4iwf05SQXV6>0;`Z1!+>yfEwhi1UNkV>+Bsk?`(qwbE- zOt%g3({jUF5q;vj7&^@SsX^9Qa^!X9S-Fj~ zIdjUD3Jp76G%{UkT;-?vW9~s*Ips#V1Yjcg>PW7N6HMiwe&}ES9sC1@O5?cnOOXZX Rm3Rtx-PJYJ!D!iq{}-f35hwrv literal 0 HcmV?d00001 diff --git a/adventure-test-project/assets/atlases/1/target2.png b/adventure-test-project/assets/atlases/1/target2.png new file mode 100644 index 0000000000000000000000000000000000000000..28158372d80ed5602c61ba9948256a104c546664 GIT binary patch literal 233544 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 z zVG?{Fki2Bq9M|E8fCoRA!Mzpn*>LVUX5Mp;G6+j>@r#!{lbkm3H;|nP^NhK}xqqcT zgoIF7*1ZkVCv-qi+JM$hh6k`0;*BnKVqJtMa8)f_hOKgJ7 z8tiR3Ol;nhm`TRF(B;y_?19=)gyer9)_n~>xx)P@5RvHs(a!}oOkML&yn))@cWt

iND5FOzSuk^YPMT6EdG1~9PwZSzj#8W7^Ld9 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�q%H8l5kIB+(RX-)X%s=spM8@sjAA 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ì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 P4EU1}l@+NH(hvL(^mI$p literal 0 HcmV?d00001 diff --git a/adventure-test-project/assets/model/borrame-ink_es.properties b/adventure-test-project/assets/model/borrame-ink_es.properties new file mode 100644 index 0000000..9cf85f9 --- /dev/null +++ b/adventure-test-project/assets/model/borrame-ink_es.properties @@ -0,0 +1,13 @@ +/ov5jCx3MG=cadena1. +5iZIZNGn/Q=cadena2. +1+rhlTdqOQ=cadena32. +nosUA7gKOb=cadena31. +7MalaX8Yfq=cadena4. +GF7v+euqeW=cadena7. +1xxHegzf+P=cadena9. +jBImWH8vyS=cadena8 +VN4eL3zkri=cadena33. +simouMQ6B6=cadena5. +QiFowyJ732=cadena10 +tg0SG0OKOA=xxx +3BFkVNa1yE=cadena6. diff --git a/adventure-test-project/assets/model/borrame.ink.json b/adventure-test-project/assets/model/borrame.ink.json new file mode 100644 index 0000000..c4fc5fa --- /dev/null +++ b/adventure-test-project/assets/model/borrame.ink.json @@ -0,0 +1 @@ +{"inkVersion":19,"root":[["ev","str","^hola","/str","/ev",{"temp=":"tmp"},["ev",{"^->":"0.6.$r1"},{"temp=":"$r"},"str",{"->":".^.s"},[{"#n":"$r1"}],"/str",{"VAR?":"test"},"/ev",{"*":"0.c-0","flg":3},{"s":["^@/ov5jCx3MG",{"->":"$r","var":true},null]}],"ev","str","^@5iZIZNGn/Q","/str",{"VAR?":"test"},"/ev",{"*":"0.c-1","flg":5},["ev",{"^->":"0.14.$r1"},{"temp=":"$r"},"str",{"->":".^.s"},[{"#n":"$r1"}],"/str","str","^@1+rhlTdqOQ","/str",{"VAR?":"test"},{"VAR?":"test2"},"&&","/ev",{"*":"0.c-2","flg":7},{"s":["^@nosUA7gKOb",{"->":"$r","var":true},null]}],["ev",{"^->":"0.15.$r1"},{"temp=":"$r"},"str",{"->":".^.s"},[{"#n":"$r1"}],"/str","/ev",{"*":"0.c-3","flg":2},{"s":["^@7MalaX8Yfq",{"->":"$r","var":true},null]}],"ev","str","^@GF7v+euqeW","/str","/ev",{"*":"0.c-4","flg":4},["ev",{"^->":"0.22.$r1"},{"temp=":"$r"},"str",{"->":".^.s"},[{"#n":"$r1"}],"/str","str","^@1xxHegzf+P","/str",{"VAR?":"tmp"},"str","^hola3","/str","==",{"VAR?":"tmp"},"str","^hola4","/str","!=","&&","/ev",{"*":"0.c-5","flg":7},{"s":["^@jBImWH8vyS",{"->":"$r","var":true},null]}],{"c-0":["ev",{"^->":"0.c-0.$r2"},"/ev",{"temp=":"$r"},{"->":"0.6.s"},[{"#n":"$r2"}],"\n","end",{"->":"0.g-0"},null],"c-1":["\n","end",{"->":"0.g-0"},null],"c-2":["ev",{"^->":"0.c-2.$r2"},"/ev",{"temp=":"$r"},{"->":"0.14.s"},[{"#n":"$r2"}],"^@VN4eL3zkri","\n","end",{"->":"0.g-0"},null],"c-3":["ev",{"^->":"0.c-3.$r2"},"/ev",{"temp=":"$r"},{"->":"0.15.s"},[{"#n":"$r2"}],"\n","^@simouMQ6B6","\n","end",{"->":"0.g-0"},null],"c-4":["\n","end",{"->":"0.g-0"},null],"c-5":["ev",{"^->":"0.c-5.$r2"},"/ev",{"temp=":"$r"},{"->":"0.22.s"},[{"#n":"$r2"}],"^@QiFowyJ732","\n","ev",{"VAR?":"tmp"},"str","^hola2","/str","==","/ev",[{"->":".^.b","c":true},{"b":["\n","^@tg0SG0OKOA","\n",{"->":"0.c-5.16"},null]}],"nop","\n","end","^@3BFkVNa1yE","\n",{"->":"0.g-0"},null],"g-0":["done",null]}],"done",{"global decl":["ev",1,{"VAR=":"test"},1,{"VAR=":"test2"},"/ev","end",null]}],"listDefs":{}} \ No newline at end of file diff --git a/adventure-test-project/assets/model/borrame.ink.json.tsv b/adventure-test-project/assets/model/borrame.ink.json.tsv new file mode 100644 index 0000000..fa3de8b --- /dev/null +++ b/adventure-test-project/assets/model/borrame.ink.json.tsv @@ -0,0 +1,13 @@ +/ov5jCx3MG cadena1. +5iZIZNGn/Q cadena2. +1+rhlTdqOQ cadena32. +nosUA7gKOb cadena31. +7MalaX8Yfq cadena4. +GF7v+euqeW cadena7. +1xxHegzf+P cadena9. +jBImWH8vyS cadena8 +VN4eL3zkri cadena33. +simouMQ6B6 cadena5. +QiFowyJ732 cadena10 +tg0SG0OKOA xxx +3BFkVNa1yE cadena6. diff --git a/adventure-test-project/assets/model/borrame.ink.json.txt b/adventure-test-project/assets/model/borrame.ink.json.txt new file mode 100644 index 0000000..5c75925 --- /dev/null +++ b/adventure-test-project/assets/model/borrame.ink.json.txt @@ -0,0 +1,22 @@ + * cadena1. (/ov5jCx3MG) +cadena2. (5iZIZNGn/Q) +cadena32. (1+rhlTdqOQ) + * cadena31. (nosUA7gKOb) + * cadena4. (7MalaX8Yfq) +cadena7. (GF7v+euqeW) +cadena9. (1xxHegzf+P) + * cadena8 (jBImWH8vyS) + + + +cadena33. (VN4eL3zkri) + +cadena5. (simouMQ6B6) + + +cadena10 (QiFowyJ732) +xxx (tg0SG0OKOA) +cadena6. (3BFkVNa1yE) + + +==== global decl ==== diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java index 6959749..a84556d 100644 --- a/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/SceneMenuScreen.java @@ -28,11 +28,14 @@ public class SceneMenuScreen extends DefaultSceneScreen { private static final String POINTER_ENTER_VERB = "pointer-enter"; private static final String POINTER_EXIT_VERB = "pointer-exit"; + private static final String START_VERB = "start"; private World uiWorld; private InteractiveActor pointerInActor = null; + private boolean startVerbLaunched = false; + @Override public void setUI(final UI ui) { uiWorld = new World(); @@ -61,9 +64,22 @@ public void render(float delta) { } } + if (!startVerbLaunched) { + startVerbLaunched = true; + if (world.getCurrentScene().getVerb(START_VERB) != null + || world.getVerbManager().getVerb(START_VERB, null, null) != null) { + world.getCurrentScene().runVerb(START_VERB); + + return; + } + } + super.render(delta); - // call pointer-enter/pointer-exit + runPointerEnterExitVerb(world); + } + + private void runPointerEnterExitVerb(final World world) { if (world.getAssetState() != AssetState.LOADED || Gdx.input.isPeripheralAvailable(Peripheral.MultitouchScreen) || world.inCutMode() || world.hasDialogOptions() || world.isPaused()) { return; diff --git a/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/Hotspots.java b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/Hotspots.java new file mode 100644 index 0000000..7a0de38 --- /dev/null +++ b/adventure-test-project/core/src/main/java/com/bladecoder/engine/actions/Hotspots.java @@ -0,0 +1,44 @@ +/******************************************************************************* + * Copyright 2014 Rafael Garcia Moreno. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + ******************************************************************************/ +package com.bladecoder.engine.actions; + +import com.bladecoder.engine.BladeEngine; +import com.bladecoder.engine.model.VerbRunner; +import com.bladecoder.engine.model.World; +import com.bladecoder.engine.ui.UI; +import com.bladecoder.engine.ui.UI.Screens; +import com.bladecoder.engine.ui.defaults.DefaultSceneScreen; + +@ActionDescription("Enable/disable hotspot feature.") +public class Hotspots implements Action { + + @ActionProperty(required = true) + @ActionPropertyDescription("Hotspots enabled?") + private boolean enable; + + @Override + public void init(World w) { + } + + @Override + public boolean run(VerbRunner cb) { + UI ui = BladeEngine.getAppUI(); + DefaultSceneScreen sceneScreen = (DefaultSceneScreen) ui.getScreen(Screens.SCENE_SCREEN); + sceneScreen.setShowHotspotsFeature(enable); + + return false; + } +} diff --git a/adventure-test-project/gradle.properties b/adventure-test-project/gradle.properties index 235723f..0ab5fe6 100644 --- a/adventure-test-project/gradle.properties +++ b/adventure-test-project/gradle.properties @@ -1,13 +1,13 @@ android.injected.testOnly=false androidGradlePluginVersion=3.4.1 appName=adventure-test-project -bladeEngineVersion=3.2.5 +bladeEngineVersion=4.0.2-SNAPSHOT bladeInkVersion=0.7.3 -gdxVersion=1.9.10 +gdxVersion=1.9.11 org.gradle.configureondemand=false org.gradle.daemon=true org.gradle.jvmargs=-Xms128m -Xmx1536m -roboVMGradlePluginVersion=2.3.7 +roboVMGradlePluginVersion=2.3.8 roboVMVersion=2.3.8 spinePlugin=false version=19 diff --git a/adventure-test-project/ink-src/borrame.ink b/adventure-test-project/ink-src/borrame.ink new file mode 100644 index 0000000..3b4fd8b --- /dev/null +++ b/adventure-test-project/ink-src/borrame.ink @@ -0,0 +1,25 @@ +VAR test=1 +VAR test2=1 + +~ temp tmp = "hola" + ++ {test} cadena1. +->END ++ {test} [cadena2.] +->END ++ {test}{test2} cadena31. [cadena32.] cadena33. +->END ++ cadena4. +cadena5. +->END + ++ [cadena7.] +-> END + ++ {tmp == "hola3"} {tmp != "hola4"}cadena8 [cadena9.] cadena10 +{tmp == "hola2": + xxx +} +-> END + +cadena6. \ No newline at end of file