diff --git a/autoload/global/script/global.gd b/autoload/global/script/global.gd index ab677d5..601c506 100644 --- a/autoload/global/script/global.gd +++ b/autoload/global/script/global.gd @@ -18,8 +18,43 @@ var map_data:Dictionary var npc_json_path:String="res://json/npc.json" var npc_data:Dictionary - - +#角色修饰数据的存储路径 +var character_embellish_data_path:String="user://emblish.data" +var character_embellish_data:Dictionary={ + +} +#加载角色修饰数据(没有则自动创建文件 +func load_character_emblish_data(): + var f=FileAccess.open(character_embellish_data_path,FileAccess.READ) + if f!=null: + var data=f.get_var() + if data is Dictionary: + character_embellish_data=data.duplicate() + f.close() + else: + f=FileAccess.open(character_embellish_data_path,FileAccess.WRITE) + f.store_var(character_embellish_data) + f.close() +#存储角色修饰数据 +func save_character_embellish_data(): + var f=FileAccess.open(character_embellish_data_path,FileAccess.WRITE) + f.store_var(character_embellish_data) + f.close() + +#添加角色修饰数据 +func add_character_embellich_data(character_id:String,embellish_name:String,data): + if character_embellish_data.has(character_id): + character_embellish_data[character_id][embellish_name]=data + else: + character_embellish_data[character_id]={ + embellish_name:data + } + save_character_embellish_data() + + + + + pass var system_config_data:Dictionary={ @@ -113,7 +148,9 @@ func flow_time(data:Dictionary): change_unix+=minute*60 now_game_data["time_unix"]+=change_unix time_changed.emit() +#时间改变的信号 signal time_changed +#事件触发器列表 var triger:Dictionary={ "change_event":func (data):now_game_flow.show_event(data), "change_texture": func (data):now_game_flow.event_panel.change_texture(data), @@ -123,18 +160,20 @@ var triger:Dictionary={ "end_event":func(data):now_game_flow.event_panel.hide(), "flow_time":func (data):flow_time(data) } +#使用事件触发器 func call_triger(triger_type:String,data): if triger.has(triger_type): return triger[triger_type].call(data) else: return null -#条件类型字典 +#条件触发器(用于返回是否返回条件) var condition_triger:Dictionary={ "date_limit":func (data:Dictionary):return TimeTool.is_in_date(data,get_time_dictionary()), "time_limit":func (data:Dictionary):return TimeTool.is_in_time(data,get_time_dictionary()), "rand":func (data:Dictionary):return get_rand(data["scene_id"],data["touch_id"],data["index"],data["condition"]), } +#使用条件触发器 func call_condition_triger(triger_type:String,data): if condition_triger.has(triger_type): return condition_triger[triger_type].call(data) @@ -142,6 +181,7 @@ func call_condition_triger(triger_type:String,data): return null pass +#记录随机的场景上一次结果,如果时间不变则直接取上一次结果 var condition_triger_randi_dic:Dictionary={ "scene_id":{ "touch_name":{ @@ -152,7 +192,7 @@ var condition_triger_randi_dic:Dictionary={ } } } - +#同上 func get_rand(scene_id:String,touch_name:String,index:String,condition:float)->bool: if condition_triger_randi_dic.has(scene_id): var scene_data=condition_triger_randi_dic[scene_id] @@ -187,6 +227,7 @@ func get_rand(scene_id:String,touch_name:String,index:String,condition:float)->b } } return dic["last_rand_result"] +#为随机创建一个新的随机字典 func recreate_rand_dic(condition:float)->Dictionary: var new_rand_result:bool=(randf()Dictionary: } return dic - +#移动场景,前者是scene的ID,后者是距离当前场景的距离 func move_scene(scene_id:String,distance): if scene_id==get_now_scene(): return false @@ -206,11 +247,15 @@ func move_scene(scene_id:String,distance): set_now_scene(scene_id) return true pass +#获取当前场景ID func get_now_scene(): return now_game_data["now_scene"] +#设置当前场景,只用于开局重置位置 func set_now_scene(scene_id:String): now_game_data["now_scene"]=scene_id +#当前的游戏流程场景 var now_game_flow:GameFlow +#获取当前角色数据的拷贝 func get_now_character_data(): return now_game_data["character_data"].duplicate() func _ready() -> void: @@ -222,6 +267,8 @@ func _ready() -> void: load_character_data() load_map_data() load_npc_data() + load_character_emblish_data() +#加载当前图片数据 func load_texture_data(): var file=FileAccess.open(texture_json_path,FileAccess.READ) var str=file.get_as_text() @@ -231,6 +278,7 @@ func load_texture_data(): if texture is Texture2D: dictionary[i]=texture texture_data=dictionary +#加载当前剧本数据 func load_script_data(): var file=FileAccess.open(script_json_path,FileAccess.READ) var str=file.get_as_text() @@ -243,6 +291,7 @@ func load_script_data(): var type:int=int(data["type"]) script_type_divide_data[type][i]=data script_data=dictionary +#加载当前事件数据 func load_event_data(): var file=FileAccess.open(event_json_path,FileAccess.READ) var str=file.get_as_text() @@ -250,6 +299,7 @@ func load_event_data(): for i in dictionary.keys(): dictionary[i]["id"]=i event_data=dictionary +#加载当前场景数据 func load_scene_data(): var file=FileAccess.open(scene_json_path,FileAccess.READ) var str=file.get_as_text() @@ -258,6 +308,7 @@ func load_scene_data(): dictionary[i]["id"]=i scene_data=dictionary pass +#加载当前角色数据(未被修饰) func load_character_data(): var file=FileAccess.open(character_json_path,FileAccess.READ) var str=file.get_as_text() @@ -265,6 +316,7 @@ func load_character_data(): for i in dictionary.keys(): dictionary[i]["id"]=i character_data=dictionary +#加载当前地图字典 func load_map_data(): var file=FileAccess.open(map_json_path,FileAccess.READ) var str=file.get_as_text() @@ -272,6 +324,7 @@ func load_map_data(): for i in dictionary.keys(): dictionary[i]["id"]=i map_data=dictionary +#加载当前NPC数据(可能废弃) func load_npc_data(): var file=FileAccess.open(npc_json_path,FileAccess.READ) var str=file.get_as_text() @@ -279,6 +332,7 @@ func load_npc_data(): for i in dictionary.keys(): dictionary[i]["id"]=i npc_data=dictionary +#加载当前卡牌数据 func load_card_data(): var file=FileAccess.open(card_json_path,FileAccess.READ) var str=file.get_as_text() @@ -321,13 +375,21 @@ func get_scene_data(id:String): #获取对应ID的角色数据 func get_character_data(id:String): if character_data.has(id): - var dictionary:Dictionary=character_data[id] + var dictionary:Dictionary=character_data[id].duplicate(true) + #如果有修饰数据,则返回修饰后的数据 + if character_embellish_data.has(id): + dictionary=CharacterTool.character_embellish(dictionary,character_embellish_data[id]) return dictionary.duplicate(true) else: return null #获取全部角色数据 func get_all_character()->Dictionary: - return character_data.duplicate(true) + var all_character:Dictionary=character_data.duplicate(true) + #修饰数据 + for i in all_character.keys(): + if character_embellish_data.has(i): + all_character[i]=CharacterTool.character_embellish(all_character[i],character_embellish_data[i]) + return all_character #获取对应ID的地图数据 func get_map_data(id:String): if map_data.has(id): diff --git a/autoload/scene_manager/script/scene_manager.gd b/autoload/scene_manager/script/scene_manager.gd index aa23c29..2fbb324 100644 --- a/autoload/scene_manager/script/scene_manager.gd +++ b/autoload/scene_manager/script/scene_manager.gd @@ -5,7 +5,6 @@ extends CanvasLayer @onready var color_rect: ColorRect = $ColorRect @onready var percent: Label = $ColorRect/HBoxContainer/percent @onready var breath: AnimationPlayer = $breath - # Called when the node enters the scene tree for the first time. func _ready() -> void: set_process(false) @@ -42,7 +41,7 @@ func _process(delta: float) -> void: var scene=ResourceLoader.load_threaded_get(load_path) get_tree().change_scene_to_packed(scene) load_end() - ResourceLoader.THREAD_LOAD_LOADED: + ResourceLoader.THREAD_LOAD_LOADED : percent.text="100" var scene=ResourceLoader.load_threaded_get(load_path) get_tree().change_scene_to_packed(scene) diff --git a/autoload/scene_manager/tscn/scene_manager.tscn b/autoload/scene_manager/tscn/scene_manager.tscn index 4671579..d667091 100644 --- a/autoload/scene_manager/tscn/scene_manager.tscn +++ b/autoload/scene_manager/tscn/scene_manager.tscn @@ -81,10 +81,10 @@ tracks/0/path = NodePath("ColorRect/HBoxContainer:modulate") tracks/0/interp = 1 tracks/0/loop_wrap = true tracks/0/keys = { -"times": PackedFloat32Array(0, 0.25), -"transitions": PackedFloat32Array(1, 1), +"times": PackedFloat32Array(0, 0.233333, 0.5), +"transitions": PackedFloat32Array(1, 1, 1), "update": 0, -"values": [Color(1, 1, 1, 1), Color(0.54099, 0.54099, 0.54099, 1)] +"values": [Color(1, 1, 1, 1), Color(0.54099, 0.54099, 0.54099, 1), Color(1, 1, 1, 1)] } [sub_resource type="AnimationLibrary" id="AnimationLibrary_8ttym"] diff --git a/class/character_tool/character_tool.gd b/class/character_tool/character_tool.gd index 33c6ecd..51c3848 100644 --- a/class/character_tool/character_tool.gd +++ b/class/character_tool/character_tool.gd @@ -68,9 +68,20 @@ static func get_character_star_num(character_data:Dictionary)->int: static func character_embellish(character_data:Dictionary,embellish_data:Dictionary)->Dictionary: var res_data=character_data.duplicate(true) + #使用皮肤更改修饰 if embellish_data.has("skin"): - character_data["character"]["skin_now_use"]=int(embellish_data["skin"]) - + res_data["character"]["skin_now_use"]=int(embellish_data["skin"]) + #"unclocked_start":[0], + #"start_now_use":0, + #开局更改修饰 + if embellish_data.has("start"): + res_data["start_now_use"]=int(embellish_data["start"]) + #解锁开局,data应该是个int类型的Array + if embellish_data.has("unlock_start"): + var unlock_data:Array=embellish_data["unlock_start"] + for i in unlock_data: + if not float(i) in res_data["unlock_start"]: + res_data["unlocked_start"].append(float(i)) diff --git a/json/character.json b/json/character.json index 5dc49e7..5bcd6a1 100644 --- a/json/character.json +++ b/json/character.json @@ -45,7 +45,28 @@ "introduction":"鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果" } ], - + "start":[ + { + "name":"测试开局1", + "introduction":"测试开局1的介绍", + "add_buff":[], + "del_buff":[] + }, + { + "name":"测试开局2", + "introduction":"测试开局2的介绍", + "add_buff":[], + "del_buff":[] + }, + { + "name":"测试开局3", + "introduction":"测试开局3的介绍", + "add_buff":[], + "del_buff":[] + } + ], + "unclocked_start":[0,1], + "start_now_use":0, "favor":[{ "name":"姐姐", "value":100 diff --git a/scene/basic_mes_skin_card.tscn b/scene/basic_mes_skin_card.tscn index 0d32783..8d95def 100644 --- a/scene/basic_mes_skin_card.tscn +++ b/scene/basic_mes_skin_card.tscn @@ -33,6 +33,7 @@ grow_vertical = 2 texture = ExtResource("2_iqkdj") [node name="skin_head" type="TextureRect" parent="mask2"] +show_behind_parent = true layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -43,6 +44,7 @@ texture = ExtResource("3_c88qw") expand_mode = 5 [node name="mask" type="TextureRect" parent="."] +show_behind_parent = true layout_mode = 0 offset_right = 40.0 offset_bottom = 40.0 diff --git a/scene/basic_message.gd b/scene/basic_message.gd index 8f5970b..8e91dd4 100644 --- a/scene/basic_message.gd +++ b/scene/basic_message.gd @@ -3,10 +3,13 @@ const ABILITY_BUTTON = preload("res://scene/ability_button.tscn") const ATTRIBUTE = preload("res://scene/attribute.tscn") const SELECTED = preload("res://res/ui/ui_005_basic_message/selected.tres") const BASIC_MES_SKIN_CARD = preload("res://scene/basic_mes_skin_card.tscn") +const START_CONFIG_MES = preload("res://scene/start_config_mes.tscn") var data:Dictionary @onready var button_group:Array[Button]=[$VBoxContainer/TextureRect/HBoxContainer/Button, $VBoxContainer/TextureRect/HBoxContainer/Button2, $VBoxContainer/TextureRect/HBoxContainer/Button3, $VBoxContainer/TextureRect/HBoxContainer/Button4, $VBoxContainer/TextureRect/HBoxContainer/Button5, $VBoxContainer/TextureRect/HBoxContainer/Button6] @onready var now_selected_button:Button=$VBoxContainer/TextureRect/HBoxContainer/Button + +var now_selected_mes:StartConfigMes func init_from_data(): for i in %special_container.get_children(): i.queue_free() @@ -92,6 +95,31 @@ func init_from_data(): new_label.text=i["name"]+":"+str(i["value"]) %reputation.add_child(new_label) new_label.add_theme_font_size_override("font_size",26) + for i in %start_config_mes_add_pos.get_children(): + i.queue_free() + var start_config_arr:Array=data["start"] + var start_now_use:int=data["start_now_use"] + var unclocked_start:Array=data["unclocked_start"] + for i in start_config_arr.size(): + var new_start:StartConfigMes=START_CONFIG_MES.instantiate() + %start_config_mes_add_pos.add_child(new_start) + new_start.index=i + if i==start_now_use: + new_start.state=1 + now_selected_mes=new_start + elif float(i) in unclocked_start: + new_start.state=0 + else: + new_start.state=-1 + new_start.set_data(start_config_arr[i]) + new_start.click.connect(start_config_mes_click) + pass +func start_config_mes_click(mes:StartConfigMes,ind:int): + now_selected_mes.state=0 + mes.state=1 + now_selected_mes=mes + Global.add_character_embellich_data(data["id"],"start",ind) + pass func connect_button(): for i in button_group.size(): button_group[i].pressed.connect(selected.bind(i)) diff --git a/scene/basic_message.tscn b/scene/basic_message.tscn index ffece8b..48342f3 100644 --- a/scene/basic_message.tscn +++ b/scene/basic_message.tscn @@ -355,11 +355,12 @@ layout_mode = 2 size_flags_vertical = 3 size_flags_stretch_ratio = 939.0 theme_override_styles/panel = SubResource("StyleBoxEmpty_81i7t") -current_tab = 0 +current_tab = 5 clip_tabs = false tabs_visible = false [node name="basic_mes" type="MarginContainer" parent="VBoxContainer/TabContainer"] +visible = false layout_mode = 2 theme_override_constants/margin_right = 19 theme_override_constants/margin_bottom = 43 @@ -2068,7 +2069,6 @@ vertical_alignment = 2 metadata/_edit_use_anchors_ = true [node name="start_config" type="MarginContainer" parent="VBoxContainer/TabContainer"] -visible = false layout_mode = 2 theme_override_constants/margin_left = 54 theme_override_constants/margin_top = 8 @@ -2096,19 +2096,20 @@ layout_mode = 2 horizontal_scroll_mode = 0 vertical_scroll_mode = 3 -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/TabContainer/start_config/Panel/MarginContainer/ScrollContainer"] +[node name="start_config_mes_add_pos" type="VBoxContainer" parent="VBoxContainer/TabContainer/start_config/Panel/MarginContainer/ScrollContainer"] +unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 0 theme_override_constants/separation = 20 -[node name="start_config_mes" parent="VBoxContainer/TabContainer/start_config/Panel/MarginContainer/ScrollContainer/VBoxContainer" instance=ExtResource("40_fo6u0")] +[node name="start_config_mes" parent="VBoxContainer/TabContainer/start_config/Panel/MarginContainer/ScrollContainer/start_config_mes_add_pos" instance=ExtResource("40_fo6u0")] layout_mode = 2 -[node name="start_config_mes2" parent="VBoxContainer/TabContainer/start_config/Panel/MarginContainer/ScrollContainer/VBoxContainer" instance=ExtResource("40_fo6u0")] +[node name="start_config_mes2" parent="VBoxContainer/TabContainer/start_config/Panel/MarginContainer/ScrollContainer/start_config_mes_add_pos" instance=ExtResource("40_fo6u0")] layout_mode = 2 -[node name="start_config_mes3" parent="VBoxContainer/TabContainer/start_config/Panel/MarginContainer/ScrollContainer/VBoxContainer" instance=ExtResource("40_fo6u0")] +[node name="start_config_mes3" parent="VBoxContainer/TabContainer/start_config/Panel/MarginContainer/ScrollContainer/start_config_mes_add_pos" instance=ExtResource("40_fo6u0")] layout_mode = 2 [node name="TextureRect" type="TextureRect" parent="."] diff --git a/scene/start_config_mes.gd b/scene/start_config_mes.gd new file mode 100644 index 0000000..d3b5744 --- /dev/null +++ b/scene/start_config_mes.gd @@ -0,0 +1,45 @@ +extends PanelContainer +class_name StartConfigMes +var data:Dictionary +signal click(mes:StartConfigMes,ind:int) +const LOCK = preload("res://res/ui/ui_010_start_config/tuceng359.png") +const SELECTED = preload("res://res/ui/ui_010_start_config/tuceng356.png") +var index:int=0 +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. +#-1:上锁,0,解锁未选择,1:解锁且选择 +var state:int=-2: + set(val): + if val!=state: + state=val + match val: + -1: + %btn_icon.show() + %btn_icon.texture=LOCK + %select_label.hide() + %btn.disabled=true + 0: + %btn_icon.hide() + %select_label.show() + %btn.disabled=false + 1: + %btn_icon.show() + %btn_icon.texture=SELECTED + %select_label.hide() + %btn.disabled=true + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass +func set_data(_data): + data=_data + %name.text=data["name"] + %intro.text=data["introduction"] + + pass + + +func _on_btn_pressed() -> void: + click.emit(self,index) + pass # Replace with function body. diff --git a/scene/start_config_mes.tscn b/scene/start_config_mes.tscn index 7429a71..667f997 100644 --- a/scene/start_config_mes.tscn +++ b/scene/start_config_mes.tscn @@ -1,8 +1,10 @@ -[gd_scene load_steps=5 format=3 uid="uid://bdsf6wswhb2ld"] +[gd_scene load_steps=7 format=3 uid="uid://bdsf6wswhb2ld"] [ext_resource type="Texture2D" uid="uid://bqqn87q2jkcls" path="res://res/ui/ui_010_start_config/tuceng821.png" id="1_wairn"] [ext_resource type="Texture2D" uid="uid://byna4rnuag31a" path="res://res/ui/ui_010_start_config/tuceng355.png" id="2_rjm0t"] +[ext_resource type="Script" path="res://scene/start_config_mes.gd" id="2_sp1ah"] [ext_resource type="Texture2D" uid="uid://bgdqctrjh1pra" path="res://res/ui/ui_010_start_config/tuceng359.png" id="3_j5kdl"] +[ext_resource type="PackedScene" uid="uid://bdlo2wn4qnygv" path="res://scene/tool/tool_button.tscn" id="5_0bwor"] [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_qlrpf"] texture = ExtResource("1_wairn") @@ -16,12 +18,14 @@ region_rect = Rect2(0, 0, 845, 319) offset_right = 40.0 offset_bottom = 40.0 theme_override_styles/panel = SubResource("StyleBoxTexture_qlrpf") +script = ExtResource("2_sp1ah") [node name="VBoxContainer" type="VBoxContainer" parent="."] layout_mode = 2 theme_override_constants/separation = 29 -[node name="Label" type="Label" parent="VBoxContainer"] +[node name="name" type="Label" parent="VBoxContainer"] +unique_name_in_owner = true layout_mode = 2 theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 37 @@ -41,7 +45,8 @@ theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 21 text = "背景故事:" -[node name="Label2" type="Label" parent="VBoxContainer/hbox"] +[node name="intro" type="Label" parent="VBoxContainer/hbox"] +unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 0 @@ -66,11 +71,12 @@ theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 21 text = "背包:" -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/flow/HBoxContainer"] +[node name="bag_add_pos" type="HBoxContainer" parent="VBoxContainer/flow/HBoxContainer"] +unique_name_in_owner = true layout_mode = 2 theme_override_constants/separation = 9 -[node name="Label" type="Label" parent="VBoxContainer/flow/HBoxContainer/HBoxContainer"] +[node name="Label" type="Label" parent="VBoxContainer/flow/HBoxContainer/bag_add_pos"] layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 @@ -78,7 +84,7 @@ theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 21 text = "xxx" -[node name="Label2" type="Label" parent="VBoxContainer/flow/HBoxContainer/HBoxContainer"] +[node name="Label2" type="Label" parent="VBoxContainer/flow/HBoxContainer/bag_add_pos"] layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 @@ -106,12 +112,13 @@ theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 21 text = "增添:" -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/flow/HBoxContainer2"] +[node name="buff_add_pos" type="HBoxContainer" parent="VBoxContainer/flow/HBoxContainer2"] +unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 0 theme_override_constants/separation = 15 -[node name="Label" type="Label" parent="VBoxContainer/flow/HBoxContainer2/HBoxContainer"] +[node name="Label" type="Label" parent="VBoxContainer/flow/HBoxContainer2/buff_add_pos"] layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 @@ -119,7 +126,7 @@ theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 21 text = "xxx" -[node name="Label2" type="Label" parent="VBoxContainer/flow/HBoxContainer2/HBoxContainer"] +[node name="Label2" type="Label" parent="VBoxContainer/flow/HBoxContainer2/buff_add_pos"] layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 @@ -135,11 +142,12 @@ theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 21 text = "移除:" -[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/flow/HBoxContainer2"] +[node name="buff_remove_pos" type="HBoxContainer" parent="VBoxContainer/flow/HBoxContainer2"] +unique_name_in_owner = true layout_mode = 2 theme_override_constants/separation = 15 -[node name="Label" type="Label" parent="VBoxContainer/flow/HBoxContainer2/HBoxContainer2"] +[node name="Label" type="Label" parent="VBoxContainer/flow/HBoxContainer2/buff_remove_pos"] layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 @@ -147,7 +155,7 @@ theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 21 text = "xxx" -[node name="Label2" type="Label" parent="VBoxContainer/flow/HBoxContainer2/HBoxContainer2"] +[node name="Label2" type="Label" parent="VBoxContainer/flow/HBoxContainer2/buff_remove_pos"] layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 @@ -167,13 +175,14 @@ theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 21 text = "人际关系:" -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/flow/HBoxContainer3"] +[node name="relationshape_add_pos" type="HBoxContainer" parent="VBoxContainer/flow/HBoxContainer3"] +unique_name_in_owner = true layout_mode = 2 -[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/flow/HBoxContainer3/HBoxContainer"] +[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/flow/HBoxContainer3/relationshape_add_pos"] layout_mode = 2 -[node name="Label" type="Label" parent="VBoxContainer/flow/HBoxContainer3/HBoxContainer/HBoxContainer"] +[node name="Label" type="Label" parent="VBoxContainer/flow/HBoxContainer3/relationshape_add_pos/HBoxContainer"] layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 @@ -181,7 +190,7 @@ theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 21 text = "xxx:" -[node name="Label2" type="Label" parent="VBoxContainer/flow/HBoxContainer3/HBoxContainer/HBoxContainer"] +[node name="Label2" type="Label" parent="VBoxContainer/flow/HBoxContainer3/relationshape_add_pos/HBoxContainer"] layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 @@ -189,10 +198,10 @@ theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 21 text = "100" -[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/flow/HBoxContainer3/HBoxContainer"] +[node name="HBoxContainer2" type="HBoxContainer" parent="VBoxContainer/flow/HBoxContainer3/relationshape_add_pos"] layout_mode = 2 -[node name="Label" type="Label" parent="VBoxContainer/flow/HBoxContainer3/HBoxContainer/HBoxContainer2"] +[node name="Label" type="Label" parent="VBoxContainer/flow/HBoxContainer3/relationshape_add_pos/HBoxContainer2"] layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 @@ -200,7 +209,7 @@ theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 21 text = "xxx:" -[node name="Label2" type="Label" parent="VBoxContainer/flow/HBoxContainer3/HBoxContainer/HBoxContainer2"] +[node name="Label2" type="Label" parent="VBoxContainer/flow/HBoxContainer3/relationshape_add_pos/HBoxContainer2"] layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 @@ -219,7 +228,8 @@ theme_override_colors/font_color = Color(0, 0, 0, 1) theme_override_font_sizes/font_size = 21 text = "开局地点:" -[node name="Label2" type="Label" parent="VBoxContainer/flow/HBoxContainer4"] +[node name="star_pos" type="Label" parent="VBoxContainer/flow/HBoxContainer4"] +unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 0 size_flags_vertical = 0 @@ -236,7 +246,8 @@ patch_margin_left = 5 patch_margin_top = 7 patch_margin_right = 20 -[node name="TextureRect" type="TextureRect" parent="VBoxContainer/NinePatchRect"] +[node name="btn_icon" type="TextureRect" parent="VBoxContainer/NinePatchRect"] +unique_name_in_owner = true layout_mode = 1 anchors_preset = -1 anchor_left = 0.148387 @@ -250,12 +261,22 @@ expand_mode = 1 stretch_mode = 5 metadata/_edit_use_anchors_ = true -[node name="Button" type="Button" parent="VBoxContainer/NinePatchRect"] +[node name="select_label" type="Label" parent="VBoxContainer/NinePatchRect"] +unique_name_in_owner = true +visible = false layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -focus_mode = 0 -flat = true +theme_override_font_sizes/font_size = 20 +text = "选择" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="btn" parent="VBoxContainer/NinePatchRect" instance=ExtResource("5_0bwor")] +unique_name_in_owner = true +layout_mode = 1 + +[connection signal="pressed" from="VBoxContainer/NinePatchRect/btn" to="." method="_on_btn_pressed"]