From d00c26b78fbf926e9a74a9648e7ff9a53df1560a Mon Sep 17 00:00:00 2001 From: TsubakiLoL <2789646812@qq.com> Date: Sat, 28 Sep 2024 18:46:15 +0800 Subject: [PATCH] =?UTF-8?q?9.28=E4=B8=8B=E5=8D=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- autoload/global/script/global.gd | 149 ++++++++++++++++++++++--- class/character_tool/character_tool.gd | 34 ++++++ json/item.json | 21 +++- json/texture.json | 9 +- scene/bag_side_card.gd | 15 ++- scene/bag_side_card.tscn | 3 +- scene/bag_tab_button.gd | 8 +- scene/bag_tab_button.tscn | 14 +-- scene/basic_mes_item_drop_data.gd | 24 ++-- scene/basic_message.gd | 63 ++++++++++- scene/basic_message.tscn | 112 ++++++++++++------- test/equipment/Icon30_01.png | Bin 0 -> 1195 bytes test/equipment/Icon30_01.png.import | 34 ++++++ test/equipment/Icon30_08.png | Bin 0 -> 1307 bytes test/equipment/Icon30_08.png.import | 34 ++++++ test/equipment/Icon30_10.png | Bin 0 -> 1301 bytes test/equipment/Icon30_10.png.import | 34 ++++++ test/equipment/Icon30_16.png | Bin 0 -> 1283 bytes test/equipment/Icon30_16.png.import | 34 ++++++ test/equipment/backpack.png | Bin 0 -> 4412 bytes test/equipment/backpack.png.import | 34 ++++++ test/equipment/bandage.png | Bin 0 -> 6274 bytes test/equipment/bandage.png.import | 34 ++++++ test/equipment/flashlight_1.png | Bin 0 -> 4179 bytes test/equipment/flashlight_1.png.import | 34 ++++++ test/equipment/machete.png | Bin 0 -> 2848 bytes test/equipment/machete.png.import | 34 ++++++ test/equipment/pills_2.png | Bin 0 -> 1401 bytes test/equipment/pills_2.png.import | 34 ++++++ test/equipment/rifle.png | Bin 0 -> 1830 bytes test/equipment/rifle.png.import | 34 ++++++ test/equipment/rope.png | Bin 0 -> 7836 bytes test/equipment/rope.png.import | 34 ++++++ 33 files changed, 738 insertions(+), 88 deletions(-) create mode 100644 test/equipment/Icon30_01.png create mode 100644 test/equipment/Icon30_01.png.import create mode 100644 test/equipment/Icon30_08.png create mode 100644 test/equipment/Icon30_08.png.import create mode 100644 test/equipment/Icon30_10.png create mode 100644 test/equipment/Icon30_10.png.import create mode 100644 test/equipment/Icon30_16.png create mode 100644 test/equipment/Icon30_16.png.import create mode 100644 test/equipment/backpack.png create mode 100644 test/equipment/backpack.png.import create mode 100644 test/equipment/bandage.png create mode 100644 test/equipment/bandage.png.import create mode 100644 test/equipment/flashlight_1.png create mode 100644 test/equipment/flashlight_1.png.import create mode 100644 test/equipment/machete.png create mode 100644 test/equipment/machete.png.import create mode 100644 test/equipment/pills_2.png create mode 100644 test/equipment/pills_2.png.import create mode 100644 test/equipment/rifle.png create mode 100644 test/equipment/rifle.png.import create mode 100644 test/equipment/rope.png create mode 100644 test/equipment/rope.png.import diff --git a/autoload/global/script/global.gd b/autoload/global/script/global.gd index 1038c1a..b568736 100644 --- a/autoload/global/script/global.gd +++ b/autoload/global/script/global.gd @@ -69,25 +69,133 @@ var system_game_data:Dictionary={ "item":[] } -#将仓库内的装备数据装备到角色身上,同时删除仓库数据,并为角色添加装饰器, -#0,饰品 -func add_character_equipment_emblish(equip_pos:int,euqip_data:int): - - pass -#将角色装备卸下,同时将装备数据数据添加到仓库,并为角色添加装饰器 -func clear_character_equipment_emblish(equip_pos:int): - - pass -#向全局仓库添加 -func add_item_to_global(item_data:Dictionary,num:int): - - - pass -#向当前游戏数据添加item -func add_item_to_local(item_data:Dictionary,num:int): - + + +#获取当前游戏内所有物品 +func get_all_item_game_data()->Array: + return now_game_data["item"].duplicate(true) +#根据type获取当前物品 +func get_type_item_game_data(type:int)->Array: + var item:Array=now_game_data["item"].duplicate(true) + var res:Array=[] + for i in item: + if i.has("type") and int(i["type"])==type: + res.append(i) + return res + +func get_now_character_equip_page(page:int): + return CharacterTool.get_character_equip_page(get_now_character_data(),page) + +func get_now_character_equip_use(): + return CharacterTool.get_character_equip_now(get_now_character_data()) + +func replace_equip_with_data(page:int,pos:int,item_data:Dictionary): + + var left=CharacterTool.replace_character_equip(now_game_data["character_data"],page,pos,item_data) + if left!=null: + add_item_to_bag(left) pass +#向背包中添加item,会根据allow merger属性决定是否自动合并,并创建num属性 +func add_item_to_bag(item_data:Dictionary): + var item:Array=now_game_data["item"] + if item_data["allow_merge"]: + for i in item_data.size(): + if item_data[i]["id"]==item_data["id"]: + if item_data[i].has("num"): + item_data[i]["num"]+=1 + else: + item_data[i]["num"]=2 + + pass + pass + else: + item.append(item_data) +#根据在背包的排序减少对应物品的数量 +func decrease_item_num_index(ind:int,num:int=1): + var item:Array=now_game_data["item"] + if indbool: + var item:Array=now_game_data["item"] + var item_data:Dictionary + var ind:int + for i in item.size(): + if item[i]["id"]==id: + item_data=item[i] + ind=i + break + if item_data==null: + return false + else: + if not item_data.has("num"): + item_data["num"]=1 + var item_num:int=item_data["num"] + if item_num>num: + item_data["num"]-=num + return true + elif item_num==num: + item.pop_at(ind) + return true + else: + return false +#通过id获取当前背包数量(如果是不允许合并的物品则返回1(有)或者0(没有)) +func get_item_by_id(id:String)->int: + var item:Array=now_game_data["item"] + var item_data:Dictionary + var ind:int + for i in item.size(): + if item[i]["id"]==id: + item_data=item[i] + ind=i + break + if item_data!=null: + if item_data.has("num"): + return item_data["num"] + else: + return 1 + else: + return 0 + pass +#返回一个长度为2的数组,第一个数组存储的item中装备的index,另一个是对应的item_data +func get_all_equip_index_and_data_in_bag()->Array: + var item:Array=now_game_data["item"].duplicate(true) + var res:Array=[] + var ind_arr:Array=[] + var data_arr:Array=[] + for i in item.size(): + if is_item_a_equip(item[i]): + ind_arr.append(i) + data_arr.append(item[i]) + res=[ind_arr,data_arr] + return res + +#判断item是否为一个装备(暂时将武器除外) +func is_item_a_equip(item_data:Dictionary)->bool: + + if not item_data.has("type"): + return false + var type:int=item_data["type"] + if type in [0,1,2,3]: + return true + else: + return false +#改变当前角色使用的装备页 +func change_character_equip_now_use(page:int): + print(page) + CharacterTool.change_character_equip_now_use(now_game_data["character_data"],page) +#获取当前使用装备页数 +func get_character_page_now_use()->int: + return CharacterTool.get_character_equip_now_use_page(now_game_data["character_data"]) + +##当前数据 var now_game_data:Dictionary={ "character_data":{ @@ -285,6 +393,10 @@ var now_game_flow:GameFlow #获取当前角色数据的拷贝 func get_now_character_data(): return now_game_data["character_data"].duplicate() +#设置当前角色(游戏内) +func set_now_character(id:String): + now_game_data["character_data"]=get_character_data(id) + func _ready() -> void: load_texture_data() load_script_data() @@ -295,6 +407,7 @@ func _ready() -> void: load_map_data() load_npc_data() load_character_emblish_data() + load_item_data() #加载当前图片数据 func load_texture_data(): var file=FileAccess.open(texture_json_path,FileAccess.READ) @@ -342,6 +455,8 @@ func load_character_data(): var dictionary:Dictionary=JSON.parse_string(str) for i in dictionary.keys(): dictionary[i]["id"]=i + #预处理 + dictionary[i]=CharacterTool.pre_process_character_data(dictionary[i]) character_data=dictionary #加载当前地图字典 func load_map_data(): diff --git a/class/character_tool/character_tool.gd b/class/character_tool/character_tool.gd index 02300f3..4e01edc 100644 --- a/class/character_tool/character_tool.gd +++ b/class/character_tool/character_tool.gd @@ -1,3 +1,4 @@ +##角色字典工具类 class_name CharacterTool static func get_character_attribute(character_data:Dictionary,attribute_name:String): @@ -115,4 +116,37 @@ static func get_name_by_attribute_key(key:String)->String: return attribute_key_to_name_dic[key] else: return key +#对角色json加载后进行预处理 +static func pre_process_character_data(character_data:Dictionary)->Dictionary: + var res:Dictionary=character_data.duplicate(true) + #添加三页装备为null + #每页顺序默认是饰品1,饰品2,饰品3,饰品4,手部1,手部2,头部,身体 + #共八个 + res["equip"]=[ + [null,null,null,null,null,null,null,null,], + [null,null,null,null,null,null,null,null,], + [null,null,null,null,null,null,null,null,] + ] + res["now_use_equip"]=0 + return res +#替换装备数据,返回之前装备 +static func replace_character_equip(character_data:Dictionary,page:int,pos:int,item_data:Dictionary): + var data=character_data["equip"][page][pos] + character_data["equip"][page][pos]=item_data.duplicate(true) + return data +#当前使用的装备方案对应页 +static func get_character_equip_page(character_data:Dictionary,page:int)->Array: + var data:Array=character_data["equip"][page] + return data.duplicate(true) +#返回角色当前使用的装备队列 +static func get_character_equip_now(character_data:Dictionary): + var now_use_page:int=character_data["now_use_equip"] + var data:Array=character_data["equip"][now_use_page] + return data.duplicate(true) +#改变角色当前使用的装备页 +static func change_character_equip_now_use(character_data:Dictionary,page:int): + character_data["now_use_equip"]=page +#获取角色当前使用的装备页数 +static func get_character_equip_now_use_page(character_data:Dictionary)->int: + return int(character_data["now_use_equip"]) diff --git a/json/item.json b/json/item.json index 1f02544..b7cb902 100644 --- a/json/item.json +++ b/json/item.json @@ -1,9 +1,12 @@ { "item_01":{ "type":0, + "allow_merge":false, "price":100, "quality":0, - "name":"测试饰品", + "texture":"issuing", + "name":"发卡(测试饰品)", + "introduction":"用于测试的饰品装备,并没有什么用", "material":{ } @@ -11,9 +14,12 @@ }, "item_02":{ "type":1, + "allow_merge":false, "price":100, "quality":0, - "name":"测试手部装备", + "texture":"bag", + "name":"测试手部装备背包", + "introduction":"用于测试的手部装备,并没有什么用", "material":{ } @@ -21,9 +27,12 @@ }, "item_03":{ "type":2, + "allow_merge":false, "price":100, "quality":0, + "texture":"clothes", "name":"测试身体", + "introduction":"用于测试的身体装备,并没有什么用", "material":{ } @@ -31,9 +40,13 @@ }, "item_04":{ "type":3, + "allow_merge":false, "price":100, + "quality":0, + "texture":"hat", "name":"测试头部", + "introduction":"用于测试的头部装备,并没有什么用", "material":{ } @@ -41,9 +54,12 @@ }, "item_05":{ "type":4, + "allow_merge":false, "price":100, "quality":0, + "texture":"knife", "name":"小刀", + "introduction":"用于测试的武器,并没有什么用", "material":{ } @@ -51,6 +67,7 @@ }, "item_06":{ "type":5, + "allow_merge":true, "price":100, "quality":0, "name":"绷带", diff --git a/json/texture.json b/json/texture.json index eb4bf4b..89ff8b4 100644 --- a/json/texture.json +++ b/json/texture.json @@ -5,5 +5,12 @@ "test_character_tsubaki":"res://test/texture/tsubaki_1.png", "test_character_tsubaki_head":"res://test/texture/tsubaki_head.png", "tower":"res://test/texture/test_tower.jpg", - "?":"res://res/ui/ui_025_adventure_mode/tuceng353.png" + "?":"res://res/ui/ui_025_adventure_mode/tuceng353.png", + "bandage":"D:/desktop3/UI/challenge-editor/test/equipment/bandage.png", + "hat":"res://test/equipment/Icon30_08.png", + "issuing":"res://test/equipment/Icon30_01.png", + "bag":"res://test/equipment/backpack.png", + "knife":"res://test/equipment/machete.png", + "cord":"res://test/equipment/rope.png", + "clothes":"res://test/equipment/Icon30_16.png" } diff --git a/scene/bag_side_card.gd b/scene/bag_side_card.gd index 9be4eab..77fff40 100644 --- a/scene/bag_side_card.gd +++ b/scene/bag_side_card.gd @@ -1,11 +1,14 @@ extends TextureRect +class_name BagSideCard var is_mouse_enter:bool=false +var equip_index:int=0 signal click(data:Dictionary) var data:Dictionary={ "texture":"test_character_tsubaki" } # Called when the node enters the scene tree for the first time. func _ready() -> void: + set_data(Global.get_item_data("item_01")) pass # Replace with function body. @@ -18,10 +21,20 @@ func _input(event: InputEvent) -> void: func _get_drag_data(at_position: Vector2) -> Variant: var texture_rect=TextureRect.new() texture_rect.texture=Global.get_texture(data["texture"]) + texture_rect.expand_mode=TextureRect.EXPAND_IGNORE_SIZE + texture_rect.stretch_mode=TextureRect.STRETCH_KEEP_ASPECT_CENTERED + texture_rect.size=self.size set_drag_preview(texture_rect) - return data + var new_data=data.duplicate(true) + new_data["ind"]=equip_index + return new_data +func set_data(_data:Dictionary): + data=_data + %face.texture=Global.get_texture(data["texture"]) + pass func _on_mouse_entered() -> void: is_mouse_enter=true + click.emit(data) pass # Replace with function body. diff --git a/scene/bag_side_card.tscn b/scene/bag_side_card.tscn index db06104..4245fc8 100644 --- a/scene/bag_side_card.tscn +++ b/scene/bag_side_card.tscn @@ -18,6 +18,7 @@ script = ExtResource("2_frdwk") metadata/_edit_use_anchors_ = true [node name="face" type="TextureRect" parent="."] +unique_name_in_owner = true layout_mode = 1 anchors_preset = -1 anchor_left = 0.0263158 @@ -28,7 +29,7 @@ grow_horizontal = 2 grow_vertical = 2 texture = ExtResource("2_4o4bp") expand_mode = 1 -stretch_mode = 6 +stretch_mode = 5 metadata/_edit_use_anchors_ = true [node name="front" type="TextureRect" parent="."] diff --git a/scene/bag_tab_button.gd b/scene/bag_tab_button.gd index cd8d9bf..3410b5e 100644 --- a/scene/bag_tab_button.gd +++ b/scene/bag_tab_button.gd @@ -1,9 +1,9 @@ extends TextureRect -var num:int=1 +@export var num:int=1 + signal pressed(n:int) -func set_num(n:int): - $Label.text=n - num=n +func _ready() -> void: + $Label.text=str(num) func _on_button_pressed() -> void: pressed.emit(num) diff --git a/scene/bag_tab_button.tscn b/scene/bag_tab_button.tscn index 32c991b..4314d5b 100644 --- a/scene/bag_tab_button.tscn +++ b/scene/bag_tab_button.tscn @@ -1,7 +1,8 @@ -[gd_scene load_steps=3 format=3 uid="uid://3g5ba73apov5"] +[gd_scene load_steps=4 format=3 uid="uid://3g5ba73apov5"] [ext_resource type="Texture2D" uid="uid://cp875cxgw5rq1" path="res://res/ui/ui_008_bag/tuceng1.png" id="1_ex42u"] [ext_resource type="Script" path="res://scene/bag_tab_button.gd" id="2_dyt0t"] +[ext_resource type="PackedScene" uid="uid://bdlo2wn4qnygv" path="res://scene/tool/tool_button.tscn" id="3_1kc8h"] [node name="bag_tab_button" type="TextureRect"] custom_minimum_size = Vector2(96, 68) @@ -23,14 +24,7 @@ theme_override_font_sizes/font_size = 44 text = "1" horizontal_alignment = 1 -[node name="Button" type="Button" parent="."] +[node name="ToolButton" parent="." instance=ExtResource("3_1kc8h")] 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 -[connection signal="pressed" from="Button" to="." method="_on_button_pressed"] +[connection signal="pressed" from="ToolButton" to="." method="_on_button_pressed"] diff --git a/scene/basic_mes_item_drop_data.gd b/scene/basic_mes_item_drop_data.gd index 509137c..11cf0d7 100644 --- a/scene/basic_mes_item_drop_data.gd +++ b/scene/basic_mes_item_drop_data.gd @@ -1,20 +1,28 @@ extends Label + +signal fresh @export var type:int=0 @export var texture:TextureRect -var item_data:Dictionary - +var item_data +#当前使用的页面 +var page:int=0 +@export var index:int=0 func _can_drop_data(at_position: Vector2, data: Variant) -> bool: if data.has("type") and data["type"]==type: return true else: return false func _drop_data(at_position: Vector2, data: Variant) -> void: - if item_data!=null: - - pass + Global.replace_equip_with_data(page,index,data) + Global.decrease_item_num_index(data["ind"]) item_data=data + fresh.emit() - - - pass +func set_data(_data): + if _data==null: + texture.texture=null + item_data=null + return + item_data=_data + texture.texture=Global.get_texture(_data["texture"]) diff --git a/scene/basic_message.gd b/scene/basic_message.gd index afeadd8..d6b64d2 100644 --- a/scene/basic_message.gd +++ b/scene/basic_message.gd @@ -4,16 +4,21 @@ 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") +const BAG_SIDE_CARD = preload("res://scene/bag_side_card.tscn") var data:Dictionary ##当前是在游戏外编辑还是在游戏内编辑 @export var is_in_game:bool=false @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_character_use_equip_page:int=0 +@onready var equipment_group=[%ornaments_equipment1, %ornaments_equipment2, %ornaments_equipment3,%ornaments_equipment4,%hand_equipment1,%hand_equipment2, %head_equipment, %body_equipment] #面板关闭信号 signal close var now_selected_mes:StartConfigMes func init_from_data(): - + for i in equipment_group.size(): + equipment_group[i].index=i for i in %special_container.get_children(): i.queue_free() for i in %ability_container.get_children(): @@ -135,9 +140,33 @@ func init_from_data(): new_skin_card.state=-1 new_skin_card.set_data(skin_data_arr[i]) new_skin_card.click.connect(skin_card_click) - + #装备界面 + if is_in_game: + for i in %bag_side_card_add_pos.get_children(): + i.queue_free() + var bag_equip:Array=Global.get_all_equip_index_and_data_in_bag() + var ind_arr:Array=bag_equip[0] + var data_arr:Array=bag_equip[1] + for i in ind_arr.size(): + var new_card=BAG_SIDE_CARD.instantiate() + new_card.equip_index=ind_arr[i] + %bag_side_card_add_pos.add_child(new_card) + new_card.set_data(data_arr[i]) + new_card.click.connect(equip_mes_show) + pass + now_character_use_equip_page=Global.get_character_page_now_use() + var now_use_equip_data_arr=Global.get_now_character_equip_use() + for i in equipment_group.size(): + equipment_group[i].page=now_character_use_equip_page + equipment_group[i].set_data(now_use_equip_data_arr[i]) + pass - +#要求显示背包卡片的具体信息 +func equip_mes_show(data:Dictionary): + %bag_card_face_big.texture=Global.get_texture(data["texture"]) + %bag_card_name.text=data["name"] + %bag_card_introduction.text=data["introduction"] + pass func start_config_mes_click(mes:StartConfigMes,ind:int): now_selected_mes.state=0 mes.state=1 @@ -180,13 +209,25 @@ func selected(ind:int): pass func _ready() -> void: + + Global.set_now_character("test_character_01") + #向背包中添加物品 + Global.add_item_to_bag(Global.get_item_data("item_01")) + Global.add_item_to_bag(Global.get_item_data("item_02")) + Global.add_item_to_bag(Global.get_item_data("item_03")) + Global.add_item_to_bag(Global.get_item_data("item_04")) + Global.add_item_to_bag(Global.get_item_data("item_05")) if is_in_game: $VBoxContainer/TextureRect/HBoxContainer/Button6.hide() + $VBoxContainer/TextureRect/HBoxContainer/Button4.show() else: $VBoxContainer/TextureRect/HBoxContainer/Button6.show() - + $VBoxContainer/TextureRect/HBoxContainer/Button4.hide() pass data=Global.get_character_data("test_character_01") + + for i in equipment_group: + i.fresh.connect(fresh) init_from_data() connect_button() @@ -195,3 +236,17 @@ func _on_back_button_pressed() -> void: self.hide() close.emit() pass # Replace with function body. + +#切换装备页按钮按下时 +func _on_bag_tab_button_pressed(n: int) -> void: + Global.change_character_equip_now_use(n-1) + data=Global.get_now_character_data() + init_from_data() + pass # Replace with function body. + +func fresh(): + data=Global.get_now_character_data() + init_from_data() + + + pass diff --git a/scene/basic_message.tscn b/scene/basic_message.tscn index d34a267..ca9f156 100644 --- a/scene/basic_message.tscn +++ b/scene/basic_message.tscn @@ -112,6 +112,7 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 script = ExtResource("1_0470d") +is_in_game = true [node name="back" type="TextureRect" parent="."] layout_mode = 1 @@ -1437,9 +1438,11 @@ layout_mode = 2 [node name="bag_tab_button2" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/TextureRect/MarginContainer/HBoxContainer" instance=ExtResource("22_rvfxp")] layout_mode = 2 +num = 2 [node name="bag_tab_button3" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/TextureRect/MarginContainer/HBoxContainer" instance=ExtResource("22_rvfxp")] layout_mode = 2 +num = 3 [node name="margin" type="MarginContainer" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer"] layout_mode = 2 @@ -1456,16 +1459,19 @@ theme_override_constants/separation = 115 custom_minimum_size = Vector2(114, 0) layout_mode = 2 size_flags_horizontal = 0 +horizontal_scroll_mode = 0 +vertical_scroll_mode = 3 -[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/margin/HBoxContainer/ScrollContainer"] +[node name="bag_side_card_add_pos" type="VBoxContainer" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/margin/HBoxContainer/ScrollContainer"] +unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 theme_override_constants/separation = 29 -[node name="bag_side_card" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/margin/HBoxContainer/ScrollContainer/VBoxContainer" instance=ExtResource("23_o216g")] +[node name="bag_side_card" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/margin/HBoxContainer/ScrollContainer/bag_side_card_add_pos" instance=ExtResource("23_o216g")] layout_mode = 2 -[node name="bag_side_card2" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/margin/HBoxContainer/ScrollContainer/VBoxContainer" instance=ExtResource("23_o216g")] +[node name="bag_side_card2" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/margin/HBoxContainer/ScrollContainer/bag_side_card_add_pos" instance=ExtResource("23_o216g")] layout_mode = 2 [node name="AspectRatioContainer" type="AspectRatioContainer" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/margin/HBoxContainer"] @@ -1495,7 +1501,8 @@ expand_mode = 1 stretch_mode = 5 metadata/_edit_use_anchors_ = true -[node name="bag_card_face" type="TextureRect" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/margin/HBoxContainer/AspectRatioContainer/card/bag_card"] +[node name="bag_card_face_big" type="TextureRect" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/margin/HBoxContainer/AspectRatioContainer/card/bag_card"] +unique_name_in_owner = true layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 @@ -1504,7 +1511,7 @@ grow_horizontal = 2 grow_vertical = 2 texture = ExtResource("25_m68h1") expand_mode = 1 -stretch_mode = 6 +stretch_mode = 5 [node name="Panel" type="Panel" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/margin/HBoxContainer/AspectRatioContainer/card"] layout_mode = 0 @@ -1516,6 +1523,7 @@ theme_override_styles/panel = SubResource("StyleBoxTexture_d723k") metadata/_edit_use_anchors_ = true [node name="bag_card_name" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/margin/HBoxContainer/AspectRatioContainer/card/Panel"] +unique_name_in_owner = true layout_mode = 0 anchor_left = 0.180628 anchor_right = 0.913613 @@ -1545,7 +1553,8 @@ theme_override_constants/separation = 0 layout_mode = 2 size_flags_horizontal = 6 -[node name="Label" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/margin/HBoxContainer/AspectRatioContainer/card/Panel/VBoxContainer/HBoxContainer/HBoxContainer"] +[node name="bag_card_main_type" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/margin/HBoxContainer/AspectRatioContainer/card/Panel/VBoxContainer/HBoxContainer/HBoxContainer"] +unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 0 theme_override_colors/font_color = Color(0.8, 0.8, 0.8, 1) @@ -1559,7 +1568,8 @@ theme_override_colors/font_color = Color(0.8, 0.8, 0.8, 1) theme_override_font_sizes/font_size = 20 text = "——" -[node name="Label3" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/margin/HBoxContainer/AspectRatioContainer/card/Panel/VBoxContainer/HBoxContainer/HBoxContainer"] +[node name="bag_card_next_type" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/margin/HBoxContainer/AspectRatioContainer/card/Panel/VBoxContainer/HBoxContainer/HBoxContainer"] +unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 2 theme_override_colors/font_color = Color(0.8, 0.8, 0.8, 1) @@ -1567,6 +1577,7 @@ theme_override_font_sizes/font_size = 20 text = "次类别" [node name="bag_card_introduction" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/margin/HBoxContainer/AspectRatioContainer/card/Panel/VBoxContainer"] +unique_name_in_owner = true layout_mode = 2 size_flags_vertical = 3 theme_override_constants/line_spacing = 11 @@ -1674,24 +1685,24 @@ patch_margin_right = 12 patch_margin_bottom = 12 [node name="TextureRect" type="TextureRect" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer/TextureRect"] -show_behind_parent = true layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -texture = ExtResource("25_m68h1") expand_mode = 1 -stretch_mode = 6 +stretch_mode = 5 -[node name="Label" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer/TextureRect"] +[node name="ornaments_equipment1" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer/TextureRect" node_paths=PackedStringArray("texture")] +unique_name_in_owner = true layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 anchor_bottom = 0.913386 grow_horizontal = 2 grow_vertical = 2 +mouse_filter = 1 theme_override_colors/font_color = Color(1, 1, 1, 1) theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) theme_override_constants/outline_size = 4 @@ -1699,6 +1710,8 @@ theme_override_font_sizes/font_size = 31 text = "饰品" horizontal_alignment = 1 vertical_alignment = 2 +script = ExtResource("35_uq1fu") +texture = NodePath("../TextureRect") metadata/_edit_use_anchors_ = true [node name="TextureRect2" type="NinePatchRect" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer"] @@ -1713,24 +1726,24 @@ patch_margin_right = 12 patch_margin_bottom = 12 [node name="TextureRect" type="TextureRect" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer/TextureRect2"] -show_behind_parent = true layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -texture = ExtResource("25_m68h1") expand_mode = 1 -stretch_mode = 6 +stretch_mode = 5 -[node name="Label" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer/TextureRect2"] +[node name="ornaments_equipment3" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer/TextureRect2" node_paths=PackedStringArray("texture")] +unique_name_in_owner = true layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 anchor_bottom = 0.913386 grow_horizontal = 2 grow_vertical = 2 +mouse_filter = 1 theme_override_colors/font_color = Color(1, 1, 1, 1) theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) theme_override_constants/outline_size = 4 @@ -1738,6 +1751,8 @@ theme_override_font_sizes/font_size = 31 text = "饰品" horizontal_alignment = 1 vertical_alignment = 2 +script = ExtResource("35_uq1fu") +texture = NodePath("../TextureRect") metadata/_edit_use_anchors_ = true [node name="TextureRect3" type="NinePatchRect" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer"] @@ -1752,24 +1767,24 @@ patch_margin_right = 12 patch_margin_bottom = 12 [node name="TextureRect" type="TextureRect" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer/TextureRect3"] -show_behind_parent = true layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -texture = ExtResource("25_m68h1") expand_mode = 1 -stretch_mode = 6 +stretch_mode = 5 -[node name="Label" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer/TextureRect3"] +[node name="hand_equipment1" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer/TextureRect3" node_paths=PackedStringArray("texture")] +unique_name_in_owner = true layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 anchor_bottom = 0.913386 grow_horizontal = 2 grow_vertical = 2 +mouse_filter = 1 theme_override_colors/font_color = Color(1, 1, 1, 1) theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) theme_override_constants/outline_size = 4 @@ -1777,6 +1792,9 @@ theme_override_font_sizes/font_size = 31 text = "手部" horizontal_alignment = 1 vertical_alignment = 2 +script = ExtResource("35_uq1fu") +type = 1 +texture = NodePath("../TextureRect") metadata/_edit_use_anchors_ = true [node name="VBoxContainer2" type="VBoxContainer" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer"] @@ -1792,25 +1810,24 @@ size_flags_vertical = 0 texture = ExtResource("38_xp82q") [node name="TextureRect" type="TextureRect" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer2/TextureRect3"] -unique_name_in_owner = true -show_behind_parent = true layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -texture = ExtResource("25_m68h1") expand_mode = 1 -stretch_mode = 6 +stretch_mode = 5 -[node name="Label" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer2/TextureRect3"] +[node name="head_equipment" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer2/TextureRect3" node_paths=PackedStringArray("texture")] +unique_name_in_owner = true layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 anchor_bottom = 0.913386 grow_horizontal = 2 grow_vertical = 2 +mouse_filter = 1 theme_override_colors/font_color = Color(1, 1, 1, 1) theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) theme_override_constants/outline_size = 4 @@ -1819,6 +1836,8 @@ text = "头部" horizontal_alignment = 1 vertical_alignment = 2 script = ExtResource("35_uq1fu") +type = 3 +texture = NodePath("../TextureRect") metadata/_edit_use_anchors_ = true [node name="TextureRect4" type="NinePatchRect" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer2"] @@ -1829,24 +1848,24 @@ size_flags_vertical = 0 texture = ExtResource("38_xp82q") [node name="TextureRect" type="TextureRect" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer2/TextureRect4"] -show_behind_parent = true layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -texture = ExtResource("25_m68h1") expand_mode = 1 -stretch_mode = 6 +stretch_mode = 5 -[node name="Label" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer2/TextureRect4"] +[node name="body_equipment" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer2/TextureRect4" node_paths=PackedStringArray("texture")] +unique_name_in_owner = true layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 anchor_bottom = 0.913386 grow_horizontal = 2 grow_vertical = 2 +mouse_filter = 1 theme_override_colors/font_color = Color(1, 1, 1, 1) theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) theme_override_constants/outline_size = 4 @@ -1854,6 +1873,9 @@ theme_override_font_sizes/font_size = 31 text = "身体" horizontal_alignment = 1 vertical_alignment = 2 +script = ExtResource("35_uq1fu") +type = 2 +texture = NodePath("../TextureRect") metadata/_edit_use_anchors_ = true [node name="VBoxContainer3" type="VBoxContainer" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer"] @@ -1873,24 +1895,24 @@ patch_margin_right = 12 patch_margin_bottom = 12 [node name="TextureRect" type="TextureRect" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer3/TextureRect3"] -show_behind_parent = true layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -texture = ExtResource("25_m68h1") expand_mode = 1 -stretch_mode = 6 +stretch_mode = 5 -[node name="Label" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer3/TextureRect3"] +[node name="ornaments_equipment2" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer3/TextureRect3" node_paths=PackedStringArray("texture")] +unique_name_in_owner = true layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 anchor_bottom = 0.913386 grow_horizontal = 2 grow_vertical = 2 +mouse_filter = 1 theme_override_colors/font_color = Color(1, 1, 1, 1) theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) theme_override_constants/outline_size = 4 @@ -1898,6 +1920,8 @@ theme_override_font_sizes/font_size = 31 text = "饰品" horizontal_alignment = 1 vertical_alignment = 2 +script = ExtResource("35_uq1fu") +texture = NodePath("../TextureRect") metadata/_edit_use_anchors_ = true [node name="TextureRect4" type="NinePatchRect" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer3"] @@ -1912,24 +1936,24 @@ patch_margin_right = 12 patch_margin_bottom = 12 [node name="TextureRect" type="TextureRect" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer3/TextureRect4"] -show_behind_parent = true layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -texture = ExtResource("25_m68h1") expand_mode = 1 -stretch_mode = 6 +stretch_mode = 5 -[node name="Label" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer3/TextureRect4"] +[node name="ornaments_equipment4" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer3/TextureRect4" node_paths=PackedStringArray("texture")] +unique_name_in_owner = true layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 anchor_bottom = 0.913386 grow_horizontal = 2 grow_vertical = 2 +mouse_filter = 1 theme_override_colors/font_color = Color(1, 1, 1, 1) theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) theme_override_constants/outline_size = 4 @@ -1937,6 +1961,8 @@ theme_override_font_sizes/font_size = 31 text = "饰品" horizontal_alignment = 1 vertical_alignment = 2 +script = ExtResource("35_uq1fu") +texture = NodePath("../TextureRect") metadata/_edit_use_anchors_ = true [node name="TextureRect5" type="NinePatchRect" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer3"] @@ -1951,24 +1977,24 @@ patch_margin_right = 12 patch_margin_bottom = 12 [node name="TextureRect" type="TextureRect" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer3/TextureRect5"] -show_behind_parent = true layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -texture = ExtResource("25_m68h1") expand_mode = 1 -stretch_mode = 6 +stretch_mode = 5 -[node name="Label" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer3/TextureRect5"] +[node name="hand_equipment2" type="Label" parent="VBoxContainer/TabContainer/bag/Panel/Control/HBoxContainer/VBoxContainer3/TextureRect5" node_paths=PackedStringArray("texture")] +unique_name_in_owner = true layout_mode = 1 anchors_preset = -1 anchor_right = 1.0 anchor_bottom = 0.913386 grow_horizontal = 2 grow_vertical = 2 +mouse_filter = 1 theme_override_colors/font_color = Color(1, 1, 1, 1) theme_override_colors/font_shadow_color = Color(0, 0, 0, 1) theme_override_constants/outline_size = 4 @@ -1976,6 +2002,9 @@ theme_override_font_sizes/font_size = 31 text = "手部" horizontal_alignment = 1 vertical_alignment = 2 +script = ExtResource("35_uq1fu") +type = 1 +texture = NodePath("../TextureRect") metadata/_edit_use_anchors_ = true [node name="skill_config" type="MarginContainer" parent="VBoxContainer/TabContainer"] @@ -2156,4 +2185,7 @@ icon = ExtResource("21_boe0q") flat = true metadata/_edit_use_anchors_ = true +[connection signal="pressed" from="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/TextureRect/MarginContainer/HBoxContainer/bag_tab_button" to="." method="_on_bag_tab_button_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/TextureRect/MarginContainer/HBoxContainer/bag_tab_button2" to="." method="_on_bag_tab_button_pressed"] +[connection signal="pressed" from="VBoxContainer/TabContainer/bag/Panel/VBoxContainer/TextureRect/MarginContainer/HBoxContainer/bag_tab_button3" to="." method="_on_bag_tab_button_pressed"] [connection signal="pressed" from="back_button" to="." method="_on_back_button_pressed"] diff --git a/test/equipment/Icon30_01.png b/test/equipment/Icon30_01.png new file mode 100644 index 0000000000000000000000000000000000000000..e00995ab2ccd560e52ea02ca23e84bf8c1c4aae1 GIT binary patch literal 1195 zcmbVLO>Em#9QRh(x=Fk2OX?2r=1zzLiTx6P#HOJn{@B8r5T#*@1_xaGrL|i7dG;%D zdRdt&P0#~K69+gT4&6XP+7XbDSV4#hwJ>(srfEX$*Z~mIGzm6|OL;Q>hjudzv!`@SuhA7GUwx*xHN0$L&G{_ikl9m-Brr_Xl1WKMY zfojNd+NZxq!wl2cbn6Y$D37W(_R?0Ola9TBq8Vm*Bn~Wl3K1}lCR{(y-uv=03tT79 zo)pV`IndCgdu%pDW3!dIJv(J94m-p+;2~mx*qinvHO{jgUX|_>F~@?A3Yp5Y z8%{OKRiNPz0WqCT**t_mlG0ERB?&$UGCa(1Jbk4U6jV`CGcxEtEVULoO|_<*U0d{& zXD0~>RE}%4TIp6cjl&5JDvFYDWHKqLk&4j1Xv(S#x#hW>S9OYNxM4iHyE5uOQcT94*n4@`6S zXhVr2^+tU;bZJqnX&u`$9`Z>^&$IL!e&foo_vTN?6`Tox@E}Q$o@4~jZXXT$hxUge&VEW47T5%YA7#2>Hjtcvfy=)QZfF);u5i5=FP7ryrHA6@$D+>NKsY=1B^b^6Kp_PNZF i2mFWb{czvSm7yi(VR3(Z`P4U+B%YE{(JvKWKl=}&iHvsu literal 0 HcmV?d00001 diff --git a/test/equipment/Icon30_01.png.import b/test/equipment/Icon30_01.png.import new file mode 100644 index 0000000..e2ded34 --- /dev/null +++ b/test/equipment/Icon30_01.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c1irki2q448eh" +path="res://.godot/imported/Icon30_01.png-b84fb30a4c8c344aad565aa219cbb84e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://test/equipment/Icon30_01.png" +dest_files=["res://.godot/imported/Icon30_01.png-b84fb30a4c8c344aad565aa219cbb84e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/test/equipment/Icon30_08.png b/test/equipment/Icon30_08.png new file mode 100644 index 0000000000000000000000000000000000000000..83711b081f54e4cf19094cd76ecc37aa8cad2f97 GIT binary patch literal 1307 zcmbVLU2NM_6n4p0soKQp0+!{TaRcVYd-KKdks>D%yLaJTH695l&=T>QGOC(BkgLkOQardndnr<&WE3ILi#L)I-> zQ*l>O9MmdSlt7U#A3@R6=@ntsY$OV$jI4<|N&6{MQQULY(WaG!|AetB+RTsXkjz3; zs~AOeAEj+gGRock9l1ah4c}+T=u*T{pcN|$RIL<<66lX#k|mzu07!y3O(lXr05r|T zVk{Tt7*-HCHYtRg8mn=GNs39*Y$!n`X_^*6DiCKQEFFk|6>ds3Em1APre7KP zZE%_Ua`}V-MN2dCnl{?3fJ|AlG_$Pfcp}H*o&B;ZX;pKFdp*mi1<;TWLMdrz3SQ4I zFR$W1B7{RU%OnIYK?wp)$AWB(i!ezhBqWjo!w?Ow^nY?jqF_k3IQ~^EO%tj>cezsf zXtUBhP(>YMpw{^Dr@Jz0tLHO&@`882GPf1Z-?}+vTrWNQ`qbR{Y3KUw;IOkOMCb0< z>vDUCCz6-@_y2rP_~`v$`P%&H@=0Zvb2$Dbxg~;mH%*koKqYp*=r~TjSFxw>Y}kla zPgvRB95VjLz_v3Fg%IpY3dHiY#W%i+t-pk~t<4-ez0mX5HD}ht?<~BP{^sGAUR^i5 z)Rmv~ox6+89Q}2x-2q-Z`&(yr#<3qG?av?7FCIR$;ldX0yWM-cKX^O%g*~6Yx^eo+ z?@m-cz0|s|do$)I&e(08_9lH|#=hCIesJs?;l$?m+}o$XT099&AKtHuFJx?w~b?H z9pa3{uvMoDsSL^)7C^&+kY6T95~b+?Nrh>e>_USC8N>;A(|(d-!!#R=plcTftyxNu z&GO=!Ex3wdCC4#Y950v4fpREdSVK6;FpQ@W4EiC$Z;$Jah}oW-7HVtlMjef+@pY$;8P3foqxCTS@4e=8=~#}xC!tqu#GWG zhUZb-+aSZ--Pw=_gx;`^TPi#hX_PnQF%9TWl8<5VOF&T-mST8b3hl0P zIq{BMma~B57*^geMjI87DH)Domkbl-ay0s2zp5)n*?!17p4Di1V5!G|B3g!q*7M7% z8`zHukuXV9oWO8|AdqA{M8}yZB~oF569tOG*0{?5$r%ov!M)=6SFtp9_0orn z_2vOO>=+BSMq&Qv^RTTBXAb3st^uw309g9|yJ_o2vHP{@>eVx~8$X7IYs*5cdaJT6 z*Ec*RF7yxF{#CgAL8$cY(z~U%wEeY{i7)Z{qe$1zsZxa3v4@|k)oS%#MfTmg=UzDL zaI)zf-29IV>7-i25H_FW<9T;^?yHOKpQ2k@GMx))X8vYvvh+me2s4SKCJhR6Pv6`sQ2i(c2MbizZyE*eDQGW3+Gc2?WXTE`jgn&Oe{TjZTwjEuDOmEAGxIOm>ILHPfz!Ka%%R&?dN~Ea{Nyh boM^cZ8JLutFYSA^#fv^Er1=YpXP^HY8+gKg literal 0 HcmV?d00001 diff --git a/test/equipment/Icon30_10.png.import b/test/equipment/Icon30_10.png.import new file mode 100644 index 0000000..16af299 --- /dev/null +++ b/test/equipment/Icon30_10.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3ev4nh8q58yw" +path="res://.godot/imported/Icon30_10.png-9b117018f41c8d3caaa8e9a1b74eeda5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://test/equipment/Icon30_10.png" +dest_files=["res://.godot/imported/Icon30_10.png-9b117018f41c8d3caaa8e9a1b74eeda5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/test/equipment/Icon30_16.png b/test/equipment/Icon30_16.png new file mode 100644 index 0000000000000000000000000000000000000000..25668bfd0320e5e429a9aa167ed00e449b384249 GIT binary patch literal 1283 zcmbVLZ)g)|7{8c_wWD<#w%b}ZkBe+olH6T#x#W&UP4C|5jV7&W#Nhm}Ywk^RYwq6k z?z*IEI#$s#6t-@H8;<>P2xEeKuT8prD1O+> z-TUWxpWpBK^FGi1{`B^i=8k59AX=0iat5!Y`!{*IADs8KViJduz3<=7*s}4#FYbj8ng! z{hT6oEl%x@q?lA$f<=ADxCIBs)7kv^a9+@;ty{?Ms)z{;=%{4XD4DicjZ=%fBHp`V znj#lfoZ&dN z(h6cmPS$PVQ=BR~PFbYsN~IF4goDT$qFF%@T#isEfHea4nCYn1fNA?03^KIymR@#r zWRfnUI*3M{IE6i33c)C+Qp?1qT~8EF8C_M&G#g}S!*JtT)V7@r{MU^Ywe9R!8PXYO zqfsl5-=pAbfN|~~ZOB!`-iUpcjvqxW$tXW+K+{p=IE8P5ny!hQAj?U)hh?O&3}luS z5(!?23LFoBz$Zbp!LbrHoMhw#$8!>sWLXw~9w8Q$nNSZO?WkrRHtg!y zZXFwbBvzCxs5;2XB2;QrKz|WA$S$HXDGl&s*KXa^P{rQlKF?CLGPLy9pq8|dK`!Q3 z)K{<{1JMYJT?c~10Kl?|FrN@&T#}0bDG4}^s$;ePlQSASL%YTCpJHirAV?idTVMjxfTj@#<_{@yGoc5@#YTVjO&>P#^zo7CpL{+A7W*|xuk=hB6VSMk#9 zWYPl<8-qA`)jx}+_Y^sit$sT>r>we2HWAx)dj5X6?tO6J(BZ)8%b%)U$2aW!W6f;L zt8i=IxqNuW-@a{X&#-sTC6DjPE7uMpV={4W-;bk@P1n+=Cz@9GUflk~`cr@Xw9xrX z=X~qN>1)mFYTQe6;mM(|*Uz_oP`gRoZ9P!iu&-_U`ZxB-6j7|*zyGI)@h;5!YUjXH z8_@`nEP%Ja8(V#AZuXN8FSM%Xk1|i^Y6~5=&q%8#*4z+hqz5g(wRU-q{_x^?V*c!d zBNY<9_dBuocIB%t-t};s$NQYMciZoz+NXTVsa?Oua ahS=57`Q?che)%4UPbeTQAM1JLjeh{a_OOls literal 0 HcmV?d00001 diff --git a/test/equipment/Icon30_16.png.import b/test/equipment/Icon30_16.png.import new file mode 100644 index 0000000..5b430a1 --- /dev/null +++ b/test/equipment/Icon30_16.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://deesy1gn126yf" +path="res://.godot/imported/Icon30_16.png-641599e14a2ef95f5c4c0a5ecb92f730.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://test/equipment/Icon30_16.png" +dest_files=["res://.godot/imported/Icon30_16.png-641599e14a2ef95f5c4c0a5ecb92f730.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/test/equipment/backpack.png b/test/equipment/backpack.png new file mode 100644 index 0000000000000000000000000000000000000000..e8f9bd2a04ba98b31e9674d5510d72c37dc57fb6 GIT binary patch literal 4412 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 literal 0 HcmV?d00001 diff --git a/test/equipment/bandage.png.import b/test/equipment/bandage.png.import new file mode 100644 index 0000000..67dbdd0 --- /dev/null +++ b/test/equipment/bandage.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dj5iq0i6aclxh" +path="res://.godot/imported/bandage.png-e7c9cc2df9a09eb779d1df44162f0ee1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://test/equipment/bandage.png" +dest_files=["res://.godot/imported/bandage.png-e7c9cc2df9a09eb779d1df44162f0ee1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/test/equipment/flashlight_1.png b/test/equipment/flashlight_1.png new file mode 100644 index 0000000000000000000000000000000000000000..101b3565ecea708f5802645aa88c9ea2dc047294 GIT binary patch literal 4179 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 yNn{1`ISV`@ ziy0VHYeASX#e1#+P*AeOHKHUqKdq!Zu_%?HATcwqL@zJ3M8QPQK+n+FggLqjXwWxL z7srr_xVN)>ePmK4j$dE>k?CvFB2V8h3p(BSwW=HBYzl;IC4|ew4C=PjB}8ke9^hHn zq`O0;JguBN$2CIi)w+;O#^_t06os6%SDM|5$~wwicO*er*mvvR7mq*l7@v5z&%k&k zxAUhzlkcZi-v9pdzma#@x5JyG7V+NB=fCE?JM?C`UueyBQ&%Q)hu8_5uk>0;mA+M7 z^FuC3G;cj_nhC^ZD>qZq4GA!ljqjE0w*? z(72s-CEj+&2a(*4{lOE9W_0ul8F#X4pIQEVMPR(l+OVn#Vs28W5*{7y_^@GW&K8N% zCF`#IoDlS>Vd2D?0kMUay05OUYGGfx`C<}F>DBd7bNAo5aH40~k6D=)6RyubpqH4dHw`8nH-~VAk$sGl^*iyqcc^N6kM5OPzBwd+$G@|Ed9Xy37`syEg$b4J(rR5Ics^+PY>eseKTg+du z?n>p#-St)>`g`5{*DF*`2sCx6- zxl>n(-0#=Vx_TnoWy_iBzXh3c9Ugn;u&0+*${NQ$Zk0SLCp>j!b>^}a+!rHX{k{BV zt@VO#Jyoy#x_3!?6vSP8?6$JjRo$~RU$yOk{U+OWZ$0jM8@tAK+-thyx_Db@#2H4N zwha=8l0?Lc8M+lg?AD_)2a-5|Y_~*1c90ZDcOY0Ztm>rMbW}iW@rD_!I@8!7Zsj)Xy>TRgUB-UZt!EFXDJ>NFIOAD! zcX(Rs9IKmi3&qZ!n-!sRQAuZ~+=U!avf9?S;YL*A#!{8lNzU%370SCVn?-*Y=kgZ% z&f2x$V{)iR>Kd!ZIX`KT3#OwI~4y15sDtyjvT6<_fI?Kug;7kd~X^$Qv%Y3em-G-UQ=BsQ@7{WQr&ZN zUwGd1Ha`0^`Tcg??@CHHuCBZMcYo$o z7bF|aoB#Rvslzdf+pcKd1lpUoI4{a(UOnS`lkG9#D;ZRQ#Uz8LtDnm{r-UW|!QX)X literal 0 HcmV?d00001 diff --git a/test/equipment/pills_2.png.import b/test/equipment/pills_2.png.import new file mode 100644 index 0000000..9fca3ba --- /dev/null +++ b/test/equipment/pills_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://xsyjm71mya8e" +path="res://.godot/imported/pills_2.png-e9c4c2959521166bbfd7045a2ae4957a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://test/equipment/pills_2.png" +dest_files=["res://.godot/imported/pills_2.png-e9c4c2959521166bbfd7045a2ae4957a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/test/equipment/rifle.png b/test/equipment/rifle.png new file mode 100644 index 0000000000000000000000000000000000000000..fc1ef05fd88700445898c65a20e0570543b12ecd GIT binary patch literal 1830 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

d@N859f?^A_-~c$|zjJvRZ0Mw$1htm!%7 zMERH`yAUzDM26S=<1}B$2@Xm?z6H{zH6i_gQ_simW9*Buq%r%w}W7Mc( zlOvT@2A@eTfz<+MNw5@R(%hYQt1rJoZ5Y03c|2q7;P4LtLLqZ{)aCOIdL>e*FwY>i zK`uhg9J2^TxMyeC!0XPO2y%!<0zC(|2tt8~ML<#b8>_{}QO#M=h-99Bfk_h+DOMyH zXH^sHO}ycIrrgd$iCAh+ih2<)#PTa+r)-ye$U%Y64=Z z-~|KC^jrtN02p|*!i^ImMu*&K{PH2L2w$&Il%dBlB#=OVbWxk{E*3e8=o{pryFft1 z9P>c94jud+nuGSUP3Z|j%;=EYWnV58fm4gBA~4aJgat4`mW@bS2Oii*IbWP|XT`>p zp7d=_C6r19VO~KvAW$sTg!3CxzCO3Hb9B-YB;}{uZ?*J_!PZ^@ciJQ@<_@0Znw_*# zu<|3esmE{5ZAfW;c3tO#p*Ep`bL7z;pkY*AaL1a;bscL7HqoOzr+ukZ1hW2AMPL~; z1#P}x+D7k-Y-{1(WMsGS+-wj5B^1Tm-?Q<_VV)`YI>r z_g=t7SB1w?`z0A%=n?YNBCR;n1iOHQY#*|2ExZ6}PssY@Wh4?FSNwD&^9nXKOCG0f zJ}RA*W@ovs1YdHj#EIoq6DPI_VL0J)oPpm>Gd=z;%}$ym*aamrt2e5Okbv2()`^{b zi$a`nD<-BUUM|?w3>Bs)Tt7b5c2Opa%zDZ{EddiBW`B9Y0KobWGZ{mOe->uEft1n9 zqzud@k~e^Rz(#bAW3T)rmfyUBqo<=&;)*9{Tv11`iae2BF%j7^I0l6q95<2IsR{+- z=s5KZ?4slUP!2p=G~kDK9;$jbE9phSGALD+xUMASa=!<24tCzKQX$|Ydz{43P6@vA zY7zt5)%wESHL;;!7db*I0u7NRoGHvB>I$$mE9r5;IwY~;F4vlP0@zGaWkAGCQGf*`|7nja zuA^Xk>6Gt^zei<^+YnSCfI#Lqpig+^SxM=Fby$S>go!V{0G02@Y(0z;Xh81 zq_umh%5*)=-l`B-CDbmgLtYUfQJUQ}MX(NwE)+Q?nD}DD8o}gJ5$(b*|sBp027(h^9Om?`K^7sp`}bUl~K9Hk!Z3; zv9B`ssjK+*0p<&wgF$p2a^kAJ=h}F0ebdqF-dg;5zSA~VW)g)(WLwNqm4TS!yZsxG z09Ug)Pt@i2S?nY0QWsPLn?n{w5VmGFt9E7{HGGeWzl_RDywk4%zc2u2;{n`e4I>Oa z0?RIdzo87YhbGp7u#RP5`;csl!>TfH-UNYL{wAiWL_50Fq~%Q<+7Ue5>|4d4~(M4DZqzK9(xwPGNUGGKKg%)g!d6nTphCS2r;myT$bDXIvYu)Okv zzG4TSXYkCti>FPg@*oylpxhkGhq}{#Tx~~CIPK^2AFb0|6t5zBxJG>uJ6LMPK%ilA z@D1-+mQEHXUhJvjj9XcDv&o{0u<7WMwhq(dp~|y%Fqz~|d$uU%Bg}u)(^+<>IDY#I?h(RGQ%|?PoZBP#4FxQ_vc37~ zwg*K~FHzwS!C(kka40ystN$>;rjaTfPbe9k%uRG`Ct|-u0=TCO2VG`9 zah0WE5;E%s`xe|gB?b9H{PfLzswA5LWX_-402c1l6FgquXsn3!=6+oCa!D&qxaui7XHWZxZ_?>}uRY*PKkjhhq+B1;ELh_c1qJBir+UUwqfyeqt z??Pq$ni;@!EsP1UN_Ts_8%Z45NvF5uG`XHvrjaZOcx!q#Ut%slTEn zd6KETj;&;#;}`~lI`Y;R>KQu(tAI42TdjD#ZGnK_YT$)v=Jnn02L#I540M3T1PrU9 zF)h6J_w;K3kM`5;qng}?`YKDhHazwIL+@dQ!bPjtm@=J50bqT?M8|$Fwh3f(+|OVN zKp0MH+X4XrabAGB3Ex|lz_r>YW#}8u!GM(op+c+#$U8?iAp8xoSj%a$ynx}vchK^x zRv?)6dI}UyFUaSJvtWXUj5Ht2<-&&`Qd*hXwm@*ZY=7qk=s(Zu4>x4`C!+>RMKA#Y zVtEZ-C}6da8`e9<-e^gngV!qSU;VE}+<$_6VQxaq6aR+`fFUC5hD@*vxSSdBE-risA|GTm_KxANsK1w@ zgGNW8C=zoSeejih08_PZ+uBuu8U^r6!s#7S8R2B+s6dJX6!OE$2Yt6p0$WIy=SZf} zDc%N6cEyKvf^lqW>>Bw4GTcd{wqZk^dW=OGuvkSA-krwaL%6so1g9oYZn)`^Lme{4 zfnbg4c`zJ#s}1iZGROlg>C=GA1-}AIVYt~l)crT1UGP!|YD&RpQW?av>Uym_XDkm4 zzesMc{2@sMYV8{c;Mojo`-_EqmSLRX^$oF9y`H%Wp2o|CjYI0h(MFmnDaQQrxGLjTRBjd0r;-v!ZI!p<56B?0o znCwW5M+7X8?SYjfoLii9z_3$y=g>3JL!~VAh3#9N8DqQ#OD7B^YGlBlR7IK=JXg5# z6Vq(xL@_U6Ly0DmQoRsvN|075;+)uv-K6}I1tv>aow7kNl+Y^zrAGz=6oHg$$rt$; zICrATLXE4|EeX{9C#dC3z|a}r)pkG>sUoV(7#P780*oF+!Etwv6j%c3Oql&KEU?;O zNetI~2Tr}`{ZSZ|r~dO|@Ko`;kV4e32)&3Dk`=6n(7bZa9q5<1s4LDi6@oczx;{b$ zqG0GLJmD?KE}R4o_2PZ>B$bcpw@yf|enP}*)0D^SCVH>HuoV(Ma69cE(B@ki?HjSnIa!T>eZA z{ESC94X?8zI_HL*niX-<7&5u%fKK#2=;%g!#|Z zXG1y~epJqBul9yijgULT)}F?i-)}Mkutz3j)McB8`J3(4#p2%e_!1{CDU+b#x;5%I zw*@1dFrXQCzbYgErwK+&PKurHWtbWn3W%yrFoY zDk&&1vWwS`kv2YTg4HiHY(=n?x1opH&c z+MhS!m$^ycsT0y{6~TT*^O8X8|FlQ#SBt8CIfS1}r(QCJ8em*;st4OiGOC`(by$M^ zFOy*1Q5Ww`SWgYR=-<$wKwj49pX^r0nxu)TiFI*xKJ}Q_2=CE1zMF>B52UCH`sU9P u_S4_%@?7!b@|g!il&50000