From 367ee388dadadcdf08dd72869efe20afe08b8334 Mon Sep 17 00:00:00 2001 From: VAILLANT Jeremy Date: Sat, 15 May 2021 20:40:16 +0200 Subject: [PATCH] Fix list object --- assets/props/Spyglass/sm_spyglass.mesh | Bin 15403 -> 0 bytes db/MScene.gd | 11 +++++++ scenes/UI/list_ho/UI_list_ho.tscn | 24 ++++++++------- scenes/levels/levels.gd | 7 ++++- scenes/levels/warcraft/WarCraft.gd | 39 +++++++++++++++++++++++++ scenes/levels/warcraft/WarCraft.tscn | 3 +- 6 files changed, 72 insertions(+), 12 deletions(-) delete mode 100644 assets/props/Spyglass/sm_spyglass.mesh diff --git a/assets/props/Spyglass/sm_spyglass.mesh b/assets/props/Spyglass/sm_spyglass.mesh deleted file mode 100644 index d0235ee41caa18e8eedef5e78b441573ac34b277..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15403 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 Uw7=MDfp;zbcrsSQ_?htk0Y0Dq*#H0l diff --git a/db/MScene.gd b/db/MScene.gd index ebdbaee..3c9d1b6 100644 --- a/db/MScene.gd +++ b/db/MScene.gd @@ -3,6 +3,7 @@ extends "res://db/MBase.gd" var m_value = { "id": null, "value": null } var m_lock = { "id": null, "value": null } var m_label = null +var m_label_id = null var m_tick_reference = { "id": null, "value": null } var m_key = null var m_level = null @@ -17,6 +18,7 @@ func _init(row_index): m_value["value"] = _get_value(datas) m_lock["value"] = _get_lock(datas) m_label = _get_label(datas) + m_label_id = _get_label_id(datas) m_tick_reference["value"] = _get_tick_reference(datas) m_mesh = _get_mesh(datas) @@ -35,6 +37,12 @@ func search_keys(): func key(): return m_key +func label(): + return m_label + +func label_id(): + return m_label_id + func lock(): return m_lock["value"] @@ -74,6 +82,9 @@ func _get_lock_id(index): func _get_label(datas): return _get_data(datas, 2) as String + +func _get_label_id(datas): + return _get_data(datas, 7) as String func _get_tick_reference(datas): return _get_data(datas, 3) as int diff --git a/scenes/UI/list_ho/UI_list_ho.tscn b/scenes/UI/list_ho/UI_list_ho.tscn index d2c889d..540f3ce 100644 --- a/scenes/UI/list_ho/UI_list_ho.tscn +++ b/scenes/UI/list_ho/UI_list_ho.tscn @@ -12,22 +12,27 @@ [node name="Control" type="MarginContainer"] anchor_left = 1.0 -anchor_top = 0.5 anchor_right = 1.0 -anchor_bottom = 0.5 +anchor_bottom = 1.0 +margin_left = -196.0 grow_horizontal = 0 grow_vertical = 2 -size_flags_vertical = 4 +rect_min_size = Vector2( 196, 900 ) +size_flags_vertical = 3 __meta__ = { "_edit_use_anchors_": false } [node name="ListContainer" type="VBoxContainer" parent="."] margin_right = 196.0 -margin_bottom = 341.0 +margin_bottom = 900.0 +rect_min_size = Vector2( 196, 900 ) +size_flags_horizontal = 3 +size_flags_vertical = 3 custom_constants/separation = -10 [node name="TextureButtonFirst" type="TextureButton" parent="ListContainer"] +visible = false margin_right = 196.0 margin_bottom = 81.0 texture_normal = ExtResource( 2 ) @@ -46,9 +51,9 @@ __meta__ = { } [node name="TextureButtonMiddle" type="TextureButton" parent="ListContainer"] -margin_top = 71.0 +visible = false margin_right = 196.0 -margin_bottom = 152.0 +margin_bottom = 81.0 texture_normal = ExtResource( 4 ) texture_hover = ExtResource( 7 ) texture_focused = ExtResource( 7 ) @@ -65,9 +70,9 @@ __meta__ = { } [node name="TextureButtonLast" type="TextureButton" parent="ListContainer"] -margin_top = 142.0 +visible = false margin_right = 196.0 -margin_bottom = 223.0 +margin_bottom = 81.0 texture_normal = ExtResource( 3 ) texture_hover = ExtResource( 9 ) texture_focused = ExtResource( 9 ) @@ -85,9 +90,8 @@ __meta__ = { } [node name="HBoxContainer" type="HBoxContainer" parent="ListContainer"] -margin_top = 213.0 margin_right = 196.0 -margin_bottom = 341.0 +margin_bottom = 128.0 alignment = 1 [node name="TextureButtonIndice" type="TextureButton" parent="ListContainer/HBoxContainer"] diff --git a/scenes/levels/levels.gd b/scenes/levels/levels.gd index 63d8dfa..4cec9c1 100644 --- a/scenes/levels/levels.gd +++ b/scenes/levels/levels.gd @@ -119,10 +119,15 @@ func _load_meshes(): if scene_detail.key() != null: meshes[scene_detail.key()] = scene_detail + # _display_label(scene_detail) for key in meshes: meshes[key].search_keys() - +""" +func _display_label(scene): + print("[meshes#key] : "+scene.label()) + $ListObjects/ListContainer/TextureButton.set_text(scene.label()) +""" func _input(event): if event is InputEventMouseButton or event is InputEventScreenTouch: var camera = $"Main Camera" diff --git a/scenes/levels/warcraft/WarCraft.gd b/scenes/levels/warcraft/WarCraft.gd index f2baa79..7cb6da7 100644 --- a/scenes/levels/warcraft/WarCraft.gd +++ b/scenes/levels/warcraft/WarCraft.gd @@ -1,6 +1,45 @@ extends "res://scenes/levels/levels.gd" +export (PackedScene) var object_first = load("res://scenes/UI/list_ho/ObjectListFirst.tscn") +export (PackedScene) var object_std = load("res://scenes/UI/list_ho/ObjectListStd.tscn") +export (PackedScene) var object_last = load("res://scenes/UI/list_ho/ObjectListLast.tscn") + +onready var label_id = null +onready var last_btn = null + +func _ready(): + print(meshes) + var counter = 0 + var scene = null + for key in meshes: + scene = meshes[key] + _create_button_info(scene, counter) + label_id = scene.label_id() + counter = +1 + # Back to main scene func _on_TextureButton_pressed(): print("[levels#_on_TextureButton_pressed] quit to menu") Global.goto_scene("res://scenes/main.tscn") + +func _create_button_info(scene, counter): + var btn = null + + if counter == 0: + print("[warCraft#_create_button_info] ["+String(counter)+"] use first") + btn = object_first.instance() + elif counter == meshes.size() - 1: + btn = object_last.instance() + print("[warCraft#_create_button_info] ["+String(counter)+"] use last") + else: + btn = object_std.instance() + print("[warCraft#_create_button_info] ["+String(counter)+"] use standar") + + if label_id != null and label_id == scene.label_id(): + # $ListObjects/ListContainer.add_child(btn) + last_btn.get_node("Label").set_text(last_btn.get_node("Label").text + " X") + else: + $ListObjects/ListContainer.add_child(btn) + btn.get_node("Label").set_text(scene.label()) + + last_btn = btn diff --git a/scenes/levels/warcraft/WarCraft.tscn b/scenes/levels/warcraft/WarCraft.tscn index f76ccce..499b601 100644 --- a/scenes/levels/warcraft/WarCraft.tscn +++ b/scenes/levels/warcraft/WarCraft.tscn @@ -270,7 +270,7 @@ cell_center_y = false cell_center_z = false baked_meshes = [ SubResource( 4 ) ] data = { -"cells": PoolIntArray( 0, 0, 3, 65531, 0, 3, 65532, 0, 3, 65533, 0, 3, 65534, 0, 3, 65535, 0, 3, 0, 1, 3, 65531, 1, 3, 65532, 1, 3, 65533, 1, 3, 65534, 1, 3, 65535, 1, 3, 0, 2, 3, 65531, 2, 3, 65532, 2, 3, 65533, 2, 3, 65534, 2, 3, 65535, 2, 3, 0, 65533, 3, 65532, 65533, 3, 65533, 65533, 3, 65534, 65533, 3, 65535, 65533, 3, 0, 65534, 3, 65531, 65534, 3, 65532, 65534, 3, 65533, 65534, 3, 65534, 65534, 3, 65535, 65534, 3, 0, 65535, 3, 65531, 65535, 3, 65532, 65535, 3, 65533, 65535, 3, 65534, 65535, 3, 65535, 65535, 3 ) +"cells": PoolIntArray( 0, 0, 3, 65531, 0, 3, 65532, 0, 3, 65533, 0, 536870915, 65534, 0, 3, 65535, 0, 3, 0, 1, 3, 65531, 1, 3, 65532, 1, 3, 65533, 1, 3, 65534, 1, 3, 65535, 1, 3, 0, 2, 3, 65531, 2, 3, 65532, 2, 3, 65533, 2, 3, 65534, 2, 3, 65535, 2, 3, 0, 65533, 3, 65532, 65533, 3, 65533, 65533, 3, 65534, 65533, 3, 65535, 65533, 3, 0, 65534, 3, 65531, 65534, 3, 65532, 65534, 3, 65533, 65534, 3, 65534, 65534, 3, 65535, 65534, 3, 0, 65535, 3, 65531, 65535, 3, 65532, 65535, -1610612733, 65533, 65535, -1610612733, 65534, 65535, 536870915, 65535, 65535, 3 ) } __meta__ = { "_editor_clip_": 0, @@ -743,4 +743,5 @@ shape = SubResource( 18 ) [connection signal="pressed" from="Quit/TextureButton" to="." method="_on_TextureButton_pressed"] +[editable path="ListObjects"] [editable path="Quit"]