diff --git a/example/advanced/advanced.collection b/example/advanced/advanced.collection index cf3517b..0ef1890 100644 --- a/example/advanced/advanced.collection +++ b/example/advanced/advanced.collection @@ -31,12 +31,15 @@ embedded_instances { " value: \"/go\"\n" " type: PROPERTY_TYPE_HASH\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "embedded_components {\n" " id: \"collectionfactory\"\n" " type: \"collectionfactory\"\n" " data: \"prototype: \\\"/example/advanced/menu.collection\\\"\\n" "load_dynamically: true\\n" + "dynamic_prototype: false\\n" "\"\n" " position {\n" " x: 0.0\n" @@ -84,6 +87,8 @@ embedded_instances { " z: 0.0\n" " w: 1.0\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "components {\n" " id: \"gui\"\n" @@ -99,6 +104,8 @@ embedded_instances { " z: 0.0\n" " w: 1.0\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "" position { @@ -144,6 +151,8 @@ embedded_instances { " value: \"pregame:/go#pregame\"\n" " type: PROPERTY_TYPE_URL\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "embedded_components {\n" " id: \"collectionproxy\"\n" @@ -207,6 +216,8 @@ embedded_instances { " value: \"game:/go#game\"\n" " type: PROPERTY_TYPE_URL\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "embedded_components {\n" " id: \"collectionproxy\"\n" @@ -290,6 +301,8 @@ embedded_instances { " value: \"true\"\n" " type: PROPERTY_TYPE_BOOLEAN\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "embedded_components {\n" " id: \"collectionproxy\"\n" @@ -368,6 +381,8 @@ embedded_instances { " value: \"confirm:/go#confirm\"\n" " type: PROPERTY_TYPE_URL\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "embedded_components {\n" " id: \"collectionproxy\"\n" @@ -426,12 +441,15 @@ embedded_instances { " value: \"background\"\n" " type: PROPERTY_TYPE_HASH\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "embedded_components {\n" " id: \"collectionfactory\"\n" " type: \"collectionfactory\"\n" " data: \"prototype: \\\"/example/advanced/background.collection\\\"\\n" "load_dynamically: false\\n" + "dynamic_prototype: false\\n" "\"\n" " position {\n" " x: 0.0\n" diff --git a/example/advanced/menu.collection b/example/advanced/menu.collection index c7efc88..5a71d2b 100644 --- a/example/advanced/menu.collection +++ b/example/advanced/menu.collection @@ -16,6 +16,8 @@ embedded_instances { " z: 0.0\n" " w: 1.0\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "" position { @@ -76,12 +78,15 @@ embedded_instances { " value: \"/go\"\n" " type: PROPERTY_TYPE_HASH\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "embedded_components {\n" " id: \"collectionfactory\"\n" " type: \"collectionfactory\"\n" " data: \"prototype: \\\"/example/advanced/popup.collection\\\"\\n" "load_dynamically: false\\n" + "dynamic_prototype: false\\n" "\"\n" " position {\n" " x: 0.0\n" diff --git a/example/slidingwindow/slidingwindow.collection b/example/slidingwindow/slidingwindow.collection new file mode 100644 index 0000000..fcd88ef --- /dev/null +++ b/example/slidingwindow/slidingwindow.collection @@ -0,0 +1,169 @@ +name: "slidingwindow" +scale_along_z: 0 +embedded_instances { + id: "go" + data: "components {\n" + " id: \"slidingwindow\"\n" + " component: \"/example/slidingwindow/slidingwindow.script\"\n" + " position {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " }\n" + " rotation {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " w: 1.0\n" + " }\n" + " property_decls {\n" + " }\n" + "}\n" + "" + position { + x: 0.0 + y: 0.0 + z: 0.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + scale3 { + x: 1.0 + y: 1.0 + z: 1.0 + } +} +embedded_instances { + id: "window1" + data: "components {\n" + " id: \"screen_proxy\"\n" + " component: \"/monarch/screen_proxy.script\"\n" + " position {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " }\n" + " rotation {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " w: 1.0\n" + " }\n" + " properties {\n" + " id: \"screen_id\"\n" + " value: \"window1\"\n" + " type: PROPERTY_TYPE_HASH\n" + " }\n" + " properties {\n" + " id: \"transition_url\"\n" + " value: \"window1:/go\"\n" + " type: PROPERTY_TYPE_URL\n" + " }\n" + " property_decls {\n" + " }\n" + "}\n" + "embedded_components {\n" + " id: \"collectionproxy\"\n" + " type: \"collectionproxy\"\n" + " data: \"collection: \\\"/example/slidingwindow/window1.collection\\\"\\n" + "exclude: false\\n" + "\"\n" + " position {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " }\n" + " rotation {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " w: 1.0\n" + " }\n" + "}\n" + "" + position { + x: 0.0 + y: 0.0 + z: 0.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + scale3 { + x: 1.0 + y: 1.0 + z: 1.0 + } +} +embedded_instances { + id: "window2" + data: "components {\n" + " id: \"screen_proxy\"\n" + " component: \"/monarch/screen_proxy.script\"\n" + " position {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " }\n" + " rotation {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " w: 1.0\n" + " }\n" + " properties {\n" + " id: \"screen_id\"\n" + " value: \"window2\"\n" + " type: PROPERTY_TYPE_HASH\n" + " }\n" + " properties {\n" + " id: \"transition_url\"\n" + " value: \"window2:/go\"\n" + " type: PROPERTY_TYPE_URL\n" + " }\n" + " property_decls {\n" + " }\n" + "}\n" + "embedded_components {\n" + " id: \"collectionproxy\"\n" + " type: \"collectionproxy\"\n" + " data: \"collection: \\\"/example/slidingwindow/window2.collection\\\"\\n" + "exclude: false\\n" + "\"\n" + " position {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " }\n" + " rotation {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " w: 1.0\n" + " }\n" + "}\n" + "" + position { + x: 0.0 + y: 0.0 + z: 0.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + scale3 { + x: 1.0 + y: 1.0 + z: 1.0 + } +} diff --git a/example/slidingwindow/slidingwindow.script b/example/slidingwindow/slidingwindow.script new file mode 100644 index 0000000..7e632aa --- /dev/null +++ b/example/slidingwindow/slidingwindow.script @@ -0,0 +1,13 @@ +local monarch = require "monarch.monarch" + +function init(self) + monarch.debug() + msg.post("@render:/", "clear_color", { color = vmath.vector4(0.4, 0.6, 0.8,1.0) }) + msg.post("#", "init_monarch") -- wait until init() has been called for all screen.script instances +end + +function on_message(self, message_id, message, sender) + if message_id == hash("init_monarch") then + monarch.show(hash("window1")) + end +end diff --git a/example/slidingwindow/window1.collection b/example/slidingwindow/window1.collection new file mode 100644 index 0000000..cc93f33 --- /dev/null +++ b/example/slidingwindow/window1.collection @@ -0,0 +1,39 @@ +name: "window1" +scale_along_z: 0 +embedded_instances { + id: "go" + data: "components {\n" + " id: \"window1\"\n" + " component: \"/example/slidingwindow/window1.gui\"\n" + " position {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " }\n" + " rotation {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " w: 1.0\n" + " }\n" + " property_decls {\n" + " }\n" + "}\n" + "" + position { + x: 0.0 + y: 0.0 + z: 0.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + scale3 { + x: 1.0 + y: 1.0 + z: 1.0 + } +} diff --git a/example/slidingwindow/window1.gui b/example/slidingwindow/window1.gui new file mode 100644 index 0000000..dcbd241 --- /dev/null +++ b/example/slidingwindow/window1.gui @@ -0,0 +1,261 @@ +script: "/example/slidingwindow/window1.gui_script" +fonts { + name: "example" + font: "/assets/example.font" +} +background_color { + x: 0.0 + y: 0.0 + z: 0.0 + w: 0.0 +} +nodes { + position { + x: 320.0 + y: 568.0 + z: 0.0 + w: 1.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + scale { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + size { + x: 640.0 + y: 1136.0 + z: 0.0 + w: 1.0 + } + color { + x: 0.3019608 + y: 0.3019608 + z: 0.3019608 + w: 1.0 + } + type: TYPE_BOX + blend_mode: BLEND_MODE_ALPHA + texture: "" + id: "bg" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + layer: "" + inherit_alpha: true + slice9 { + x: 0.0 + y: 0.0 + z: 0.0 + w: 0.0 + } + clipping_mode: CLIPPING_MODE_NONE + clipping_visible: true + clipping_inverted: false + alpha: 1.0 + template_node_child: false + size_mode: SIZE_MODE_MANUAL + custom_type: 0 + enabled: true + visible: true +} +nodes { + position { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + scale { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + size { + x: 200.0 + y: 50.0 + z: 0.0 + w: 1.0 + } + color { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + type: TYPE_BOX + blend_mode: BLEND_MODE_ALPHA + texture: "" + id: "button" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "bg" + layer: "" + inherit_alpha: true + slice9 { + x: 0.0 + y: 0.0 + z: 0.0 + w: 0.0 + } + clipping_mode: CLIPPING_MODE_NONE + clipping_visible: true + clipping_inverted: false + alpha: 1.0 + template_node_child: false + size_mode: SIZE_MODE_MANUAL + custom_type: 0 + enabled: true + visible: true +} +nodes { + position { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + scale { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + size { + x: 200.0 + y: 50.0 + z: 0.0 + w: 1.0 + } + color { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + type: TYPE_TEXT + blend_mode: BLEND_MODE_ALPHA + text: "WINDOW 2" + font: "example" + id: "text" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + outline { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + shadow { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + adjust_mode: ADJUST_MODE_FIT + line_break: false + parent: "button" + layer: "" + inherit_alpha: true + alpha: 1.0 + outline_alpha: 1.0 + shadow_alpha: 1.0 + template_node_child: false + text_leading: 1.0 + text_tracking: 0.0 + custom_type: 0 + enabled: true + visible: true +} +nodes { + position { + x: 0.0 + y: 338.0 + z: 0.0 + w: 1.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + scale { + x: 2.0 + y: 2.0 + z: 1.0 + w: 1.0 + } + size { + x: 200.0 + y: 100.0 + z: 0.0 + w: 1.0 + } + color { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + type: TYPE_TEXT + blend_mode: BLEND_MODE_ALPHA + text: "WINDOW 1" + font: "example" + id: "title" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + outline { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + shadow { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + adjust_mode: ADJUST_MODE_FIT + line_break: false + parent: "bg" + layer: "" + inherit_alpha: true + alpha: 1.0 + outline_alpha: 1.0 + shadow_alpha: 1.0 + template_node_child: false + text_leading: 1.0 + text_tracking: 0.0 + custom_type: 0 + enabled: true + visible: true +} +material: "/builtins/materials/gui.material" +adjust_reference: ADJUST_REFERENCE_PARENT +max_nodes: 512 diff --git a/example/slidingwindow/window1.gui_script b/example/slidingwindow/window1.gui_script new file mode 100644 index 0000000..5aefe8e --- /dev/null +++ b/example/slidingwindow/window1.gui_script @@ -0,0 +1,25 @@ +local monarch = require "monarch.monarch" +local transitions = require "monarch.transitions.gui" + +function init(self) + print("window2", msg.url()) + self.transition = transitions.create(gui.get_node("bg")) + .show_in(transitions.slide_in_right, gui.EASING_LINEAR, 0.3, 0) + .show_out(transitions.slide_out_left, gui.EASING_LINEAR, 0.3, 0) + .back_in(transitions.slide_in_left, gui.EASING_LINEAR, 0.3, 0) + .back_out(transitions.slide_out_right, gui.EASING_LINEAR, 0.3, 0) + + msg.post(".", "acquire_input_focus") +end + +function on_input(self, action_id, action) + if action_id == hash("touch") and action.released then + if gui.pick_node(gui.get_node("button"), action.x, action.y) then + monarch.show("window2") + end + end +end + +function on_message(self, message_id, message, sender) + self.transition.handle(message_id, message, sender) +end \ No newline at end of file diff --git a/example/slidingwindow/window2.collection b/example/slidingwindow/window2.collection new file mode 100644 index 0000000..ec79850 --- /dev/null +++ b/example/slidingwindow/window2.collection @@ -0,0 +1,39 @@ +name: "window2" +scale_along_z: 0 +embedded_instances { + id: "go" + data: "components {\n" + " id: \"window2\"\n" + " component: \"/example/slidingwindow/window2.gui\"\n" + " position {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " }\n" + " rotation {\n" + " x: 0.0\n" + " y: 0.0\n" + " z: 0.0\n" + " w: 1.0\n" + " }\n" + " property_decls {\n" + " }\n" + "}\n" + "" + position { + x: 0.0 + y: 0.0 + z: 0.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + scale3 { + x: 1.0 + y: 1.0 + z: 1.0 + } +} diff --git a/example/slidingwindow/window2.gui b/example/slidingwindow/window2.gui new file mode 100644 index 0000000..a2468b3 --- /dev/null +++ b/example/slidingwindow/window2.gui @@ -0,0 +1,261 @@ +script: "/example/slidingwindow/window2.gui_script" +fonts { + name: "example" + font: "/assets/example.font" +} +background_color { + x: 0.0 + y: 0.0 + z: 0.0 + w: 0.0 +} +nodes { + position { + x: 320.0 + y: 568.0 + z: 0.0 + w: 1.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + scale { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + size { + x: 640.0 + y: 1136.0 + z: 0.0 + w: 1.0 + } + color { + x: 0.3019608 + y: 0.3019608 + z: 0.3019608 + w: 1.0 + } + type: TYPE_BOX + blend_mode: BLEND_MODE_ALPHA + texture: "" + id: "bg" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + layer: "" + inherit_alpha: true + slice9 { + x: 0.0 + y: 0.0 + z: 0.0 + w: 0.0 + } + clipping_mode: CLIPPING_MODE_NONE + clipping_visible: true + clipping_inverted: false + alpha: 1.0 + template_node_child: false + size_mode: SIZE_MODE_MANUAL + custom_type: 0 + enabled: true + visible: true +} +nodes { + position { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + scale { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + size { + x: 200.0 + y: 50.0 + z: 0.0 + w: 1.0 + } + color { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + type: TYPE_BOX + blend_mode: BLEND_MODE_ALPHA + texture: "" + id: "button" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + adjust_mode: ADJUST_MODE_FIT + parent: "bg" + layer: "" + inherit_alpha: true + slice9 { + x: 0.0 + y: 0.0 + z: 0.0 + w: 0.0 + } + clipping_mode: CLIPPING_MODE_NONE + clipping_visible: true + clipping_inverted: false + alpha: 1.0 + template_node_child: false + size_mode: SIZE_MODE_MANUAL + custom_type: 0 + enabled: true + visible: true +} +nodes { + position { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + scale { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + size { + x: 200.0 + y: 50.0 + z: 0.0 + w: 1.0 + } + color { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + type: TYPE_TEXT + blend_mode: BLEND_MODE_ALPHA + text: "BACK" + font: "example" + id: "text" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + outline { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + shadow { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + adjust_mode: ADJUST_MODE_FIT + line_break: false + parent: "button" + layer: "" + inherit_alpha: true + alpha: 1.0 + outline_alpha: 1.0 + shadow_alpha: 1.0 + template_node_child: false + text_leading: 1.0 + text_tracking: 0.0 + custom_type: 0 + enabled: true + visible: true +} +nodes { + position { + x: 0.0 + y: 338.0 + z: 0.0 + w: 1.0 + } + rotation { + x: 0.0 + y: 0.0 + z: 0.0 + w: 1.0 + } + scale { + x: 2.0 + y: 2.0 + z: 1.0 + w: 1.0 + } + size { + x: 200.0 + y: 100.0 + z: 0.0 + w: 1.0 + } + color { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + type: TYPE_TEXT + blend_mode: BLEND_MODE_ALPHA + text: "WINDOW 2" + font: "example" + id: "title" + xanchor: XANCHOR_NONE + yanchor: YANCHOR_NONE + pivot: PIVOT_CENTER + outline { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + shadow { + x: 1.0 + y: 1.0 + z: 1.0 + w: 1.0 + } + adjust_mode: ADJUST_MODE_FIT + line_break: false + parent: "bg" + layer: "" + inherit_alpha: true + alpha: 1.0 + outline_alpha: 1.0 + shadow_alpha: 1.0 + template_node_child: false + text_leading: 1.0 + text_tracking: 0.0 + custom_type: 0 + enabled: true + visible: true +} +material: "/builtins/materials/gui.material" +adjust_reference: ADJUST_REFERENCE_PARENT +max_nodes: 512 diff --git a/example/slidingwindow/window2.gui_script b/example/slidingwindow/window2.gui_script new file mode 100644 index 0000000..59bb108 --- /dev/null +++ b/example/slidingwindow/window2.gui_script @@ -0,0 +1,25 @@ +local monarch = require "monarch.monarch" +local transitions = require "monarch.transitions.gui" + +function init(self) + print("window2", msg.url()) + self.transition = transitions.create(gui.get_node("bg")) + .show_in(transitions.slide_in_right, gui.EASING_LINEAR, 0.3, 0) + .show_out(transitions.slide_out_left, gui.EASING_LINEAR, 0.3, 0) + .back_in(transitions.slide_in_left, gui.EASING_LINEAR, 0.3, 0) + .back_out(transitions.slide_out_right, gui.EASING_LINEAR, 0.3, 0) + + msg.post(".", "acquire_input_focus") +end + +function on_input(self, action_id, action) + if action_id == hash("touch") and action.released then + if gui.pick_node(gui.get_node("button"), action.x, action.y) then + monarch.back() + end + end +end + +function on_message(self, message_id, message, sender) + self.transition.handle(message_id, message, sender) +end \ No newline at end of file diff --git a/game.project b/game.project index cc66101..00bc680 100644 --- a/game.project +++ b/game.project @@ -2,9 +2,10 @@ title = Monarch version = 0.9 dependencies#0 = https://github.com/britzl/deftest/archive/2.7.0.zip +dependencies#1 = https://github.com/defold/lua-language-server/releases/download/v0.0.3/release.zip [bootstrap] -main_collection = /example/advanced/advanced.collectionc +main_collection = /example/slidingwindow/slidingwindow.collectionc [input] game_binding = /input/game.input_bindingc diff --git a/test/data/screens.collection b/test/data/screens.collection index 4f6c625..7b2f327 100644 --- a/test/data/screens.collection +++ b/test/data/screens.collection @@ -26,6 +26,8 @@ embedded_instances { " value: \"screen1:/go\"\n" " type: PROPERTY_TYPE_URL\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "embedded_components {\n" " id: \"collectionproxy\"\n" @@ -84,12 +86,15 @@ embedded_instances { " value: \"screen2\"\n" " type: PROPERTY_TYPE_HASH\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "embedded_components {\n" " id: \"collectionfactory\"\n" " type: \"collectionfactory\"\n" " data: \"prototype: \\\"/test/data/screen2.collection\\\"\\n" "load_dynamically: false\\n" + "dynamic_prototype: false\\n" "\"\n" " position {\n" " x: 0.0\n" @@ -147,6 +152,8 @@ embedded_instances { " value: \"true\"\n" " type: PROPERTY_TYPE_BOOLEAN\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "embedded_components {\n" " id: \"collectionproxy\"\n" @@ -215,6 +222,8 @@ embedded_instances { " value: \"true\"\n" " type: PROPERTY_TYPE_BOOLEAN\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "embedded_components {\n" " id: \"collectionproxy\"\n" @@ -278,6 +287,8 @@ embedded_instances { " value: \"transition1:/go\"\n" " type: PROPERTY_TYPE_URL\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "embedded_components {\n" " id: \"collectionproxy\"\n" @@ -376,12 +387,15 @@ embedded_instances { " value: \"background\"\n" " type: PROPERTY_TYPE_HASH\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "embedded_components {\n" " id: \"collectionfactory\"\n" " type: \"collectionfactory\"\n" " data: \"prototype: \\\"/test/data/background.collection\\\"\\n" "load_dynamically: false\\n" + "dynamic_prototype: false\\n" "\"\n" " position {\n" " x: 0.0\n" @@ -439,12 +453,15 @@ embedded_instances { " value: \"true\"\n" " type: PROPERTY_TYPE_BOOLEAN\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "embedded_components {\n" " id: \"collectionfactory\"\n" " type: \"collectionfactory\"\n" " data: \"prototype: \\\"/test/data/screen_preload.collection\\\"\\n" "load_dynamically: false\\n" + "dynamic_prototype: false\\n" "\"\n" " position {\n" " x: 0.0\n" @@ -502,6 +519,8 @@ embedded_instances { " value: \"focus1:/go#focus1\"\n" " type: PROPERTY_TYPE_URL\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "embedded_components {\n" " id: \"collectionproxy\"\n" diff --git a/test/test.collection b/test/test.collection index 3fd99a1..c7af92c 100644 --- a/test/test.collection +++ b/test/test.collection @@ -16,12 +16,15 @@ embedded_instances { " z: 0.0\n" " w: 1.0\n" " }\n" + " property_decls {\n" + " }\n" "}\n" "embedded_components {\n" " id: \"screensfactory\"\n" " type: \"collectionfactory\"\n" " data: \"prototype: \\\"/test/data/screens.collection\\\"\\n" "load_dynamically: false\\n" + "dynamic_prototype: false\\n" "\"\n" " position {\n" " x: 0.0\n"