diff --git a/game/Main.tscn b/game/Main.tscn index 9c1814e..e8f165c 100644 --- a/game/Main.tscn +++ b/game/Main.tscn @@ -1,14 +1,9 @@ -[gd_scene load_steps=5 format=2] +[gd_scene load_steps=4 format=2] [ext_resource path="res://Main.gd" type="Script" id=1] [ext_resource path="res://addons/web_blog/classes/WebBlog.gd" type="Script" id=2] [ext_resource path="res://addons/web_blog/classes/WebBlogPost.gd" type="Script" id=3] -[sub_resource type="Resource" id=1] -script = ExtResource( 3 ) -post_name = "BlogTest" -entries = [ ] - [node name="WebServer" type="WebServerSimple"] script = ExtResource( 1 ) @@ -21,4 +16,9 @@ data = "Blog" [node name="WebBlog" type="WebNode" parent="WebRoot"] uri_segment = "blog" script = ExtResource( 2 ) -posts = [ SubResource( 1 ) ] + +[node name="asdasd" type="WebNode" parent="WebRoot/WebBlog"] +script = ExtResource( 3 ) + +[node name="Aqqdss" type="WebNode" parent="WebRoot/WebBlog"] +script = ExtResource( 3 ) diff --git a/game/addons/web_blog/classes/WebBlog.gd b/game/addons/web_blog/classes/WebBlog.gd index e188d2a..a60cf22 100644 --- a/game/addons/web_blog/classes/WebBlog.gd +++ b/game/addons/web_blog/classes/WebBlog.gd @@ -2,13 +2,18 @@ tool extends WebNode class_name WebBlog, "res://addons/web_blog/icons/icon_web_blog.svg" -export(Array, Resource) var posts : Array - func add_post(post : WebBlogPost) -> void: - posts.push_back(post) + if (get_child_count() > 0): + add_child_below_node(get_child(0), post) + move_child(get_child(1), 0) + else: + add_child(post) + + if Engine.editor_hint: + post.owner = get_tree().edited_scene_root func remove_post(post : WebBlogPost) -> void: - posts.erase(post) + remove_child(post) # Temp hack for undoredo func null_method() -> void: diff --git a/game/addons/web_blog/classes/WebBlogPost.gd b/game/addons/web_blog/classes/WebBlogPost.gd index b2502a3..6ed79f1 100644 --- a/game/addons/web_blog/classes/WebBlogPost.gd +++ b/game/addons/web_blog/classes/WebBlogPost.gd @@ -1,6 +1,5 @@ tool -extends Resource +extends WebNode class_name WebBlogPost, "res://addons/web_blog/icons/icon_web_blog_post.svg" -export(String) var post_name : String = "BlogPost" export(Array, Resource) var entries : Array diff --git a/game/addons/web_blog/editor/PostEditor.gd b/game/addons/web_blog/editor/PostEditor.gd index 99baac6..a36af58 100644 --- a/game/addons/web_blog/editor/PostEditor.gd +++ b/game/addons/web_blog/editor/PostEditor.gd @@ -6,17 +6,17 @@ var undo_redo : UndoRedo = null func set_post(post : WebBlogPost): _post = post - get_node("HBoxContainer/PostNameLE").text = post.post_name - name = post.post_name + get_node("HBoxContainer/PostNameLE").text = post.name + name = post.name func _on_PostNameLE_text_entered(new_text : String): var le : LineEdit = get_node("HBoxContainer/PostNameLE") undo_redo.create_action("Post name changed.") - undo_redo.add_do_property(_post, "post_name", new_text) - undo_redo.add_undo_property(_post, "post_name", _post.post_name) + undo_redo.add_do_property(_post, "name", new_text) + undo_redo.add_undo_property(_post, "name", _post.name) undo_redo.add_do_property(le, "text", new_text) - undo_redo.add_undo_property(le, "text", _post.post_name) + undo_redo.add_undo_property(le, "text", _post.name) undo_redo.add_do_property(self, "name", new_text) - undo_redo.add_undo_property(self, "name", _post.post_name) + undo_redo.add_undo_property(self, "name", _post.name) undo_redo.commit_action() diff --git a/game/addons/web_blog/editor/WebBlogEditor.gd b/game/addons/web_blog/editor/WebBlogEditor.gd index 26e0c56..19399eb 100644 --- a/game/addons/web_blog/editor/WebBlogEditor.gd +++ b/game/addons/web_blog/editor/WebBlogEditor.gd @@ -36,19 +36,19 @@ func _on_blog_editor_button_toggled(on): _wne_tool_bar_button.set_pressed_no_signal(true) func _edited_node_changed(web_node : WebNode): - _edited_blog = web_node - if !_wne_tool_bar_button: return - + var wne : Control = Engine.get_global("WebNodeEditor") if wne: if web_node is WebBlog: + _edited_blog = web_node _wne_tool_bar_button.show() _wne_tool_bar_button.pressed = true #wne.switch_to_main_screen_tab(self) else: _wne_tool_bar_button.hide() + #_edited_blog = null #add method to switch off to the prev screen #wne.switch_to_main_screen_tab(self) @@ -66,8 +66,8 @@ func _on_new_post_requested(): get_node("./Tabs").add_child(nps) # Hack for now. Todo add support for this into UndoRedo without hacks - undo_redo.create_action("Created WebBlog Post") - undo_redo.add_do_method(_edited_blog, "null_method") - undo_redo.add_undo_method(_edited_blog, "null_method") - undo_redo.commit_action() +# undo_redo.create_action("Created WebBlog Post") +# undo_redo.add_do_method(_edited_blog, "null_method") +# undo_redo.add_undo_method(_edited_blog, "null_method") +# undo_redo.commit_action() diff --git a/game/project.pandemonium b/game/project.pandemonium index ffc79ea..12198b8 100644 --- a/game/project.pandemonium +++ b/game/project.pandemonium @@ -14,7 +14,7 @@ _global_script_classes=[ { "language": @"GDScript", "path": "res://addons/web_blog/classes/WebBlog.gd" }, { -"base": "Resource", +"base": "WebNode", "class": @"WebBlogPost", "language": @"GDScript", "path": "res://addons/web_blog/classes/WebBlogPost.gd"