From f8eb049d95927a9bab7b7c497d1eccd2d3b3711b Mon Sep 17 00:00:00 2001 From: TsubakiLoL <2789646812@qq.com> Date: Thu, 26 Sep 2024 17:54:02 +0800 Subject: [PATCH] =?UTF-8?q?9.26=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 | 35 +++- class/character_tool/character_tool.gd | 38 +++- json/card.json | 12 +- json/character.json | 5 +- res/shader/stroke.gdshader | 2 +- .../character_bag_selected.tres | 10 ++ res/ui/ui_004_character_bag/tuceng66mask.png | Bin 0 -> 22260 bytes .../tuceng66mask.png.import | 34 ++++ res/ui/ui_005_basic_message/图层100.png | Bin 0 -> 10619 bytes .../ui_005_basic_message/图层100.png.import | 34 ++++ res/ui/ui_005_basic_message/图层103.png | Bin 0 -> 29580 bytes .../ui_005_basic_message/图层103.png.import | 34 ++++ scene/basic_mes_skin_card.tscn | 59 +++++++ scene/basic_message.gd | 164 ++++++------------ scene/basic_message.tscn | 33 +++- scene/card.gd | 2 +- scene/character_bag.gd | 54 +++++- scene/character_bag.tscn | 59 ++----- scene/character_bag_card.gd | 9 +- scene/character_bag_card.tscn | 58 ++++--- 20 files changed, 433 insertions(+), 209 deletions(-) create mode 100644 res/ui/ui_004_character_bag/character_bag_selected.tres create mode 100644 res/ui/ui_004_character_bag/tuceng66mask.png create mode 100644 res/ui/ui_004_character_bag/tuceng66mask.png.import create mode 100644 res/ui/ui_005_basic_message/图层100.png create mode 100644 res/ui/ui_005_basic_message/图层100.png.import create mode 100644 res/ui/ui_005_basic_message/图层103.png create mode 100644 res/ui/ui_005_basic_message/图层103.png.import create mode 100644 scene/basic_mes_skin_card.tscn diff --git a/autoload/global/script/global.gd b/autoload/global/script/global.gd index 6496091..ab677d5 100644 --- a/autoload/global/script/global.gd +++ b/autoload/global/script/global.gd @@ -59,11 +59,36 @@ func delete_card(card_id:String)->bool: else: now_game_data["card_in_bag"].pop_at(ind) return true -#使用卡牌 -func use_card(card_data:Dictionary,target=null): +#使用卡牌,character为使用者,target为目标,card_data为使用的卡牌数据 +func use_card(card_data:Dictionary,user=null,target=null): print("执行了卡牌:\n"+str(card_data)+"\n目标"+str(target)) - - pass + if card_data.has("triger"): + for funcitem in card_data["triger"]: + var _func=Callable(self,funcitem.func) + var value:Array=funcitem.value.duplicate() + for i in value.size(): + if value[i] is String and value[i]=="user": + value[i]=user + elif value[i] is String and value[i]=="target": + value[i]=target + _func.callv(value) +##下面是例子 +##打击单位 +func hit(target,value): + if target is FightCharacterCard ||target is FightEnermyCard: + target.HP-=value +#打击全部单位 +func hit_all(value): + var all_character=now_fight_scene.get_all_unit() + for i in all_character: + i.HP-=value +#回血 +func recover(target,value): + if target is FightCharacterCard ||target is FightEnermyCard: + target.HP+=value + + + func get_all_card()->Array: return now_game_data["card_in_bag"].duplicate() func get_move_ability(): @@ -301,7 +326,7 @@ func get_character_data(id:String): else: return null #获取全部角色数据 -func get_all_character(id:String)->Dictionary: +func get_all_character()->Dictionary: return character_data.duplicate(true) #获取对应ID的地图数据 func get_map_data(id:String): diff --git a/class/character_tool/character_tool.gd b/class/character_tool/character_tool.gd index 2a754b8..33c6ecd 100644 --- a/class/character_tool/character_tool.gd +++ b/class/character_tool/character_tool.gd @@ -49,7 +49,6 @@ static func cacul_fight_attribute(character_data:Dictionary)->Dictionary: res["SP"]=INT+MND res["VIT"]=120 - pass return res pass @@ -61,8 +60,43 @@ static func get_character_name(character_data:Dictionary)->String: pass static func get_character_star_num(character_data:Dictionary)->int: return int(character_data["character"]["star"]) + +#修饰默认的角色数据,例如选择的皮肤,装备的卡片,选择的开局等 +#(修饰数据存储在玩家数据里,用户通过Global获取的角色数据应是修饰后的数据,更改角色时通过Global添加修饰器) +#"skin":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"]) + - pass + + + return res_data static func get_initiative_value(character_data:Dictionary)->int: var AGI=get_character_attribute(character_data,"AGI") return AGI/2+randi_range(-10,10) +static func get_character_type(character_data:Dictionary)->int: + return int(character_data["basic_mes"]["type"]) +static var attribute_key_to_name_dic:Dictionary={ + "CON":"体质", + "AGI":"敏捷", + "INT":"智力", + "WIS":"感知", + "STR":"力量", + "MND":"意志", + "LUC":"幸运", + "AM":"魅力", + "HP":"生命", + "SP":"精神", + "VIT":"体力" +} +##通过属性的键名获取显示名字 +static func get_name_by_attribute_key(key:String)->String: + if attribute_key_to_name_dic.has(key): + return attribute_key_to_name_dic[key] + else: + return key + diff --git a/json/card.json b/json/card.json index 20da438..dd0917a 100644 --- a/json/card.json +++ b/json/card.json @@ -4,20 +4,20 @@ "icon":"?", "target_queue":0, "cost":0, - "triger":{ - - } + "triger":[{"func":"recover","value":["target",20]}] }, "card_02":{ "name":"测试卡02(不需要目标,所有人掉20)", "icon":"?", - "cost":1 + "cost":1, + "triger":[{"func":"hit_all","value":[20]}] }, "card_03":{ - "name":"测试卡03(敌方目标)", + "name":"测试卡03(敌方目标掉10)", "icon":"?", "target_queue":1, - "cost":2 + "cost":2, + "triger":[{"func":"hit","value":["target",10]}] }, } diff --git a/json/character.json b/json/character.json index 05ba59d..5dc49e7 100644 --- a/json/character.json +++ b/json/character.json @@ -7,6 +7,7 @@ "skin":[ { "name":"皮肤1", + "skin_card_face":"test_character_tsubaki_head", "card_face":"test_character_tsubaki", "character":"test_character_tsubaki" } @@ -79,7 +80,7 @@ "skin_now_use":0 }, "basic_mes":{ - "script_category":"剧本类别", + "type":1, "place":"地点", "sex":0, "race":"种族", @@ -146,7 +147,7 @@ "skin_now_use":0 }, "basic_mes":{ - "script_category":"剧本类别", + "type":2, "place":"地点", "sex":0, "race":"种族", diff --git a/res/shader/stroke.gdshader b/res/shader/stroke.gdshader index 46f6c1c..681e05e 100644 --- a/res/shader/stroke.gdshader +++ b/res/shader/stroke.gdshader @@ -66,7 +66,7 @@ void fragment() { } } else{ - + COLOR.rgb=flashing_color.rgb; } } diff --git a/res/ui/ui_004_character_bag/character_bag_selected.tres b/res/ui/ui_004_character_bag/character_bag_selected.tres new file mode 100644 index 0000000..e2d4b78 --- /dev/null +++ b/res/ui/ui_004_character_bag/character_bag_selected.tres @@ -0,0 +1,10 @@ +[gd_resource type="StyleBoxTexture" load_steps=3 format=3 uid="uid://bwf0mbjhm621"] + +[sub_resource type="Gradient" id="Gradient_ht7bm"] +colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1) + +[sub_resource type="GradientTexture1D" id="GradientTexture1D_xx4c2"] +gradient = SubResource("Gradient_ht7bm") + +[resource] +texture = SubResource("GradientTexture1D_xx4c2") diff --git a/res/ui/ui_004_character_bag/tuceng66mask.png b/res/ui/ui_004_character_bag/tuceng66mask.png new file mode 100644 index 0000000000000000000000000000000000000000..bb36328c06c1cb315bf706ab902416837952afe3 GIT binary patch literal 22260 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 V@TjNJ2)+OS002ovPDHLkV1iGoDL4QC literal 0 HcmV?d00001 diff --git a/res/ui/ui_005_basic_message/图层100.png.import b/res/ui/ui_005_basic_message/图层100.png.import new file mode 100644 index 0000000..75dfd16 --- /dev/null +++ b/res/ui/ui_005_basic_message/图层100.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cmghc5oc3sqta" +path="res://.godot/imported/图层100.png-af14a0ae7f36fe7562eb20e6a917ea86.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_005_basic_message/图层100.png" +dest_files=["res://.godot/imported/图层100.png-af14a0ae7f36fe7562eb20e6a917ea86.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/res/ui/ui_005_basic_message/图层103.png b/res/ui/ui_005_basic_message/图层103.png new file mode 100644 index 0000000000000000000000000000000000000000..6441190d4c4c7a795d786d3afc5cda876d6054c5 GIT binary patch literal 29580 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 A9smFU literal 0 HcmV?d00001 diff --git a/res/ui/ui_005_basic_message/图层103.png.import b/res/ui/ui_005_basic_message/图层103.png.import new file mode 100644 index 0000000..ef6e0b3 --- /dev/null +++ b/res/ui/ui_005_basic_message/图层103.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dxdgwycpw4bta" +path="res://.godot/imported/图层103.png-a51c042a09711cc5cd305db7ebe73d5b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_005_basic_message/图层103.png" +dest_files=["res://.godot/imported/图层103.png-a51c042a09711cc5cd305db7ebe73d5b.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/scene/basic_mes_skin_card.tscn b/scene/basic_mes_skin_card.tscn new file mode 100644 index 0000000..0d32783 --- /dev/null +++ b/scene/basic_mes_skin_card.tscn @@ -0,0 +1,59 @@ +[gd_scene load_steps=6 format=3 uid="uid://c20vbhv7jcv8n"] + +[ext_resource type="Texture2D" uid="uid://b0souut27w2rq" path="res://res/ui/ui_005_basic_message/tuceng100.png" id="1_ilmd5"] +[ext_resource type="Texture2D" uid="uid://bd8ihwl2g1igc" path="res://res/ui/ui_005_basic_message/tuceng101.png" id="2_iqkdj"] +[ext_resource type="Texture2D" uid="uid://da4mwbefqkahf" path="res://test/texture/tsubaki_1.png" id="3_c88qw"] +[ext_resource type="Texture2D" uid="uid://baou8kmprfpwt" path="res://res/ui/ui_005_basic_message/tuceng103.png" id="4_yka8x"] +[ext_resource type="Texture2D" uid="uid://jp6na74ed4yn" path="res://res/ui/ui_005_basic_message/tuceng102.png" id="5_p12ec"] + +[node name="basic_mes_skin_card" type="TextureRect"] +offset_right = 40.0 +offset_bottom = 40.0 +texture = ExtResource("1_ilmd5") + +[node name="back" type="TextureRect" parent="."] +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("2_iqkdj") + +[node name="mask2" type="TextureRect" parent="."] +show_behind_parent = true +clip_children = 1 +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("2_iqkdj") + +[node name="skin_head" type="TextureRect" parent="mask2"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("3_c88qw") +expand_mode = 5 + +[node name="mask" type="TextureRect" parent="."] +layout_mode = 0 +offset_right = 40.0 +offset_bottom = 40.0 +texture = ExtResource("4_yka8x") + +[node name="lock" type="TextureRect" parent="."] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("5_p12ec") +stretch_mode = 3 diff --git a/scene/basic_message.gd b/scene/basic_message.gd index 31b33da..8f5970b 100644 --- a/scene/basic_message.gd +++ b/scene/basic_message.gd @@ -2,89 +2,8 @@ extends Control 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") -var data={ - "character":{ - "name":"角色名字", - "star":5, - "skin":[ - { - "name":"皮肤1", - "card_face":"卡面图片路径", - "character":"角色图片路径" - } - ], - "skin_now_use":0 - }, - "basic_mes":{ - "script_category":"剧本类别", - "place":"地点", - "sex":0, #0为男,1为女 - "race":"种族", - "birthday":"xxxx-xx-xx", - - "introduction":"这是一个介绍", - "basic_attribute":[ - { - "name":"体质", - "value":100, - }, - { - "name":"敏捷", - "value":100, - }, - { - "name":"智力", - "value":100, - }, - { - "name":"感知", - "value":100, - }, - ], - "fight_attribute":[ - { - "name":"生命", - "value":100, - }, - { - "name":"精神", - "value":100, - }, - { - "name":"物理攻击", - "value":100, - }, - { - "name":"法术强度", - "value":100, - }, - ] - }, - "special":[ - { - "name":"倾国倾城", - "introduction":"鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果" - } - ], - "ability":[ - { - "name":"武学 LV3", - "introduction":"鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果鼠标点击显示具体效果" - } - ], - - "favor":[{ - "name":"姐姐", - "value":100 - } - ], - "reputation":[ - { - "name":"某地区", - "value":100 - } - ] -} +const BASIC_MES_SKIN_CARD = preload("res://scene/basic_mes_skin_card.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 @@ -93,28 +12,45 @@ func init_from_data(): i.queue_free() for i in %ability_container.get_children(): i.queue_free() - if data.has("basic_mes"): - var basic_data=data["basic_mes"] - %category.text=basic_data["script_category"] - %place.text=basic_data["place"] - #缺少性别 - %race.text=basic_data["race"] - %birthday.text=basic_data["birthday"] - %introduction.text=basic_data["introduction"] - var basic_attribute=basic_data["basic_attribute"] - var fight_attribute=basic_data["fight_attribute"] - for i in %basic_attribute.get_children(): - i.queue_free() - for i in %fight_attribute.get_children(): - i.queue_free() - for i in basic_attribute: - var new_attribute=ATTRIBUTE.instantiate() - new_attribute.data=i - %basic_attribute.add_child(new_attribute) - for i in fight_attribute: - var new_attribute=ATTRIBUTE.instantiate() - new_attribute.data=i - %fight_attribute.add_child(new_attribute) + %character.texture=Global.get_texture(CharacterTool.get_skin_now_use_data(data)["character"]) + var basic_data=data["basic_mes"] + match int(basic_data["type"]): + 0: + %category.text="历史" + 1: + %category.text="奇幻" + 2: + %category.text="现实" + 3: + %category.text="末世" + %place.text=basic_data["place"] + #缺少性别 + %race.text=basic_data["race"] + %birthday.text=basic_data["birthday"] + %introduction.text=basic_data["introduction"] + + var basic_attribute:Dictionary=data["basic_attribute"] + var fight_attribute:Dictionary={} + if data.has("fight_attribute"): + fight_attribute=data["fight_attribute"] + for i in %basic_attribute.get_children(): + i.queue_free() + for i in %fight_attribute.get_children(): + i.queue_free() + for i in basic_attribute.keys(): + var new_attribute=ATTRIBUTE.instantiate() + new_attribute.data={ + "name":CharacterTool.get_name_by_attribute_key(i), + "value":basic_attribute[i] + } + %basic_attribute.add_child(new_attribute) + for i in fight_attribute.keys(): + var new_attribute=ATTRIBUTE.instantiate() + new_attribute.data={ + "name":CharacterTool.get_name_by_attribute_key(i), + "value":basic_attribute[i] + } + %fight_attribute.add_child(new_attribute) pass if data.has("special"): var special_data=data["special"] @@ -156,13 +92,17 @@ 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) - - pass func connect_button(): for i in button_group.size(): button_group[i].pressed.connect(selected.bind(i)) - - pass + +#当第几个皮肤卡片被点击时 +func skin_card_click(skin_index:int): + + + + pass + func selected(ind:int): if now_selected_button!=null: var new_st=StyleBoxEmpty.new() @@ -179,5 +119,11 @@ func selected(ind:int): pass func _ready() -> void: + data=Global.get_character_data("test_character_01") init_from_data() connect_button() + + +func _on_back_button_pressed() -> void: + self.hide() + pass # Replace with function body. diff --git a/scene/basic_message.tscn b/scene/basic_message.tscn index 9a9d73d..ffece8b 100644 --- a/scene/basic_message.tscn +++ b/scene/basic_message.tscn @@ -1,10 +1,11 @@ -[gd_scene load_steps=59 format=3 uid="uid://chh7gr3qbkr8u"] +[gd_scene load_steps=60 format=3 uid="uid://chh7gr3qbkr8u"] [ext_resource type="Script" path="res://scene/basic_message.gd" id="1_0470d"] [ext_resource type="Texture2D" uid="uid://dygka5vk5qdhs" path="res://res/ui/ui_005_basic_message/tuceng2.png" id="1_vhe21"] [ext_resource type="Texture2D" uid="uid://vbtkrk0b8c3u" path="res://res/ui/ui_005_basic_message/tuceng97.png" id="2_u0tfq"] [ext_resource type="Texture2D" uid="uid://drgfs6epv0jqd" path="res://res/ui/ui_005_basic_message/tuceng92.png" id="3_5dvp4"] [ext_resource type="Texture2D" uid="uid://d3meg8ge874u8" path="res://res/ui/ui_004_character_bag/tuceng67.png" id="4_el6g3"] +[ext_resource type="PackedScene" uid="uid://c20vbhv7jcv8n" path="res://scene/basic_mes_skin_card.tscn" id="4_tg3wv"] [ext_resource type="Texture2D" uid="uid://hpogdw4jv6rl" path="res://res/ui/ui_005_basic_message/tuceng177.png" id="5_5lslk"] [ext_resource type="Texture2D" uid="uid://c6ftnvo1gl1o7" path="res://res/ui/ui_005_basic_message/tuceng127.png" id="6_s8ry1"] [ext_resource type="Texture2D" uid="uid://djaebws5opaql" path="res://res/ui/ui_005_basic_message/tuceng95.png" id="7_a1x8x"] @@ -148,11 +149,29 @@ layout_mode = 2 horizontal_scroll_mode = 0 vertical_scroll_mode = 3 -[node name="VBoxContainer" type="VBoxContainer" parent="panel/MarginContainer/ScrollContainer"] +[node name="skin_card_add_pos" type="VBoxContainer" parent="panel/MarginContainer/ScrollContainer"] +unique_name_in_owner = true layout_mode = 2 size_flags_horizontal = 3 +theme_override_constants/separation = 20 + +[node name="basic_mes_skin_card" parent="panel/MarginContainer/ScrollContainer/skin_card_add_pos" instance=ExtResource("4_tg3wv")] +layout_mode = 2 + +[node name="basic_mes_skin_card2" parent="panel/MarginContainer/ScrollContainer/skin_card_add_pos" instance=ExtResource("4_tg3wv")] +layout_mode = 2 + +[node name="basic_mes_skin_card3" parent="panel/MarginContainer/ScrollContainer/skin_card_add_pos" instance=ExtResource("4_tg3wv")] +layout_mode = 2 + +[node name="basic_mes_skin_card4" parent="panel/MarginContainer/ScrollContainer/skin_card_add_pos" instance=ExtResource("4_tg3wv")] +layout_mode = 2 + +[node name="basic_mes_skin_card5" parent="panel/MarginContainer/ScrollContainer/skin_card_add_pos" instance=ExtResource("4_tg3wv")] +layout_mode = 2 [node name="character" type="TextureRect" parent="."] +unique_name_in_owner = true layout_mode = 1 anchors_preset = -1 anchor_left = 0.290417 @@ -336,12 +355,11 @@ layout_mode = 2 size_flags_vertical = 3 size_flags_stretch_ratio = 939.0 theme_override_styles/panel = SubResource("StyleBoxEmpty_81i7t") -current_tab = 4 +current_tab = 0 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 @@ -1622,6 +1640,7 @@ text = "9999" vertical_alignment = 1 [node name="skill_config" type="MarginContainer" parent="VBoxContainer/TabContainer"] +visible = false layout_mode = 2 theme_override_constants/margin_left = 54 theme_override_constants/margin_top = 8 @@ -2110,8 +2129,8 @@ unique_name_in_owner = true layout_mode = 1 anchors_preset = -1 anchor_left = 0.0392927 -anchor_right = 1.0 -anchor_bottom = 1.0 +anchor_right = 1.28684 +anchor_bottom = 0.999999 grow_horizontal = 2 grow_vertical = 2 theme_override_colors/font_color = Color(1, 1, 1, 1) @@ -2132,3 +2151,5 @@ focus_mode = 0 icon = ExtResource("21_boe0q") flat = true metadata/_edit_use_anchors_ = true + +[connection signal="pressed" from="back_button" to="." method="_on_back_button_pressed"] diff --git a/scene/card.gd b/scene/card.gd index a296569..314fdbe 100644 --- a/scene/card.gd +++ b/scene/card.gd @@ -102,7 +102,7 @@ func exe(): await move_finished_sig show_big() await get_tree().create_timer(0.2).timeout - Global.use_card(data,target) + Global.use_card(data,Global.now_fight_scene.user,target) await get_tree().create_timer(0.2).timeout down() print("执行完毕") diff --git a/scene/character_bag.gd b/scene/character_bag.gd index 2020b7b..5d0717e 100644 --- a/scene/character_bag.gd +++ b/scene/character_bag.gd @@ -1,16 +1,64 @@ extends Control const CHARACTER_BAG_CARD = preload("res://scene/character_bag_card.tscn") - +const CHARACTER_BAG_SELECTED:StyleBoxTexture = preload("res://res/ui/ui_004_character_bag/character_bag_selected.tres") +@onready var btn_panel_group:Array[PanelContainer]=[$NinePatchRect2/MarginContainer/VBoxContainer/PanelContainer, $NinePatchRect2/MarginContainer/VBoxContainer/PanelContainer2, $NinePatchRect2/MarginContainer/VBoxContainer/PanelContainer3, $NinePatchRect2/MarginContainer/VBoxContainer/PanelContainer4, $NinePatchRect2/MarginContainer/VBoxContainer/PanelContainer5] +var data:Dictionary +var now_select_index:int=-1: + set(val): + if now_select_index!=val: + select(now_select_index,val) + now_select_index=val func _ready() -> void: - + refresh() + select(-1,-1) pass +func select(before:int,ind:int): + btn_panel_group[before+1].add_theme_stylebox_override("panel",StyleBoxEmpty.new()) + btn_panel_group[ind+1].add_theme_stylebox_override("panel",CHARACTER_BAG_SELECTED) + for i in %card_add_pos.get_children(): + i.queue_free() + for i in data.values(): + if CharacterTool.get_character_type(i)==ind ||ind==-1: + var new_card=CHARACTER_BAG_CARD.instantiate() + new_card.data=i + %card_add_pos.add_child(new_card) + + pass + + + pass func _on_back_btn_pressed() -> void: get_parent().change_open(false) pass # Replace with function body. func refresh(): - + data=Global.get_all_character() pass + + +func _on_all_pressed() -> void: + now_select_index=-1 + pass # Replace with function body. + + +func _on_history_pressed() -> void: + now_select_index=0 + pass # Replace with function body. + + +func _on_fantasy_pressed() -> void: + now_select_index=1 + pass # Replace with function body. + + +func _on_reality_pressed() -> void: + now_select_index=2 + pass # Replace with function body. + + +func _on_eschatological_pressed() -> void: + now_select_index=3 + pass # Replace with function body. diff --git a/scene/character_bag.tscn b/scene/character_bag.tscn index 39438f8..5bef817 100644 --- a/scene/character_bag.tscn +++ b/scene/character_bag.tscn @@ -1,33 +1,24 @@ -[gd_scene load_steps=21 format=3 uid="uid://cgl1vcdusqroq"] +[gd_scene load_steps=18 format=3 uid="uid://cgl1vcdusqroq"] [ext_resource type="Texture2D" uid="uid://bxbwbvgbfntiv" path="res://res/ui/ui_004_character_bag/tuceng1.png" id="1_688g7"] [ext_resource type="Script" path="res://scene/character_bag.gd" id="1_e5f2o"] [ext_resource type="Texture2D" uid="uid://bt5qrcsynsp6j" path="res://res/ui/ui_004_character_bag/tuceng231.png" id="2_bq8dd"] [ext_resource type="Texture2D" uid="uid://bi4qd4hkdm4wb" path="res://res/ui/ui_004_character_bag/tuceng35.png" id="3_m44x5"] -[ext_resource type="PackedScene" uid="uid://dacsn16xvd4dj" path="res://scene/character_bag_card.tscn" id="4_i7p8r"] [ext_resource type="Texture2D" uid="uid://blv4q1cix0hu0" path="res://res/ui/ui_004_character_bag/tuceng42.png" id="4_us8ay"] [ext_resource type="Texture2D" uid="uid://cxo6pmp6bo4nf" path="res://res/ui/ui_004_character_bag/tuceng43.png" id="6_gxmw5"] [ext_resource type="PackedScene" uid="uid://bdlo2wn4qnygv" path="res://scene/tool/tool_button.tscn" id="7_6v0oc"] [ext_resource type="Texture2D" uid="uid://13ed8w6scsgo" path="res://res/ui/ui_004_character_bag/tuceng38.png" id="7_piio5"] [ext_resource type="Texture2D" uid="uid://ddwgjg72ivkwn" path="res://res/ui/ui_004_character_bag/tuceng39.png" id="8_pn6mv"] [ext_resource type="Texture2D" uid="uid://p68ycyicgxxe" path="res://res/ui/ui_004_character_bag/tuceng40.png" id="9_tg2kw"] +[ext_resource type="StyleBox" uid="uid://bwf0mbjhm621" path="res://res/ui/ui_004_character_bag/character_bag_selected.tres" id="10_642jd"] [ext_resource type="Texture2D" uid="uid://bq23yis2bwf3d" path="res://res/ui/ui_004_character_bag/tuceng41.png" id="10_ijoj6"] [ext_resource type="PackedScene" uid="uid://chh7gr3qbkr8u" path="res://scene/basic_message.tscn" id="13_lbwxs"] -[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_3l4tb"] - [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_7x5v6"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_yu86v"] -[sub_resource type="Gradient" id="Gradient_ht7bm"] -colors = PackedColorArray(1, 1, 1, 0, 1, 1, 1, 1) - -[sub_resource type="GradientTexture1D" id="GradientTexture1D_xx4c2"] -gradient = SubResource("Gradient_ht7bm") - -[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_26agh"] -texture = SubResource("GradientTexture1D_xx4c2") +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_n7qmw"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_xo627"] @@ -99,39 +90,6 @@ layout_mode = 2 size_flags_horizontal = 3 size_flags_vertical = 0 -[node name="TextureRect" parent="NinePatchRect/MarginContainer/ScrollContainer/card_add_pos" instance=ExtResource("4_i7p8r")] -layout_mode = 2 - -[node name="TextureRect2" parent="NinePatchRect/MarginContainer/ScrollContainer/card_add_pos" instance=ExtResource("4_i7p8r")] -layout_mode = 2 - -[node name="TextureRect3" parent="NinePatchRect/MarginContainer/ScrollContainer/card_add_pos" instance=ExtResource("4_i7p8r")] -layout_mode = 2 - -[node name="TextureRect4" parent="NinePatchRect/MarginContainer/ScrollContainer/card_add_pos" instance=ExtResource("4_i7p8r")] -layout_mode = 2 - -[node name="TextureRect5" parent="NinePatchRect/MarginContainer/ScrollContainer/card_add_pos" instance=ExtResource("4_i7p8r")] -layout_mode = 2 - -[node name="TextureRect6" parent="NinePatchRect/MarginContainer/ScrollContainer/card_add_pos" instance=ExtResource("4_i7p8r")] -layout_mode = 2 - -[node name="TextureRect7" parent="NinePatchRect/MarginContainer/ScrollContainer/card_add_pos" instance=ExtResource("4_i7p8r")] -layout_mode = 2 - -[node name="TextureRect8" parent="NinePatchRect/MarginContainer/ScrollContainer/card_add_pos" instance=ExtResource("4_i7p8r")] -layout_mode = 2 - -[node name="TextureRect9" parent="NinePatchRect/MarginContainer/ScrollContainer/card_add_pos" instance=ExtResource("4_i7p8r")] -layout_mode = 2 - -[node name="TextureRect10" parent="NinePatchRect/MarginContainer/ScrollContainer/card_add_pos" instance=ExtResource("4_i7p8r")] -layout_mode = 2 - -[node name="TextureRect11" parent="NinePatchRect/MarginContainer/ScrollContainer/card_add_pos" instance=ExtResource("4_i7p8r")] -layout_mode = 2 - [node name="NinePatchRect2" type="NinePatchRect" parent="."] layout_mode = 0 anchor_left = 0.839063 @@ -158,7 +116,7 @@ layout_mode = 2 custom_minimum_size = Vector2(0, 100) layout_mode = 2 size_flags_vertical = 0 -theme_override_styles/panel = SubResource("StyleBoxEmpty_3l4tb") +theme_override_styles/panel = ExtResource("10_642jd") [node name="HBoxContainer" type="HBoxContainer" parent="NinePatchRect2/MarginContainer/VBoxContainer/PanelContainer"] layout_mode = 2 @@ -237,7 +195,7 @@ layout_mode = 2 [node name="PanelContainer4" type="PanelContainer" parent="NinePatchRect2/MarginContainer/VBoxContainer"] custom_minimum_size = Vector2(0, 100) layout_mode = 2 -theme_override_styles/panel = SubResource("StyleBoxTexture_26agh") +theme_override_styles/panel = SubResource("StyleBoxEmpty_n7qmw") [node name="HBoxContainer4" type="HBoxContainer" parent="NinePatchRect2/MarginContainer/VBoxContainer/PanelContainer4"] layout_mode = 2 @@ -283,7 +241,7 @@ size_flags_stretch_ratio = 3.0 theme_override_font_sizes/font_size = 34 text = "末世" -[node name="ToolButton" parent="NinePatchRect2/MarginContainer/VBoxContainer/PanelContainer5" instance=ExtResource("7_6v0oc")] +[node name="eschatological" parent="NinePatchRect2/MarginContainer/VBoxContainer/PanelContainer5" instance=ExtResource("7_6v0oc")] layout_mode = 2 [node name="basic_mes" parent="." instance=ExtResource("13_lbwxs")] @@ -292,3 +250,8 @@ visible = false layout_mode = 1 [connection signal="pressed" from="back_texture/back_btn" to="." method="_on_back_btn_pressed"] +[connection signal="pressed" from="NinePatchRect2/MarginContainer/VBoxContainer/PanelContainer/all" to="." method="_on_all_pressed"] +[connection signal="pressed" from="NinePatchRect2/MarginContainer/VBoxContainer/PanelContainer2/history" to="." method="_on_history_pressed"] +[connection signal="pressed" from="NinePatchRect2/MarginContainer/VBoxContainer/PanelContainer3/fantasy" to="." method="_on_fantasy_pressed"] +[connection signal="pressed" from="NinePatchRect2/MarginContainer/VBoxContainer/PanelContainer4/reality" to="." method="_on_reality_pressed"] +[connection signal="pressed" from="NinePatchRect2/MarginContainer/VBoxContainer/PanelContainer5/eschatological" to="." method="_on_eschatological_pressed"] diff --git a/scene/character_bag_card.gd b/scene/character_bag_card.gd index eb0c72c..0d9bf25 100644 --- a/scene/character_bag_card.gd +++ b/scene/character_bag_card.gd @@ -14,17 +14,16 @@ func set_star_num(num:int): star_group[i].hide() pass #设置卡面 -func set_face(path:String): - var new_face=load(path) - if new_face!=null and new_face is Texture2D: - %texture_face.texture=new_face +func set_face(icon): + %texture_face.texture=icon #设置名字 func set_character_name(n:String): %n.text=n pass func _ready() -> void: + data=Global.get_character_data("test_character_01") set_star_num(CharacterTool.get_character_star_num(data)) - set_face(CharacterTool.get_skin_now_use_data(data)["card_face"]) + set_face(Global.get_texture(CharacterTool.get_skin_now_use_data(data)["card_face"])) set_character_name(CharacterTool.get_character_name(data)) diff --git a/scene/character_bag_card.tscn b/scene/character_bag_card.tscn index 970f5e3..a61f455 100644 --- a/scene/character_bag_card.tscn +++ b/scene/character_bag_card.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=8 format=3 uid="uid://dacsn16xvd4dj"] +[gd_scene load_steps=9 format=3 uid="uid://dacsn16xvd4dj"] [ext_resource type="Texture2D" uid="uid://5tl46hgyvw0n" path="res://res/ui/ui_004_character_bag/tuceng71.png" id="1_k4ylg"] [ext_resource type="Script" path="res://scene/character_bag_card.gd" id="2_47isi"] @@ -6,6 +6,7 @@ [ext_resource type="Texture2D" uid="uid://ckbu37n5w8de8" path="res://res/ui/ui_004_character_bag/tuceng3.png" id="3_b4wi7"] [ext_resource type="Texture2D" uid="uid://b2wy134i3get4" path="res://res/ui/ui_004_character_bag/tuceng66.png" id="4_5677t"] [ext_resource type="Texture2D" uid="uid://d3meg8ge874u8" path="res://res/ui/ui_004_character_bag/tuceng67.png" id="5_ahpsw"] +[ext_resource type="Texture2D" uid="uid://bupgbmnm0chtk" path="res://res/ui/ui_004_character_bag/tuceng66mask.png" id="5_vli6j"] [ext_resource type="PackedScene" uid="uid://bdlo2wn4qnygv" path="res://scene/tool/tool_button.tscn" id="7_emrhq"] [node name="TextureRect" type="TextureRect"] @@ -18,29 +19,18 @@ script = ExtResource("2_47isi") metadata/_edit_use_anchors_ = true [node name="mask" type="TextureRect" parent="."] -clip_contents = true layout_mode = 1 anchors_preset = -1 anchor_left = 0.116364 anchor_top = 0.0741525 -anchor_right = 0.865455 -anchor_bottom = 0.891949 -texture = ExtResource("4_5677t") -stretch_mode = 5 -metadata/_edit_use_anchors_ = true - -[node name="texture_face" type="TextureRect" parent="mask"] -unique_name_in_owner = true -show_behind_parent = true -layout_mode = 1 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 +anchor_right = 0.865 +anchor_bottom = 0.908 +offset_right = 0.125107 +offset_bottom = -7.57608 grow_horizontal = 2 grow_vertical = 2 -texture = ExtResource("2_jooco") -expand_mode = 1 -stretch_mode = 6 +texture = ExtResource("4_5677t") +stretch_mode = 5 [node name="TextureRect" type="TextureRect" parent="mask"] show_behind_parent = true @@ -54,6 +44,31 @@ grow_vertical = 2 texture = ExtResource("3_b4wi7") metadata/_edit_use_anchors_ = true +[node name="mask" type="TextureRect" parent="mask"] +show_behind_parent = true +clip_children = 1 +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("5_vli6j") +expand_mode = 1 + +[node name="texture_face" type="TextureRect" parent="mask/mask"] +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("2_jooco") +expand_mode = 1 +stretch_mode = 6 + [node name="HBoxContainer" type="HBoxContainer" parent="mask"] layout_mode = 1 anchors_preset = -1 @@ -97,10 +112,11 @@ layout_mode = 1 [node name="n" type="Label" parent="."] unique_name_in_owner = true -layout_mode = 0 -anchor_left = 0.327273 +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.116364 anchor_top = 0.894068 -anchor_right = 0.665455 +anchor_right = 0.865455 anchor_bottom = 0.942797 text = "角色名字" horizontal_alignment = 1