diff --git a/class/tool/DrawerContainer.gd b/class/tool/DrawerContainer.gd new file mode 100644 index 0000000..2e6d3d6 --- /dev/null +++ b/class/tool/DrawerContainer.gd @@ -0,0 +1,244 @@ +@tool +extends Container +##抽屉容器节点,可以用于将子节点侧滑,开启clip content可以做到完全隐藏子节点 +class_name DrawerContainer +##按钮大小 +@export var custom_button_size:Vector2=Vector2.ZERO: + set(val): + custom_button_size=val + side_button_size_changed() + fit_children() + fit_side_button() +var button_size:Vector2=Vector2(100,200): + set(val): + button_size=val + fit_children() + fit_side_button() +##按钮场景,根节点必须为basebutton或继承自basebutton,留空则使用默认按钮 +@export var button_tscn:PackedScene +##布局模式 +@export var button_model:BUTTON_MODEL=BUTTON_MODEL.TOP +enum BUTTON_MODEL{ + ##按钮在上方,向下收纳 + TOP=0, + ##按钮在下方,向上收纳 + END=1, + ##按钮在左方,向右收纳 + LEFT=2, + ##按钮在右方,向左收纳 + RIGHT=3, +} +##动画时间 +@export var animation_time:float=0.5 +##是否自动隐藏 +@export var is_auto_hide:bool=false +#隐藏计时器 +@onready var hide_timer:Timer=Timer.new() +##是否自动收缩 +@export var is_auto_shrink:bool=false +##是否禁用按钮 +@export var disable_button:bool=false: + set(val): + disable_button=val + fit_side_button() + fit_side_button() + if side_button!=null: + if val : + side_button.hide() + else: + side_button.show() +##动画过渡模式 +@export var animation_model:Tween.TransitionType=Tween.TransitionType.TRANS_BACK +##当前持有的动画 +var now_keep_tween:Tween +##当前是否打开 +@export var is_open:bool=true +##持有的抽屉控制按钮的实例(内部节点) +var side_button:BaseButton + +##获取当前持有的侧边按钮 +func get_side_button()->BaseButton: + return side_button + +##当前动画状态,0为完全打开,1为完全关闭 +@export var rag:float=0: + set(val): + rag=val + fit_side_button() + fit_children() + minimum_size_changed.emit() +func _ready() -> void: + add_child(hide_timer,false,Node.INTERNAL_MODE_FRONT) + hide_timer.one_shot=true + hide_timer.timeout.connect(hide_time_out) + if is_open: + rag=0 + else: + rag=1 + if button_tscn!=null: + var new_btn=button_tscn.instantiate() + if new_btn is BaseButton: + side_button=new_btn + add_child(new_btn,false,Node.INTERNAL_MODE_FRONT) + else: + new_btn=Button.new() + side_button=new_btn + add_child(new_btn,false,Node.INTERNAL_MODE_FRONT) + else: + var new_btn=Button.new() + side_button=new_btn + add_child(new_btn,false,Node.INTERNAL_MODE_FRONT) + side_button.pressed.connect(change_open) + side_button.minimum_size_changed.connect(side_button_size_changed) + side_button_size_changed() + if disable_button: + side_button.hide() + resized.connect(resize) + resize() + _re_ready() + pass # Replace with function body. +##因为占用了ready函数,所以留了一个新的虚函数给使用节点重写 +func _re_ready()->void: + + + + pass +##对侧边栏按钮进行适配 +func fit_side_button()->void: + var rect:Rect2 + if side_button!=null: + match button_model: + BUTTON_MODEL.TOP: + rect=Rect2(0,(size.y-button_size.y)*rag,size.x,button_size.y) + BUTTON_MODEL.END: + rect=Rect2(0,(size.y-button_size.y)*(1-rag),size.x,button_size.y) + BUTTON_MODEL.LEFT: + rect=Rect2((size.x-button_size.x)*rag,0,button_size.x,size.y) + BUTTON_MODEL.RIGHT: + rect=Rect2((size.x-button_size.x)*(1-rag),0,button_size.x,size.y) + + _: + rect=Rect2() + fit_child_in_rect(side_button,rect) +##对子节点进行适配 +func fit_children()->void: + var rect:Rect2 + if !disable_button: + match button_model: + BUTTON_MODEL.TOP: + rect=Rect2(0,(size.y-button_size.y)*rag+button_size.y,size.x,size.y-button_size.y) + BUTTON_MODEL.END: + rect=Rect2(0,(size.y-button_size.y)*(-rag),size.x,size.y-button_size.y) + BUTTON_MODEL.LEFT: + rect=Rect2((size.x-button_size.x)*rag+button_size.x,0,size.x-button_size.x,size.y) + BUTTON_MODEL.RIGHT: + rect=Rect2((size.x-button_size.x)*(-rag),0,size.x-button_size.x,size.y) + _: + rect=Rect2() + else: + match button_model: + BUTTON_MODEL.TOP: + rect=Rect2(0,(size.y)*rag+button_size.y,size.x,size.y) + BUTTON_MODEL.END: + rect=Rect2(0,(size.y)*(-rag),size.x,size.y) + BUTTON_MODEL.LEFT: + rect=Rect2((size.x)*rag,0,size.x,size.y) + BUTTON_MODEL.RIGHT: + rect=Rect2((size.x)*(-rag),0,size.x,size.y) + _: + rect=Rect2() + + + pass + for i in get_children(): + if i is Control: + fit_child_in_rect(i,rect) + +##更改窗口的开闭状态,使用动画 +func change_open(): + if now_keep_tween!=null: + now_keep_tween.kill() + if is_open: + if is_auto_hide: + hide_timer.start(animation_time) + pass + now_keep_tween=create_tween() + now_keep_tween.set_trans(animation_model) + now_keep_tween.tween_property(self,"rag",1,animation_time) + else: + now_keep_tween=create_tween() + now_keep_tween.set_trans(animation_model) + now_keep_tween.tween_property(self,"rag",0,animation_time) + if is_auto_hide: + show() + hide_timer.stop() + is_open=!is_open + + + + pass +##当此节点大小改变时触发 +func resize(): + fit_side_button() + fit_children() +##重写的虚函数,用于获取当前节点的最小大小 +func _get_minimum_size() -> Vector2: + var res:Vector2=Vector2.ZERO + + for i in get_children(): + if i is Control: + var i_size:Vector2=i.get_minimum_size() + res=Vector2(max(res.x,i_size.x),max(res.y,i_size.y)) + if not is_auto_shrink: + if !disable_button: + match button_model: + BUTTON_MODEL.TOP: + res=Vector2(max(res.x,button_size.x),res.y+button_size.y) + BUTTON_MODEL.END: + res=Vector2(max(res.x,button_size.x),res.y+button_size.y) + BUTTON_MODEL.LEFT: + res=Vector2(res.x+button_size.x,max(res.y,button_size.y)) + BUTTON_MODEL.RIGHT: + res=Vector2(res.x+button_size.x,max(res.y,button_size.y)) + _: + res=Vector2.ZERO + else: + if !disable_button: + match button_model: + BUTTON_MODEL.TOP: + res=Vector2(max(res.x,button_size.x),res.y*rag+button_size.y) + BUTTON_MODEL.END: + res=Vector2(max(res.x,button_size.x),res.y*rag+button_size.y) + BUTTON_MODEL.LEFT: + res=Vector2(res.x*rag+button_size.x,max(res.y,button_size.y)) + BUTTON_MODEL.RIGHT: + res=Vector2(res.x*rag+button_size.x,max(res.y,button_size.y)) + _: + res=Vector2.ZERO + else: + match button_model: + BUTTON_MODEL.TOP: + res=Vector2(res.x,res.y*(1-rag)) + BUTTON_MODEL.END: + res=Vector2(res.x*rag,res.y*(1-rag)) + BUTTON_MODEL.LEFT: + res=Vector2(res.x*(1-rag),res.y) + BUTTON_MODEL.RIGHT: + res=Vector2(res.x*rag,res.y*(1-rag)) + _: + res=Vector2.ZERO + pass + + return res +##当侧边栏按钮大小更改时调用 +func side_button_size_changed()->void: + if side_button: + var new_size=side_button.get_minimum_size() + button_size=Vector2(max(custom_button_size.x,new_size.x),max(custom_button_size.y,new_size.y)) + +func _process(delta: float) -> void: + if Engine.is_editor_hint(): + fit_children() + pass +func hide_time_out(): + hide() diff --git a/res/ui/ui_018_difficulty_selection/tuceng2.png b/res/ui/ui_018_difficulty_selection/tuceng2.png new file mode 100644 index 0000000..49eba18 Binary files /dev/null and b/res/ui/ui_018_difficulty_selection/tuceng2.png differ diff --git a/res/ui/ui_018_difficulty_selection/tuceng2.png.import b/res/ui/ui_018_difficulty_selection/tuceng2.png.import new file mode 100644 index 0000000..7f13087 --- /dev/null +++ b/res/ui/ui_018_difficulty_selection/tuceng2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dic3n66ae0gri" +path="res://.godot/imported/tuceng2.png-9992737cbb0ad9e094bd45f5709dec22.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_018_difficulty_selection/tuceng2.png" +dest_files=["res://.godot/imported/tuceng2.png-9992737cbb0ad9e094bd45f5709dec22.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_019_game_flow/juxing505.png b/res/ui/ui_019_game_flow/juxing505.png new file mode 100644 index 0000000..69e49d7 Binary files /dev/null and b/res/ui/ui_019_game_flow/juxing505.png differ diff --git a/res/ui/ui_019_game_flow/juxing505.png.import b/res/ui/ui_019_game_flow/juxing505.png.import new file mode 100644 index 0000000..9deccc3 --- /dev/null +++ b/res/ui/ui_019_game_flow/juxing505.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bfxq2lfnecjue" +path="res://.godot/imported/juxing505.png-d69a7ee91b1d8026d1456fa275f93189.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/juxing505.png" +dest_files=["res://.godot/imported/juxing505.png-d69a7ee91b1d8026d1456fa275f93189.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_019_game_flow/juxing507.png b/res/ui/ui_019_game_flow/juxing507.png new file mode 100644 index 0000000..7cda0e6 Binary files /dev/null and b/res/ui/ui_019_game_flow/juxing507.png differ diff --git a/res/ui/ui_019_game_flow/juxing507.png.import b/res/ui/ui_019_game_flow/juxing507.png.import new file mode 100644 index 0000000..4b021dc --- /dev/null +++ b/res/ui/ui_019_game_flow/juxing507.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://78rjb4sv4jrp" +path="res://.godot/imported/juxing507.png-0e91af67b5c473a776892a30bed62060.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/juxing507.png" +dest_files=["res://.godot/imported/juxing507.png-0e91af67b5c473a776892a30bed62060.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_019_game_flow/juxing523.png b/res/ui/ui_019_game_flow/juxing523.png new file mode 100644 index 0000000..a3dc972 Binary files /dev/null and b/res/ui/ui_019_game_flow/juxing523.png differ diff --git a/res/ui/ui_019_game_flow/juxing523.png.import b/res/ui/ui_019_game_flow/juxing523.png.import new file mode 100644 index 0000000..30cab2c --- /dev/null +++ b/res/ui/ui_019_game_flow/juxing523.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cqhvxepyo05nl" +path="res://.godot/imported/juxing523.png-623a1108d4b7179f0f2b3ed87a13a8ac.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/juxing523.png" +dest_files=["res://.godot/imported/juxing523.png-623a1108d4b7179f0f2b3ed87a13a8ac.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_019_game_flow/mask.tres b/res/ui/ui_019_game_flow/mask.tres new file mode 100644 index 0000000..d8a4430 --- /dev/null +++ b/res/ui/ui_019_game_flow/mask.tres @@ -0,0 +1,13 @@ +[gd_resource type="GradientTexture2D" load_steps=2 format=3 uid="uid://y2mohttec2d0"] + +[sub_resource type="Gradient" id="Gradient_hsc3b"] +interpolation_mode = 1 +interpolation_color_space = 2 +offsets = PackedFloat32Array(0, 0.538961, 0.577922, 0.805195) +colors = PackedColorArray(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0) + +[resource] +gradient = SubResource("Gradient_hsc3b") +fill = 1 +fill_from = Vector2(0.5, 0.5) +fill_to = Vector2(0, 0.87156) diff --git a/res/ui/ui_019_game_flow/tuceng1.png b/res/ui/ui_019_game_flow/tuceng1.png new file mode 100644 index 0000000..b55e7a8 Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng1.png differ diff --git a/res/ui/ui_019_game_flow/tuceng1.png.import b/res/ui/ui_019_game_flow/tuceng1.png.import new file mode 100644 index 0000000..068d4f5 --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://5vyvaedcfv38" +path="res://.godot/imported/tuceng1.png-b7b889df968a181511bd4c20d095d0c3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng1.png" +dest_files=["res://.godot/imported/tuceng1.png-b7b889df968a181511bd4c20d095d0c3.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_019_game_flow/tuceng2.png b/res/ui/ui_019_game_flow/tuceng2.png new file mode 100644 index 0000000..6801838 Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng2.png differ diff --git a/res/ui/ui_019_game_flow/tuceng2.png.import b/res/ui/ui_019_game_flow/tuceng2.png.import new file mode 100644 index 0000000..ddf7b27 --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://donlk8cdo8i6p" +path="res://.godot/imported/tuceng2.png-dfad26479c50fa291a859393b8b7b027.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng2.png" +dest_files=["res://.godot/imported/tuceng2.png-dfad26479c50fa291a859393b8b7b027.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_019_game_flow/tuceng279.png b/res/ui/ui_019_game_flow/tuceng279.png new file mode 100644 index 0000000..7a2689f Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng279.png differ diff --git a/res/ui/ui_019_game_flow/tuceng279.png.import b/res/ui/ui_019_game_flow/tuceng279.png.import new file mode 100644 index 0000000..c0dc804 --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng279.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c2qreqcdndlwy" +path="res://.godot/imported/tuceng279.png-6329e50467ed46271adcc30abad237bf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng279.png" +dest_files=["res://.godot/imported/tuceng279.png-6329e50467ed46271adcc30abad237bf.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_019_game_flow/tuceng280.png b/res/ui/ui_019_game_flow/tuceng280.png new file mode 100644 index 0000000..8d862ea Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng280.png differ diff --git a/res/ui/ui_019_game_flow/tuceng280.png.import b/res/ui/ui_019_game_flow/tuceng280.png.import new file mode 100644 index 0000000..ef25a91 --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng280.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://mxpgc8rjbhhe" +path="res://.godot/imported/tuceng280.png-7d0eea3e7e4d69e2124001f4249e410d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng280.png" +dest_files=["res://.godot/imported/tuceng280.png-7d0eea3e7e4d69e2124001f4249e410d.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_019_game_flow/tuceng281.png b/res/ui/ui_019_game_flow/tuceng281.png new file mode 100644 index 0000000..86c9fe6 Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng281.png differ diff --git a/res/ui/ui_019_game_flow/tuceng281.png.import b/res/ui/ui_019_game_flow/tuceng281.png.import new file mode 100644 index 0000000..755aff4 --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng281.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfkrivnhdpg8l" +path="res://.godot/imported/tuceng281.png-c581a67594cfce4564705671dbd04ebf.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng281.png" +dest_files=["res://.godot/imported/tuceng281.png-c581a67594cfce4564705671dbd04ebf.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_019_game_flow/tuceng283.png b/res/ui/ui_019_game_flow/tuceng283.png new file mode 100644 index 0000000..a753efd Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng283.png differ diff --git a/res/ui/ui_019_game_flow/tuceng283.png.import b/res/ui/ui_019_game_flow/tuceng283.png.import new file mode 100644 index 0000000..b828e32 --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng283.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://njtlsrius83y" +path="res://.godot/imported/tuceng283.png-1a09fc946c21138466ea31d8fbea3530.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng283.png" +dest_files=["res://.godot/imported/tuceng283.png-1a09fc946c21138466ea31d8fbea3530.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_019_game_flow/tuceng285.png b/res/ui/ui_019_game_flow/tuceng285.png new file mode 100644 index 0000000..01b9f14 Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng285.png differ diff --git a/res/ui/ui_019_game_flow/tuceng285.png.import b/res/ui/ui_019_game_flow/tuceng285.png.import new file mode 100644 index 0000000..291cc9d --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng285.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bbiikjcaepbpr" +path="res://.godot/imported/tuceng285.png-e8f19f382ddd5a436f46e44d951e300f.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng285.png" +dest_files=["res://.godot/imported/tuceng285.png-e8f19f382ddd5a436f46e44d951e300f.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_019_game_flow/tuceng288.png b/res/ui/ui_019_game_flow/tuceng288.png new file mode 100644 index 0000000..93e6fca Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng288.png differ diff --git a/res/ui/ui_019_game_flow/tuceng288.png.import b/res/ui/ui_019_game_flow/tuceng288.png.import new file mode 100644 index 0000000..99c189b --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng288.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bjpx8jypgtkxg" +path="res://.godot/imported/tuceng288.png-4717099385ca01f2f6cd5aaa473054fa.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng288.png" +dest_files=["res://.godot/imported/tuceng288.png-4717099385ca01f2f6cd5aaa473054fa.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_019_game_flow/tuceng289.png b/res/ui/ui_019_game_flow/tuceng289.png new file mode 100644 index 0000000..13bbf80 Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng289.png differ diff --git a/res/ui/ui_019_game_flow/tuceng289.png.import b/res/ui/ui_019_game_flow/tuceng289.png.import new file mode 100644 index 0000000..93b5d45 --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng289.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cq76812dkr2tr" +path="res://.godot/imported/tuceng289.png-f074a42353998fada70bd1a4451f6d65.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng289.png" +dest_files=["res://.godot/imported/tuceng289.png-f074a42353998fada70bd1a4451f6d65.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_019_game_flow/tuceng290.png b/res/ui/ui_019_game_flow/tuceng290.png new file mode 100644 index 0000000..2537e0f Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng290.png differ diff --git a/res/ui/ui_019_game_flow/tuceng290.png.import b/res/ui/ui_019_game_flow/tuceng290.png.import new file mode 100644 index 0000000..f241448 --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng290.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cyjyr3dhwamnb" +path="res://.godot/imported/tuceng290.png-8312758e3aad5878c4a1fda116830839.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng290.png" +dest_files=["res://.godot/imported/tuceng290.png-8312758e3aad5878c4a1fda116830839.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_019_game_flow/tuceng291.png b/res/ui/ui_019_game_flow/tuceng291.png new file mode 100644 index 0000000..f98d3ce Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng291.png differ diff --git a/res/ui/ui_019_game_flow/tuceng291.png.import b/res/ui/ui_019_game_flow/tuceng291.png.import new file mode 100644 index 0000000..4ff23cd --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng291.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bl6dhkx6ryu7r" +path="res://.godot/imported/tuceng291.png-54878f48fc2d7dae668b96ce1e5e07b0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng291.png" +dest_files=["res://.godot/imported/tuceng291.png-54878f48fc2d7dae668b96ce1e5e07b0.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_019_game_flow/tuceng301.png b/res/ui/ui_019_game_flow/tuceng301.png new file mode 100644 index 0000000..52457dc Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng301.png differ diff --git a/res/ui/ui_019_game_flow/tuceng301.png.import b/res/ui/ui_019_game_flow/tuceng301.png.import new file mode 100644 index 0000000..41a7392 --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng301.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dvxmxuudn4tf4" +path="res://.godot/imported/tuceng301.png-44717b27be0e891b7c5959af630f21a3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng301.png" +dest_files=["res://.godot/imported/tuceng301.png-44717b27be0e891b7c5959af630f21a3.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_019_game_flow/tuceng301_1.png b/res/ui/ui_019_game_flow/tuceng301_1.png new file mode 100644 index 0000000..52457dc Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng301_1.png differ diff --git a/res/ui/ui_019_game_flow/tuceng301_1.png.import b/res/ui/ui_019_game_flow/tuceng301_1.png.import new file mode 100644 index 0000000..fa7143d --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng301_1.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cu6bpkh0qj4l0" +path="res://.godot/imported/tuceng301_1.png-f9fd34db1637176afbee0c6f6e4825d9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng301_1.png" +dest_files=["res://.godot/imported/tuceng301_1.png-f9fd34db1637176afbee0c6f6e4825d9.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_019_game_flow/tuceng301_2.png b/res/ui/ui_019_game_flow/tuceng301_2.png new file mode 100644 index 0000000..c6ce517 Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng301_2.png differ diff --git a/res/ui/ui_019_game_flow/tuceng301_2.png.import b/res/ui/ui_019_game_flow/tuceng301_2.png.import new file mode 100644 index 0000000..b6680b4 --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng301_2.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bts8vxgr7q5ap" +path="res://.godot/imported/tuceng301_2.png-42a675f0aee2be9be9f48752f0c5d8a3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng301_2.png" +dest_files=["res://.godot/imported/tuceng301_2.png-42a675f0aee2be9be9f48752f0c5d8a3.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_019_game_flow/tuceng301_3.png b/res/ui/ui_019_game_flow/tuceng301_3.png new file mode 100644 index 0000000..52457dc Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng301_3.png differ diff --git a/res/ui/ui_019_game_flow/tuceng301_3.png.import b/res/ui/ui_019_game_flow/tuceng301_3.png.import new file mode 100644 index 0000000..713a0af --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng301_3.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3nho5q4ugicf" +path="res://.godot/imported/tuceng301_3.png-946475fe5c17c884f3f22fc74b3d9d9b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng301_3.png" +dest_files=["res://.godot/imported/tuceng301_3.png-946475fe5c17c884f3f22fc74b3d9d9b.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_019_game_flow/tuceng303.png b/res/ui/ui_019_game_flow/tuceng303.png new file mode 100644 index 0000000..6ebc7db Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng303.png differ diff --git a/res/ui/ui_019_game_flow/tuceng303.png.import b/res/ui/ui_019_game_flow/tuceng303.png.import new file mode 100644 index 0000000..d86c287 --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng303.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bslh6vgaom0ds" +path="res://.godot/imported/tuceng303.png-245344a4d4f34ddd775a35779d12ac63.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng303.png" +dest_files=["res://.godot/imported/tuceng303.png-245344a4d4f34ddd775a35779d12ac63.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_019_game_flow/tuceng433.png b/res/ui/ui_019_game_flow/tuceng433.png new file mode 100644 index 0000000..88c49b3 Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng433.png differ diff --git a/res/ui/ui_019_game_flow/tuceng433.png.import b/res/ui/ui_019_game_flow/tuceng433.png.import new file mode 100644 index 0000000..f255846 --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng433.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b7mj0wmwfyw6r" +path="res://.godot/imported/tuceng433.png-2a703b5ac41e0e40de571da230b7d11a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng433.png" +dest_files=["res://.godot/imported/tuceng433.png-2a703b5ac41e0e40de571da230b7d11a.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_019_game_flow/tuceng438.png b/res/ui/ui_019_game_flow/tuceng438.png new file mode 100644 index 0000000..bc4e070 Binary files /dev/null and b/res/ui/ui_019_game_flow/tuceng438.png differ diff --git a/res/ui/ui_019_game_flow/tuceng438.png.import b/res/ui/ui_019_game_flow/tuceng438.png.import new file mode 100644 index 0000000..3b59b20 --- /dev/null +++ b/res/ui/ui_019_game_flow/tuceng438.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cak88ebpi1p72" +path="res://.godot/imported/tuceng438.png-40e5ea0c4a06288a563911f9e6b14fd1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://res/ui/ui_019_game_flow/tuceng438.png" +dest_files=["res://.godot/imported/tuceng438.png-40e5ea0c4a06288a563911f9e6b14fd1.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/banner_detail.tscn b/scene/banner_detail.tscn index a7228b8..937b612 100644 --- a/scene/banner_detail.tscn +++ b/scene/banner_detail.tscn @@ -1,9 +1,12 @@ -[gd_scene load_steps=7 format=3 uid="uid://cn3s171ioei4v"] +[gd_scene load_steps=10 format=3 uid="uid://cn3s171ioei4v"] [ext_resource type="Texture2D" uid="uid://diroovqs7byb7" path="res://res/ui/ui_015_banner_detail/tuceng2.png" id="1_xmjwj"] [ext_resource type="Texture2D" uid="uid://lijpeimp30qs" path="res://res/ui/ui_015_banner_detail/juxing20.png" id="2_lovwe"] [ext_resource type="Texture2D" uid="uid://ci5bxgrk3ati0" path="res://res/ui/ui_015_banner_detail/juxing10.png" id="3_d8v2i"] [ext_resource type="Texture2D" uid="uid://bb5hbphrjc4sj" path="res://res/ui/ui_015_banner_detail/juxing19.png" id="4_jhmw6"] +[ext_resource type="PackedScene" uid="uid://w6ipqybxvd0p" path="res://scene/banner_detail_card.tscn" id="5_utnql"] +[ext_resource type="Texture2D" uid="uid://cs6lyx4g5mlvg" path="res://res/ui/ui_015_banner_detail/tuceng224.png" id="6_u2tej"] +[ext_resource type="PackedScene" uid="uid://bdlo2wn4qnygv" path="res://scene/tool/tool_button.tscn" id="7_r1qyi"] [sub_resource type="StyleBoxTexture" id="StyleBoxTexture_8288i"] texture = ExtResource("2_lovwe") @@ -117,8 +120,25 @@ vertical_alignment = 1 [node name="GridContainer" type="GridContainer" parent="MarginContainer/Panel/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/VBoxContainer"] layout_mode = 2 +theme_override_constants/h_separation = 40 +theme_override_constants/v_separation = 40 columns = 4 +[node name="banner_detail_card" parent="MarginContainer/Panel/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/VBoxContainer/GridContainer" instance=ExtResource("5_utnql")] +layout_mode = 2 + +[node name="banner_detail_card2" parent="MarginContainer/Panel/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/VBoxContainer/GridContainer" instance=ExtResource("5_utnql")] +layout_mode = 2 + +[node name="banner_detail_card3" parent="MarginContainer/Panel/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/VBoxContainer/GridContainer" instance=ExtResource("5_utnql")] +layout_mode = 2 + +[node name="banner_detail_card4" parent="MarginContainer/Panel/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/VBoxContainer/GridContainer" instance=ExtResource("5_utnql")] +layout_mode = 2 + +[node name="banner_detail_card5" parent="MarginContainer/Panel/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/VBoxContainer/GridContainer" instance=ExtResource("5_utnql")] +layout_mode = 2 + [node name="VBoxContainer2" type="VBoxContainer" parent="MarginContainer/Panel/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"] layout_mode = 2 theme_override_constants/separation = 25 @@ -142,4 +162,37 @@ vertical_alignment = 1 [node name="GridContainer" type="GridContainer" parent="MarginContainer/Panel/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/VBoxContainer2"] layout_mode = 2 +theme_override_constants/h_separation = 40 +theme_override_constants/v_separation = 40 columns = 4 + +[node name="banner_detail_card" parent="MarginContainer/Panel/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/VBoxContainer2/GridContainer" instance=ExtResource("5_utnql")] +layout_mode = 2 + +[node name="banner_detail_card2" parent="MarginContainer/Panel/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/VBoxContainer2/GridContainer" instance=ExtResource("5_utnql")] +layout_mode = 2 + +[node name="banner_detail_card3" parent="MarginContainer/Panel/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/VBoxContainer2/GridContainer" instance=ExtResource("5_utnql")] +layout_mode = 2 + +[node name="banner_detail_card4" parent="MarginContainer/Panel/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/VBoxContainer2/GridContainer" instance=ExtResource("5_utnql")] +layout_mode = 2 + +[node name="banner_detail_card5" parent="MarginContainer/Panel/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/VBoxContainer2/GridContainer" instance=ExtResource("5_utnql")] +layout_mode = 2 + +[node name="banner_detail_card6" parent="MarginContainer/Panel/MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/VBoxContainer2/GridContainer" instance=ExtResource("5_utnql")] +layout_mode = 2 + +[node name="back" type="TextureRect" parent="MarginContainer/Panel"] +layout_mode = 1 +anchors_preset = 1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -40.0 +offset_bottom = 40.0 +grow_horizontal = 0 +texture = ExtResource("6_u2tej") + +[node name="ToolButton" parent="MarginContainer/Panel/back" instance=ExtResource("7_r1qyi")] +layout_mode = 1 diff --git a/scene/banner_detail_card.tscn b/scene/banner_detail_card.tscn new file mode 100644 index 0000000..d0f4f2a --- /dev/null +++ b/scene/banner_detail_card.tscn @@ -0,0 +1,66 @@ +[gd_scene load_steps=5 format=3 uid="uid://w6ipqybxvd0p"] + +[ext_resource type="Texture2D" uid="uid://dmkdrmhviht1u" path="res://res/ui/ui_015_banner_detail/juxing9.png" id="1_b30cf"] +[ext_resource type="Texture2D" uid="uid://d3meg8ge874u8" path="res://res/ui/ui_004_character_bag/tuceng67.png" id="2_gsb8u"] +[ext_resource type="Texture2D" uid="uid://w25dqam2fdh1" path="res://res/ui/ui_015_banner_detail/tuceng223.png" id="2_mkcia"] +[ext_resource type="Texture2D" uid="uid://li8e5ntlgcpg" path="res://res/ui/ui_003_select/test.png" id="3_jghio"] + +[node name="banner_detail_card" type="TextureRect"] +offset_right = 40.0 +offset_bottom = 40.0 +texture = ExtResource("1_b30cf") + +[node name="TextureRect" 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_mkcia") + +[node name="TextureRect2" type="TextureRect" parent="."] +show_behind_parent = true +layout_mode = 0 +anchor_left = 0.501529 +anchor_top = 0.0848485 +anchor_right = 0.966361 +anchor_bottom = 0.927273 +texture = ExtResource("3_jghio") +expand_mode = 1 +stretch_mode = 6 +metadata/_edit_use_anchors_ = true + +[node name="HBoxContainer" type="HBoxContainer" parent="."] +layout_mode = 0 +anchor_left = 0.0397554 +anchor_top = 0.0848485 +anchor_right = 0.920489 +anchor_bottom = 0.266667 +metadata/_edit_use_anchors_ = true + +[node name="TextureRect" type="TextureRect" parent="HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 0 +texture = ExtResource("2_gsb8u") + +[node name="TextureRect2" type="TextureRect" parent="HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 0 +texture = ExtResource("2_gsb8u") + +[node name="TextureRect3" type="TextureRect" parent="HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 0 +texture = ExtResource("2_gsb8u") + +[node name="TextureRect4" type="TextureRect" parent="HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 0 +texture = ExtResource("2_gsb8u") + +[node name="TextureRect5" type="TextureRect" parent="HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 0 +texture = ExtResource("2_gsb8u") diff --git a/scene/difficulty_selection.gd b/scene/difficulty_selection.gd new file mode 100644 index 0000000..8798559 --- /dev/null +++ b/scene/difficulty_selection.gd @@ -0,0 +1,19 @@ +extends Control + +const JUXING_15 = preload("res://res/ui/ui_018_difficulty_selection/juxing15.png") +@onready var t_button:Array[TextureButton]=[$CenterContainer/HBoxContainer/TextureRect, $CenterContainer/HBoxContainer/TextureRect2, $CenterContainer/HBoxContainer/TextureRect3] +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + var new_bit_map=BitMap.new() + new_bit_map.create_from_image_alpha(JUXING_15.get_image(),0.01) + + for i in t_button: + i.texture_click_mask=new_bit_map + i.button_down.connect(ToolButton.static_on_button_down.bind(i)) + i.button_up.connect(ToolButton.static_on_button_up.bind(i)) + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass diff --git a/scene/difficulty_selection.tscn b/scene/difficulty_selection.tscn index e0efbe2..5cbfbf5 100644 --- a/scene/difficulty_selection.tscn +++ b/scene/difficulty_selection.tscn @@ -1,8 +1,14 @@ -[gd_scene load_steps=4 format=3 uid="uid://c6ucq32jlpjd6"] +[gd_scene load_steps=10 format=3 uid="uid://c6ucq32jlpjd6"] +[ext_resource type="Texture2D" uid="uid://dic3n66ae0gri" path="res://res/ui/ui_018_difficulty_selection/tuceng2.png" id="1_dy7pb"] [ext_resource type="Texture2D" uid="uid://c7ma6fd6nm0w8" path="res://res/ui/ui_018_difficulty_selection/tuceng278.png" id="1_fxlie"] +[ext_resource type="Script" path="res://scene/difficulty_selection.gd" id="1_mrak8"] [ext_resource type="PackedScene" uid="uid://bdlo2wn4qnygv" path="res://scene/tool/tool_button.tscn" id="2_geis3"] [ext_resource type="Texture2D" uid="uid://bdkykqha8dejh" path="res://res/ui/ui_018_difficulty_selection/juxing15.png" id="3_2sljc"] +[ext_resource type="Texture2D" uid="uid://c5mi403sulwnw" path="res://res/ui/ui_018_difficulty_selection/normal_mode.png" id="4_xx3b3"] +[ext_resource type="Texture2D" uid="uid://kdnk3hx7eu6l" path="res://res/ui/ui_018_difficulty_selection/tuceng277.png" id="5_52g1c"] +[ext_resource type="Texture2D" uid="uid://cgxnivj5eixwb" path="res://res/ui/ui_018_difficulty_selection/hard_mode.png" id="6_raxvv"] +[ext_resource type="Texture2D" uid="uid://hii13ku8gsra" path="res://res/ui/ui_018_difficulty_selection/GM_mode.png" id="7_412gj"] [node name="difficulty_selection" type="Control"] layout_mode = 3 @@ -11,6 +17,7 @@ anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +script = ExtResource("1_mrak8") [node name="back" type="TextureRect" parent="."] layout_mode = 1 @@ -19,15 +26,150 @@ anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 +texture = ExtResource("1_dy7pb") -[node name="ColorRect" type="ColorRect" parent="."] +[node name="CenterContainer" type="CenterContainer" parent="."] layout_mode = 1 anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -color = Color(0.154876, 0.154876, 0.154876, 1) + +[node name="HBoxContainer" type="HBoxContainer" parent="CenterContainer"] +layout_mode = 2 +theme_override_constants/separation = -99 +metadata/_edit_use_anchors_ = true + +[node name="TextureRect" type="TextureButton" parent="CenterContainer/HBoxContainer"] +layout_mode = 2 +texture_normal = ExtResource("3_2sljc") + +[node name="TextureRect" type="TextureRect" parent="CenterContainer/HBoxContainer/TextureRect"] +show_behind_parent = true +layout_mode = 0 +anchor_left = 0.172291 +anchor_top = 0.276151 +anchor_right = 0.820604 +anchor_bottom = 0.641562 +offset_top = 1.52588e-05 +offset_right = -325.0 +offset_bottom = -222.0 +mouse_filter = 2 +texture = ExtResource("4_xx3b3") +metadata/_edit_use_anchors_ = true + +[node name="TextureRect2" type="TextureRect" parent="CenterContainer/HBoxContainer/TextureRect"] +layout_mode = 0 +anchor_left = 0.035524 +anchor_top = 0.698745 +anchor_right = 0.632327 +anchor_bottom = 0.729428 +mouse_filter = 2 +texture = ExtResource("5_52g1c") +expand_mode = 1 +metadata/_edit_use_anchors_ = true + +[node name="Label" type="Label" parent="CenterContainer/HBoxContainer/TextureRect"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.172291 +anchor_top = 0.739191 +anchor_right = 0.632327 +anchor_bottom = 0.781032 +theme_override_font_sizes/font_size = 21 +text = "默认难度" +horizontal_alignment = 2 +vertical_alignment = 1 +metadata/_edit_use_anchors_ = true + +[node name="TextureRect2" type="TextureButton" parent="CenterContainer/HBoxContainer"] +layout_mode = 2 +texture_normal = ExtResource("3_2sljc") + +[node name="TextureRect" type="TextureRect" parent="CenterContainer/HBoxContainer/TextureRect2"] +show_behind_parent = true +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.172291 +anchor_top = 0.276151 +anchor_right = 0.820604 +anchor_bottom = 0.641562 +offset_top = 1.52588e-05 +offset_right = -325.0 +offset_bottom = -222.0 +mouse_filter = 2 +texture = ExtResource("6_raxvv") +metadata/_edit_use_anchors_ = true + +[node name="TextureRect2" type="TextureRect" parent="CenterContainer/HBoxContainer/TextureRect2"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.035524 +anchor_top = 0.698745 +anchor_right = 0.632327 +anchor_bottom = 0.729428 +mouse_filter = 2 +texture = ExtResource("5_52g1c") +expand_mode = 1 +metadata/_edit_use_anchors_ = true + +[node name="Label" type="Label" parent="CenterContainer/HBoxContainer/TextureRect2"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.172291 +anchor_top = 0.739191 +anchor_right = 0.632327 +anchor_bottom = 0.781032 +theme_override_font_sizes/font_size = 21 +text = "人物死亡后删除存档" +horizontal_alignment = 2 +vertical_alignment = 1 +metadata/_edit_use_anchors_ = true + +[node name="TextureRect3" type="TextureButton" parent="CenterContainer/HBoxContainer"] +layout_mode = 2 +texture_normal = ExtResource("3_2sljc") + +[node name="TextureRect" type="TextureRect" parent="CenterContainer/HBoxContainer/TextureRect3"] +show_behind_parent = true +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.172291 +anchor_top = 0.276151 +anchor_right = 0.827709 +anchor_bottom = 0.616457 +offset_top = 1.52588e-05 +offset_right = -329.0 +offset_bottom = -204.0 +mouse_filter = 2 +texture = ExtResource("7_412gj") +metadata/_edit_use_anchors_ = true + +[node name="TextureRect2" type="TextureRect" parent="CenterContainer/HBoxContainer/TextureRect3"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.035524 +anchor_top = 0.698745 +anchor_right = 0.632327 +anchor_bottom = 0.729428 +mouse_filter = 2 +texture = ExtResource("5_52g1c") +expand_mode = 1 +metadata/_edit_use_anchors_ = true + +[node name="Label" type="Label" parent="CenterContainer/HBoxContainer/TextureRect3"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.172291 +anchor_top = 0.739191 +anchor_right = 0.632327 +anchor_bottom = 0.781032 +theme_override_font_sizes/font_size = 21 +text = "可以输入秘籍" +horizontal_alignment = 2 +vertical_alignment = 1 +metadata/_edit_use_anchors_ = true [node name="TextureRect" type="TextureRect" parent="."] layout_mode = 1 @@ -36,40 +178,10 @@ anchor_left = 0.00885417 anchor_top = 0.0703704 anchor_right = 0.00885417 anchor_bottom = 0.0703704 -offset_right = 40.0 -offset_bottom = 40.0 +offset_right = 109.0 +offset_bottom = 85.0 texture = ExtResource("1_fxlie") metadata/_edit_use_anchors_ = true [node name="ToolButton" parent="TextureRect" instance=ExtResource("2_geis3")] layout_mode = 1 - -[node name="HBoxContainer" type="HBoxContainer" parent="."] -layout_mode = 0 -anchor_left = 0.114063 -anchor_top = 0.225926 -anchor_right = 0.888542 -anchor_bottom = 0.916667 -theme_override_constants/separation = -99 -metadata/_edit_use_anchors_ = true - -[node name="TextureRect" type="TextureRect" parent="HBoxContainer"] -layout_mode = 2 -texture = ExtResource("3_2sljc") - -[node name="ToolButton" parent="HBoxContainer/TextureRect" instance=ExtResource("2_geis3")] -layout_mode = 1 - -[node name="TextureRect2" type="TextureRect" parent="HBoxContainer"] -layout_mode = 2 -texture = ExtResource("3_2sljc") - -[node name="ToolButton" parent="HBoxContainer/TextureRect2" instance=ExtResource("2_geis3")] -layout_mode = 1 - -[node name="TextureRect3" type="TextureRect" parent="HBoxContainer"] -layout_mode = 2 -texture = ExtResource("3_2sljc") - -[node name="ToolButton" parent="HBoxContainer/TextureRect3" instance=ExtResource("2_geis3")] -layout_mode = 1 diff --git a/scene/game_flow.tscn b/scene/game_flow.tscn new file mode 100644 index 0000000..f60d1ea --- /dev/null +++ b/scene/game_flow.tscn @@ -0,0 +1,300 @@ +[gd_scene load_steps=12 format=3 uid="uid://bht5sd88340s5"] + +[ext_resource type="Texture2D" uid="uid://5vyvaedcfv38" path="res://res/ui/ui_019_game_flow/tuceng1.png" id="1_gjw3y"] +[ext_resource type="Texture2D" uid="uid://bfxq2lfnecjue" path="res://res/ui/ui_019_game_flow/juxing505.png" id="2_w5ej7"] +[ext_resource type="PackedScene" uid="uid://clhtya30fwcwp" path="res://scene/game_flow_card.tscn" id="3_c6hhr"] +[ext_resource type="PackedScene" uid="uid://bsegldhx3w3ws" path="res://scene/game_flow_event.tscn" id="3_h6xm4"] +[ext_resource type="Texture2D" uid="uid://78rjb4sv4jrp" path="res://res/ui/ui_019_game_flow/juxing507.png" id="5_htscv"] +[ext_resource type="Texture2D" uid="uid://bslh6vgaom0ds" path="res://res/ui/ui_019_game_flow/tuceng303.png" id="6_5kjvb"] +[ext_resource type="Texture2D" uid="uid://y2mohttec2d0" path="res://res/ui/ui_019_game_flow/mask.tres" id="6_jmymv"] +[ext_resource type="Texture2D" uid="uid://li8e5ntlgcpg" path="res://res/ui/ui_003_select/test.png" id="7_xk2ne"] +[ext_resource type="PackedScene" uid="uid://bdlo2wn4qnygv" path="res://scene/tool/tool_button.tscn" id="8_q6ple"] +[ext_resource type="Texture2D" uid="uid://b7mj0wmwfyw6r" path="res://res/ui/ui_019_game_flow/tuceng433.png" id="10_ypoe0"] +[ext_resource type="Texture2D" uid="uid://cak88ebpi1p72" path="res://res/ui/ui_019_game_flow/tuceng438.png" id="11_gnu1c"] + +[node name="game_flow" type="Control"] +layout_mode = 3 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="back" 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("1_gjw3y") +expand_mode = 1 +stretch_mode = 6 + +[node name="NinePatchRect" type="NinePatchRect" parent="."] +layout_mode = 0 +anchor_left = 0.0166667 +anchor_top = 0.815741 +anchor_right = 0.983333 +anchor_bottom = 0.969444 +texture = ExtResource("2_w5ej7") +metadata/_edit_use_anchors_ = true + +[node name="bottom_container" type="HBoxContainer" parent="."] +layout_mode = 0 +anchor_left = 0.0166667 +anchor_top = 0.681481 +anchor_right = 0.983333 +anchor_bottom = 0.969444 +metadata/_edit_use_anchors_ = true + +[node name="card" type="HBoxContainer" parent="bottom_container"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 8 +theme_override_constants/separation = 29 + +[node name="game_flow_card" parent="bottom_container/card" instance=ExtResource("3_c6hhr")] +layout_mode = 2 + +[node name="game_flow_card2" parent="bottom_container/card" instance=ExtResource("3_c6hhr")] +layout_mode = 2 + +[node name="game_flow_card3" parent="bottom_container/card" instance=ExtResource("3_c6hhr")] +layout_mode = 2 + +[node name="game_flow_card4" parent="bottom_container/card" instance=ExtResource("3_c6hhr")] +layout_mode = 2 + +[node name="event" type="HBoxContainer" parent="bottom_container"] +layout_mode = 2 +size_flags_horizontal = 10 +size_flags_vertical = 8 +theme_override_constants/separation = 22 + +[node name="game_flow_event" parent="bottom_container/event" instance=ExtResource("3_h6xm4")] +layout_mode = 2 + +[node name="game_flow_event2" parent="bottom_container/event" instance=ExtResource("3_h6xm4")] +layout_mode = 2 + +[node name="game_flow_event3" parent="bottom_container/event" instance=ExtResource("3_h6xm4")] +layout_mode = 2 + +[node name="hbox" type="HBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.009375 +anchor_top = 0.025 +anchor_right = 0.493229 +anchor_bottom = 0.175926 +metadata/_edit_use_anchors_ = true + +[node name="TextureRect" type="TextureRect" parent="hbox"] +layout_mode = 2 +texture = ExtResource("5_htscv") + +[node name="TextureRect" type="TextureRect" parent="hbox/TextureRect"] +show_behind_parent = true +clip_children = 1 +clip_contents = true +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +texture = ExtResource("6_jmymv") + +[node name="TextureRect" type="TextureRect" parent="hbox/TextureRect/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("7_xk2ne") +expand_mode = 1 +stretch_mode = 5 + +[node name="ToolButton" parent="hbox/TextureRect" instance=ExtResource("8_q6ple")] +layout_mode = 1 + +[node name="TextureRect2" type="TextureRect" parent="hbox"] +layout_mode = 2 +texture = ExtResource("6_5kjvb") + +[node name="vbox" type="VBoxContainer" parent="hbox/TextureRect2"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/separation = 0 + +[node name="Label" type="Label" parent="hbox/TextureRect2/vbox"] +layout_mode = 2 +size_flags_vertical = 3 +theme_override_colors/font_color = Color(0, 0, 0, 1) +theme_override_font_sizes/font_size = 34 +text = "1999/12/12" +vertical_alignment = 1 + +[node name="HBoxContainer" type="HBoxContainer" parent="hbox/TextureRect2/vbox"] +layout_mode = 2 +size_flags_vertical = 3 + +[node name="Control" type="Control" parent="hbox/TextureRect2/vbox/HBoxContainer"] +layout_mode = 2 + +[node name="Label" type="Label" parent="hbox/TextureRect2/vbox/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 1 +theme_override_font_sizes/font_size = 28 +text = "角色名字" +vertical_alignment = 1 + +[node name="HBoxContainer" type="HBoxContainer" parent="hbox/TextureRect2/vbox/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="Label2" type="Label" parent="hbox/TextureRect2/vbox/HBoxContainer/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 2 +size_flags_vertical = 1 +theme_override_font_sizes/font_size = 27 +text = "金钱:" +vertical_alignment = 1 + +[node name="Label3" type="Label" parent="hbox/TextureRect2/vbox/HBoxContainer/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 1 +theme_override_font_sizes/font_size = 37 +text = "9999999" + +[node name="HBoxContainer2" type="HBoxContainer" parent="hbox/TextureRect2/vbox"] +layout_mode = 2 +size_flags_vertical = 3 + +[node name="HBoxContainer" type="HBoxContainer" parent="hbox/TextureRect2/vbox/HBoxContainer2"] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="Label2" type="Label" parent="hbox/TextureRect2/vbox/HBoxContainer2/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 2 +size_flags_vertical = 1 +theme_override_font_sizes/font_size = 27 +text = "生命:" +vertical_alignment = 1 + +[node name="Label3" type="Label" parent="hbox/TextureRect2/vbox/HBoxContainer2/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 1 +theme_override_font_sizes/font_size = 37 +text = "9999" + +[node name="HBoxContainer2" type="HBoxContainer" parent="hbox/TextureRect2/vbox/HBoxContainer2"] +layout_mode = 2 +size_flags_horizontal = 3 + +[node name="Label2" type="Label" parent="hbox/TextureRect2/vbox/HBoxContainer2/HBoxContainer2"] +layout_mode = 2 +size_flags_horizontal = 2 +size_flags_vertical = 1 +theme_override_font_sizes/font_size = 27 +text = "精神:" +vertical_alignment = 1 + +[node name="Label3" type="Label" parent="hbox/TextureRect2/vbox/HBoxContainer2/HBoxContainer2"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 1 +theme_override_font_sizes/font_size = 37 +text = "9999" + +[node name="HBoxContainer" type="HBoxContainer" parent="hbox"] +layout_mode = 2 + +[node name="TextureRect" type="TextureRect" parent="hbox/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 0 +texture = ExtResource("10_ypoe0") + +[node name="HBoxContainer" type="HBoxContainer" parent="hbox/HBoxContainer/TextureRect"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/separation = 0 + +[node name="Label" type="Label" parent="hbox/HBoxContainer/TextureRect/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 10 +size_flags_vertical = 1 +theme_override_font_sizes/font_size = 22 +text = "侦察进度:" +vertical_alignment = 1 + +[node name="Label2" type="Label" parent="hbox/HBoxContainer/TextureRect/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 8 +size_flags_vertical = 1 +theme_override_font_sizes/font_size = 22 +text = "100%" +vertical_alignment = 1 + +[node name="tab" type="Control" parent="hbox/HBoxContainer/TextureRect/HBoxContainer"] +custom_minimum_size = Vector2(10.5, 0) +layout_mode = 2 + +[node name="TextureRect2" type="TextureRect" parent="hbox/HBoxContainer"] +layout_mode = 2 +size_flags_vertical = 0 +texture = ExtResource("11_gnu1c") + +[node name="HBoxContainer" type="HBoxContainer" parent="hbox/HBoxContainer/TextureRect2"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_constants/separation = 0 + +[node name="Label" type="Label" parent="hbox/HBoxContainer/TextureRect2/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 10 +size_flags_vertical = 1 +theme_override_font_sizes/font_size = 22 +text = "天气:" +vertical_alignment = 1 + +[node name="Label2" type="Label" parent="hbox/HBoxContainer/TextureRect2/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 8 +size_flags_vertical = 1 +theme_override_font_sizes/font_size = 22 +text = "雷暴雨" +vertical_alignment = 1 + +[node name="tab" type="Control" parent="hbox/HBoxContainer/TextureRect2/HBoxContainer"] +custom_minimum_size = Vector2(10.5, 0) +layout_mode = 2 + +[node name="VBoxContainer" type="VBoxContainer" parent="."] +layout_mode = 1 +anchors_preset = 1 +anchor_left = 1.0 +anchor_right = 1.0 +offset_left = -40.0 +offset_bottom = 40.0 +grow_horizontal = 0 diff --git a/scene/game_flow_card.gd b/scene/game_flow_card.gd new file mode 100644 index 0000000..648a410 --- /dev/null +++ b/scene/game_flow_card.gd @@ -0,0 +1,16 @@ +extends HBoxContainer + + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + pass # Replace with function body. + + +# Called every frame. 'delta' is the elapsed time since the previous frame. +func _process(delta: float) -> void: + pass + + +func _on_tool_button_pressed() -> void: + %DrawerContainer.change_open() + pass # Replace with function body. diff --git a/scene/game_flow_card.tscn b/scene/game_flow_card.tscn new file mode 100644 index 0000000..f7f9c32 --- /dev/null +++ b/scene/game_flow_card.tscn @@ -0,0 +1,311 @@ +[gd_scene load_steps=11 format=3 uid="uid://clhtya30fwcwp"] + +[ext_resource type="Texture2D" uid="uid://cyjyr3dhwamnb" path="res://res/ui/ui_019_game_flow/tuceng290.png" id="1_nv5yk"] +[ext_resource type="Script" path="res://scene/game_flow_card.gd" id="1_o3eb7"] +[ext_resource type="Script" path="res://class/tool/DrawerContainer.gd" id="2_3r5in"] +[ext_resource type="Texture2D" uid="uid://cq76812dkr2tr" path="res://res/ui/ui_019_game_flow/tuceng289.png" id="2_xj646"] +[ext_resource type="Texture2D" uid="uid://li8e5ntlgcpg" path="res://res/ui/ui_003_select/test.png" id="3_ip0mu"] +[ext_resource type="Texture2D" uid="uid://cqhvxepyo05nl" path="res://res/ui/ui_019_game_flow/juxing523.png" id="4_ltoxw"] +[ext_resource type="Texture2D" uid="uid://donlk8cdo8i6p" path="res://res/ui/ui_019_game_flow/tuceng2.png" id="7_gwjog"] +[ext_resource type="PackedScene" uid="uid://bdlo2wn4qnygv" path="res://scene/tool/tool_button.tscn" id="8_vd154"] +[ext_resource type="Texture2D" uid="uid://njtlsrius83y" path="res://res/ui/ui_019_game_flow/tuceng283.png" id="9_aqi88"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_8brec"] +texture = ExtResource("4_ltoxw") +texture_margin_left = 4.46083 +texture_margin_top = 3.18631 +texture_margin_right = 3.18631 +texture_margin_bottom = 4.30906 +region_rect = Rect2(0, 0, 117, 312) + +[node name="game_flow_card" type="HBoxContainer"] +custom_minimum_size = Vector2(189, 312) +offset_right = 305.0 +offset_bottom = 312.0 +size_flags_horizontal = 0 +script = ExtResource("1_o3eb7") + +[node name="TextureRect" type="TextureRect" parent="."] +clip_contents = true +layout_mode = 2 +texture = ExtResource("1_nv5yk") + +[node name="TextureRect" type="TextureRect" parent="TextureRect"] +show_behind_parent = true +clip_children = 1 +clip_contents = true +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.031746 +anchor_right = 1.75661 +anchor_bottom = 1.66667 +offset_right = -143.0 +offset_bottom = -240.0 +texture = ExtResource("2_xj646") +expand_mode = 1 +metadata/_edit_use_anchors_ = true + +[node name="TextureRect" type="TextureRect" parent="TextureRect/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("3_ip0mu") +expand_mode = 1 +stretch_mode = 6 + +[node name="Label" type="Label" parent="TextureRect"] +layout_mode = 0 +anchor_left = 0.031746 +anchor_top = 0.897436 +anchor_right = 0.957672 +anchor_bottom = 0.99359 +text = "卡名字" +vertical_alignment = 1 +metadata/_edit_use_anchors_ = true + +[node name="ToolButton" parent="TextureRect" instance=ExtResource("8_vd154")] +layout_mode = 1 + +[node name="DrawerContainer" type="Container" parent="."] +unique_name_in_owner = true +clip_contents = true +layout_mode = 2 +size_flags_horizontal = 0 +size_flags_vertical = 0 +script = ExtResource("2_3r5in") +button_model = 3 +is_auto_hide = true +disable_button = true +animation_model = 11 + +[node name="TextureRect" type="PanelContainer" parent="DrawerContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 3 +theme_override_styles/panel = SubResource("StyleBoxTexture_8brec") + +[node name="VBoxContainer" type="VBoxContainer" parent="DrawerContainer/TextureRect"] +layout_mode = 2 + +[node name="TextureRect" type="TextureRect" parent="DrawerContainer/TextureRect/VBoxContainer"] +layout_mode = 2 +texture = ExtResource("7_gwjog") + +[node name="HBoxContainer" type="HBoxContainer" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 1 +text = "对话" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="TextureRect" type="TextureRect" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect/HBoxContainer"] +custom_minimum_size = Vector2(3.16, 0) +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 4 +texture = ExtResource("9_aqi88") +stretch_mode = 5 + +[node name="ToolButton" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect" instance=ExtResource("8_vd154")] +layout_mode = 1 + +[node name="TextureRect2" type="TextureRect" parent="DrawerContainer/TextureRect/VBoxContainer"] +layout_mode = 2 +texture = ExtResource("7_gwjog") + +[node name="HBoxContainer" type="HBoxContainer" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect2"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect2/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 1 +text = "帮助" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="TextureRect" type="TextureRect" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect2/HBoxContainer"] +custom_minimum_size = Vector2(3.16, 0) +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 4 +texture = ExtResource("9_aqi88") +stretch_mode = 5 + +[node name="ToolButton" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect2" instance=ExtResource("8_vd154")] +layout_mode = 1 + +[node name="TextureRect3" type="TextureRect" parent="DrawerContainer/TextureRect/VBoxContainer"] +layout_mode = 2 +texture = ExtResource("7_gwjog") + +[node name="HBoxContainer" type="HBoxContainer" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect3"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect3/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 1 +text = "了解" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="TextureRect" type="TextureRect" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect3/HBoxContainer"] +custom_minimum_size = Vector2(3.16, 0) +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 4 +texture = ExtResource("9_aqi88") +stretch_mode = 5 + +[node name="ToolButton" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect3" instance=ExtResource("8_vd154")] +layout_mode = 1 + +[node name="TextureRect4" type="TextureRect" parent="DrawerContainer/TextureRect/VBoxContainer"] +layout_mode = 2 +texture = ExtResource("7_gwjog") + +[node name="HBoxContainer" type="HBoxContainer" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect4"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect4/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 1 +text = "请教" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="TextureRect" type="TextureRect" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect4/HBoxContainer"] +custom_minimum_size = Vector2(3.16, 0) +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 4 +texture = ExtResource("9_aqi88") +stretch_mode = 5 + +[node name="ToolButton" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect4" instance=ExtResource("8_vd154")] +layout_mode = 1 + +[node name="TextureRect5" type="TextureRect" parent="DrawerContainer/TextureRect/VBoxContainer"] +layout_mode = 2 +texture = ExtResource("7_gwjog") + +[node name="HBoxContainer" type="HBoxContainer" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect5"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect5/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 1 +text = "勾引" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="TextureRect" type="TextureRect" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect5/HBoxContainer"] +custom_minimum_size = Vector2(3.16, 0) +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 4 +texture = ExtResource("9_aqi88") +stretch_mode = 5 + +[node name="ToolButton" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect5" instance=ExtResource("8_vd154")] +layout_mode = 1 + +[node name="TextureRect6" type="TextureRect" parent="DrawerContainer/TextureRect/VBoxContainer"] +layout_mode = 2 +texture = ExtResource("7_gwjog") + +[node name="HBoxContainer" type="HBoxContainer" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect6"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect6/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 1 +text = "送礼" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="TextureRect" type="TextureRect" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect6/HBoxContainer"] +custom_minimum_size = Vector2(3.16, 0) +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 4 +texture = ExtResource("9_aqi88") +stretch_mode = 5 + +[node name="ToolButton" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect6" instance=ExtResource("8_vd154")] +layout_mode = 1 + +[node name="TextureRect7" type="TextureRect" parent="DrawerContainer/TextureRect/VBoxContainer"] +layout_mode = 2 +texture = ExtResource("7_gwjog") + +[node name="HBoxContainer" type="HBoxContainer" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect7"] +layout_mode = 1 +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 + +[node name="Label" type="Label" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect7/HBoxContainer"] +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 1 +text = "偷窃" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="TextureRect" type="TextureRect" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect7/HBoxContainer"] +custom_minimum_size = Vector2(3.16, 0) +layout_mode = 2 +size_flags_horizontal = 3 +size_flags_vertical = 4 +texture = ExtResource("9_aqi88") +stretch_mode = 5 + +[node name="ToolButton" parent="DrawerContainer/TextureRect/VBoxContainer/TextureRect7" instance=ExtResource("8_vd154")] +layout_mode = 1 + +[connection signal="pressed" from="TextureRect/ToolButton" to="." method="_on_tool_button_pressed"] diff --git a/scene/game_flow_event.tscn b/scene/game_flow_event.tscn new file mode 100644 index 0000000..bd89520 --- /dev/null +++ b/scene/game_flow_event.tscn @@ -0,0 +1,37 @@ +[gd_scene load_steps=4 format=3 uid="uid://bsegldhx3w3ws"] + +[ext_resource type="Texture2D" uid="uid://bl6dhkx6ryu7r" path="res://res/ui/ui_019_game_flow/tuceng291.png" id="1_6cbmv"] +[ext_resource type="PackedScene" uid="uid://bdlo2wn4qnygv" path="res://scene/tool/tool_button.tscn" id="2_cbja7"] + +[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_xe0iq"] +texture = ExtResource("1_6cbmv") +texture_margin_left = 14.6763 +texture_margin_top = 14.1118 +texture_margin_right = 12.4184 +texture_margin_bottom = 68.3014 +region_rect = Rect2(0, 0, 68, 255) + +[node name="game_flow_event" type="Panel"] +custom_minimum_size = Vector2(68, 255) +offset_right = 68.0 +offset_bottom = 255.0 +size_flags_horizontal = 8 +size_flags_vertical = 10 +theme_override_styles/panel = SubResource("StyleBoxTexture_xe0iq") + +[node name="Label" type="Label" parent="."] +layout_mode = 2 +anchor_left = 0.215828 +anchor_top = 0.0553406 +anchor_right = 0.817376 +anchor_bottom = 0.732152 +size_flags_vertical = 1 +theme_override_font_sizes/font_size = 29 +text = "事件1" +horizontal_alignment = 1 +vertical_alignment = 1 +autowrap_mode = 3 +metadata/_edit_use_anchors_ = true + +[node name="ToolButton" parent="." instance=ExtResource("2_cbja7")] +layout_mode = 1 diff --git a/scene/tool/tool_button.gd b/scene/tool/tool_button.gd index 5e3182c..0a86998 100644 --- a/scene/tool/tool_button.gd +++ b/scene/tool/tool_button.gd @@ -7,3 +7,9 @@ func on_button_down() -> void: func on_button_up() -> void: get_parent().modulate=Color(1,1,1,1) pass # Replace with function body.ion body. +static func static_on_button_down(canvas:CanvasItem) -> void: + canvas.modulate=Color(0.5,0.5,0.5,1) + pass # Replace with function body. +static func static_on_button_up(canvas:CanvasItem) -> void: + canvas.modulate=Color(1,1,1,1) + pass # Replace with function body.ion body.