ui manager

master
chendian 2 years ago
parent 04f4b2514f
commit ccafce2005

@ -106,46 +106,55 @@ MagicaVoxel.With.Extensions.To.MeshLibrary={
attack_light={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":74,"key_label":0,"unicode":106,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":2,"pressure":0.0,"pressed":true,"script":null)
]
}
attack_heavy={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":75,"key_label":0,"unicode":107,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":3,"pressure":0.0,"pressed":true,"script":null)
]
}
move_left={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":97,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null)
]
}
move_right={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":100,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null)
]
}
move_up={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":119,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"script":null)
]
}
move_down={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":115,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null)
]
}
jump={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":32,"key_label":0,"unicode":32,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":true,"script":null)
]
}
flash={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194325,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":4,"axis_value":1.0,"script":null)
]
}
lock={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":76,"key_label":0,"unicode":108,"echo":false,"script":null)
, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":5,"axis_value":1.0,"script":null)
]
}
weapon_pre={
@ -156,6 +165,24 @@ weapon_pre={
weapon_next={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":69,"key_label":0,"unicode":101,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":10,"pressure":0.0,"pressed":true,"script":null)
]
}
menu={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194305,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":6,"pressure":0.0,"pressed":true,"script":null)
]
}
status={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194306,"key_label":0,"unicode":0,"echo":false,"script":null)
, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":4,"pressure":0.0,"pressed":true,"script":null)
]
}
switch={
"deadzone": 0.5,
"events": [Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":9,"pressure":0.0,"pressed":true,"script":null)
]
}
test_1={

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 B

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d04pc2qtxicl2"
path="res://.godot/imported/pixel.png-8b85563bd6c30c08e41c5f91f621664f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://resource/ui/common/pixel.png"
dest_files=["res://.godot/imported/pixel.png-8b85563bd6c30c08e41c5f91f621664f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=0
compress/normal_map=2
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=false
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=0

@ -6,7 +6,7 @@
[ext_resource type="Script" path="res://script/character/move.gd" id="4_66r53"]
[ext_resource type="Texture2D" uid="uid://daqn6aqfp1hva" path="res://resource/animation/character/hero01_long_attack.png" id="4_fcd8a"]
[ext_resource type="Script" path="res://script/character/view.gd" id="4_vijjv"]
[ext_resource type="SpriteFrames" uid="uid://bs74u0yvluhky" path="res://resource/animation/character/monster01_attack.aseprite" id="5_7iibe"]
[ext_resource type="SpriteFrames" uid="uid://cwe8setoi6bd" path="res://resource/animation/character/hero01_move.aseprite" id="5_2ikpt"]
[ext_resource type="Script" path="res://script/character/skill.gd" id="6_h4xqy"]
[ext_resource type="AnimationLibrary" uid="uid://croik07a1qko5" path="res://resource/skill_animation_library/animation_library.tres" id="6_pakq5"]
[ext_resource type="Script" path="res://script/character/battle.gd" id="8_w84sf"]
@ -49,8 +49,8 @@ pixel_size = 0.02
double_sided = false
alpha_cut = 2
texture_filter = 0
sprite_frames = ExtResource("5_7iibe")
animation = &"attack01"
sprite_frames = ExtResource("5_2ikpt")
animation = &"idle_loop"
script = ExtResource("4_vijjv")
[node name="Move" type="Node3D" parent="."]

@ -1,6 +1,6 @@
[gd_scene load_steps=6 format=3 uid="uid://ba7pkdaq5y8nl"]
[ext_resource type="PackedScene" uid="uid://ksxwg0alt2us" path="res://scene/character/character.tscn" id="1_pot50"]
[ext_resource type="PackedScene" uid="uid://8rcvw1vnjcf7" path="res://scene/character/character.tscn" id="1_pot50"]
[ext_resource type="Script" path="res://script/character/player/combo.gd" id="2_i44w8"]
[ext_resource type="Script" path="res://script/character/player/player_input.gd" id="3_n07go"]
[ext_resource type="Script" path="res://script/character/player/player_info.gd" id="4_mi1lk"]
@ -10,7 +10,6 @@
[node name="View" parent="." index="2"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.693056, 0)
animation = &"long_air_attack01"
[node name="Combo" type="Node3D" parent="." index="8"]
unique_name_in_owner = true

@ -1,4 +1,4 @@
[gd_scene load_steps=12 format=3 uid="uid://eoydwrunmm5n"]
[gd_scene load_steps=13 format=3 uid="uid://eoydwrunmm5n"]
[ext_resource type="Script" path="res://script/manager/game_manager.gd" id="1_q2t80"]
[ext_resource type="Script" path="res://script/manager/level_manager.gd" id="2_ewhkj"]
@ -8,9 +8,10 @@
[ext_resource type="Script" path="res://script/editor_tool/editor_tool.gd" id="5_n3qhi"]
[ext_resource type="PackedScene" uid="uid://cc525u8auypjf" path="res://scene/ui/profile_screen.tscn" id="6_u1fxn"]
[ext_resource type="PackedScene" uid="uid://126wph4owvoy" path="res://scene/ui/hud_screen.tscn" id="7_gx646"]
[ext_resource type="Script" path="res://script/manager/ui_manager.gd" id="7_wa6ef"]
[ext_resource type="Script" path="res://script/manager/effect_manager.gd" id="8_0jv87"]
[ext_resource type="PackedScene" uid="uid://b78dbmcsioaa4" path="res://scene/ui/status_screen.tscn" id="9_bki0o"]
[ext_resource type="PackedScene" uid="uid://io1yfgjm480t" path="res://scene/effect/particle/particle_hit_normal.tscn" id="10_6naak"]
[ext_resource type="PackedScene" uid="uid://0uonhojhfgi" path="res://scene/ui/menu_screen.tscn" id="10_sky2n"]
[node name="Root" type="Node3D"]
@ -51,16 +52,17 @@ script = ExtResource("4_oonkb")
script = ExtResource("8_0jv87")
[node name="UIManager" type="Node3D" parent="GameManager"]
[node name="ProfileScreen" parent="GameManager/UIManager" instance=ExtResource("6_u1fxn")]
script = ExtResource("7_wa6ef")
[node name="HudScreen" parent="GameManager/UIManager" instance=ExtResource("7_gx646")]
[node name="StatusScreen" parent="GameManager/UIManager" instance=ExtResource("9_bki0o")]
[node name="MenuScreen" parent="GameManager/UIManager" instance=ExtResource("10_sky2n")]
[node name="ProfileScreen" parent="GameManager/UIManager" instance=ExtResource("6_u1fxn")]
[node name="EditorTool" type="Node3D" parent="."]
script = ExtResource("5_n3qhi")
[node name="Particle" parent="." instance=ExtResource("10_6naak")]
[connection signal="item_rect_changed" from="GameManager/Stage" to="GameManager/Stage" method="_on_item_rect_changed"]

@ -1,4 +1,4 @@
[gd_scene load_steps=25 format=3 uid="uid://126wph4owvoy"]
[gd_scene load_steps=26 format=3 uid="uid://126wph4owvoy"]
[ext_resource type="Script" path="res://script/ui/hud/hud_page.gd" id="1_t7dgf"]
[ext_resource type="Texture2D" uid="uid://c2cwtc10ine84" path="res://resource/ui/design/hud_design.png" id="2_ouq6l"]
@ -15,6 +15,7 @@
[ext_resource type="Texture2D" uid="uid://bvuv86ujfaqfx" path="res://resource/ui/hud/player_status_mp_sub.png" id="7_wiq06"]
[ext_resource type="Texture2D" uid="uid://bp7cve5pxkvv0" path="res://resource/ui/hud/boss_status_hp_empty.png" id="9_3sg6t"]
[ext_resource type="Shader" path="res://render/shader/loading.gdshader" id="9_lv4gd"]
[ext_resource type="Script" path="res://script/ui/hud/boss_status_item.gd" id="9_wcxio"]
[ext_resource type="Texture2D" uid="uid://d1p6frj6673py" path="res://resource/ui/hud/boss_status_hp.png" id="10_o72w7"]
[ext_resource type="PackedScene" uid="uid://dfjudjr7aq205" path="res://scene/ui/item/skill_item.tscn" id="12_gotas"]
[ext_resource type="Script" path="res://script/ui/hud/skill_item.gd" id="12_s7xys"]
@ -166,7 +167,7 @@ offset_bottom = 316.0
grow_horizontal = 2
grow_vertical = 2
pivot_offset = Vector2(16, 16)
script = ExtResource("3_uokru")
script = ExtResource("9_wcxio")
[node name="HpBar" type="TextureProgressBar" parent="HudPage/BossStatusItem"]
layout_mode = 1

@ -0,0 +1,29 @@
[gd_scene load_steps=2 format=3 uid="uid://0uonhojhfgi"]
[ext_resource type="Texture2D" uid="uid://d04pc2qtxicl2" path="res://resource/ui/common/pixel.png" id="1_7uu3x"]
[node name="MenuScreen" type="CanvasLayer"]
[node name="Background" type="TextureRect" parent="."]
modulate = Color(0, 0, 0, 0.501961)
offset_right = 640.0
offset_bottom = 360.0
texture = ExtResource("1_7uu3x")
[node name="VBoxContainer" type="VBoxContainer" parent="."]
offset_left = 24.0
offset_top = 208.0
offset_right = 114.0
offset_bottom = 309.0
[node name="Continue" type="Button" parent="VBoxContainer"]
layout_mode = 2
text = "Continue"
[node name="Setting" type="Button" parent="VBoxContainer"]
layout_mode = 2
text = "Setting"
[node name="Save&Quit" type="Button" parent="VBoxContainer"]
layout_mode = 2
text = "Save&Quit"

@ -16,5 +16,6 @@ size_flags_vertical = 0
[node name="FPS" type="Label" parent="VBoxContainer"]
layout_mode = 2
theme_override_font_sizes/font_size = 15
text = "123"
script = ExtResource("1_ay6sg")

@ -3,8 +3,10 @@ extends Node3D
var camera_mgr : CameraManager
var character_mgr : CharacterManager
var level_mgr : LevelManager
var ui_mgr : UIManager
#全局状态
var is_level_loading : bool
var is_level_loading_contorl : bool
var currlevel_name : String
var is_control_pause : bool

@ -15,13 +15,27 @@ func _ready():
func on_input_action_pressed(action_name:String):
if not action_name in action_map:
action_map[action_name] = true
if not action.check_action(action_name,true):
combo.add_input_action(action_name)
else:
return
Global.ui_mgr.input_action(action_name,true)
if Global.is_control_pause:
return
if not action.check_action(action_name,true):
combo.add_input_action(action_name)
func on_input_action_released(action_name:String):
if action_name in action_map:
action_map.erase(action_name)
action.check_action(action_name,false)
if not action_name in action_map:
return
Global.ui_mgr.input_action(action_name,false)
if Global.is_control_pause:
return
action_map.erase(action_name)
action.check_action(action_name,false)
func on_input_action_move(input_dir):
Global.ui_mgr.input_dir(input_dir,false)
if Global.is_control_pause:
return
status.input_dir = input_dir

@ -0,0 +1,51 @@
extends Node3D
class_name UIManager
@onready var ui_map = {
"profile" : $ProfileScreen,
"hud" : $HudScreen,
"status" : $StatusScreen,
"menu" : $MenuScreen
}
var pause_count = 0
var ui_stack = []
func _ready():
Global.ui_mgr = self
close_all()
open("hud")
func input_action(key:String,is_pressed:bool):
pass
func input_dir(key:String,is_pressed:bool):
pass
func open(ui_name:String):
set_ui_visible(ui_name,true)
func close(ui_name:String):
set_ui_visible(ui_name,false)
func close_all():
for ui_name in ui_map:
close(ui_name)
func pause_open(ui_name:String):
open(ui_name)
set_pause(true)
func pause_close(ui_name:String):
close(ui_name)
set_pause(false)
func set_ui_visible(ui_name:String,is_visible:bool):
if not ui_name in ui_map:
return
ui_map[ui_name].visible = is_visible
func set_pause(is_pause:bool):
Global.is_control_pause = is_pause
get_tree().paused = is_pause

@ -1,31 +1,9 @@
extends Control
@onready var mp_scene = preload("res://scene/ui/item/mp_item.tscn")
@onready var hp_bar = $HpBar as TextureProgressBar
@onready var mp_sub_bar = $MpSubBar as TextureProgressBar
@onready var mp_list = $MpList as HBoxContainer
func on_hp_max_changed(value:float):
hp_bar.max_value = value
func on_hp_changed(value:float):
hp_bar.value = value
func on_mp_sub_max_changed(value:float):
mp_sub_bar.max_value = value
func on_mp_sub_changed(value:float):
mp_sub_bar.value = value
func on_mp_max_changed(value:int):
for child in mp_list.get_children():
child.queue_free()
for i in range(value):
var mp_item = mp_scene.instantiate() as MpItemSub
mp_list.add_child(mp_item)
func on_mp_changed(value:int):
for i in range(mp_list.get_child_count()):
var mp_item = mp_list.get_child(i) as MpItemSub
mp_item.set_active(i<value)

@ -1,4 +1,4 @@
extends Label
func _process(delta):
set_text("FPS %d" % Engine.get_frames_per_second())
set_text("%d FPS" % Engine.get_frames_per_second())

Loading…
Cancel
Save