9.27上午
This commit is contained in:
parent
f8eb049d95
commit
2a911ff837
@ -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()<condition)
|
||||
var dic={
|
||||
@ -195,7 +236,7 @@ func recreate_rand_dic(condition:float)->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):
|
||||
|
@ -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)
|
||||
|
@ -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"]
|
||||
|
@ -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))
|
||||
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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))
|
||||
|
@ -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="."]
|
||||
|
45
scene/start_config_mes.gd
Normal file
45
scene/start_config_mes.gd
Normal file
@ -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.
|
@ -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"]
|
||||
|
Loading…
Reference in New Issue
Block a user