diff --git a/components/Abstracts/SkillIconBase.tscn b/components/Abstracts/SkillIconBase.tscn index 216a63d..7002344 100644 --- a/components/Abstracts/SkillIconBase.tscn +++ b/components/Abstracts/SkillIconBase.tscn @@ -10,18 +10,20 @@ content_margin_top = 5.0 content_margin_right = 5.0 content_margin_bottom = 5.0 bg_color = Color(0, 0, 0, 0.5) -corner_radius_top_left = 15 -corner_radius_top_right = 15 -corner_radius_bottom_right = 15 -corner_radius_bottom_left = 15 +corner_radius_top_left = 20 +corner_radius_top_right = 20 +corner_radius_bottom_right = 20 +corner_radius_bottom_left = 20 [sub_resource type="ShaderMaterial" id="ShaderMaterial_ew32n"] shader = ExtResource("1_jaivk") shader_parameter/progress = 0.5 shader_parameter/backAlpha = 0.25 +shader_parameter/edgeHeight = 0.05 +shader_parameter/trailHeight = 0.3 [node name="SkillIconBase" type="PanelContainer"] -custom_minimum_size = Vector2(30, 30) +custom_minimum_size = Vector2(40, 40) offset_right = 30.0 offset_bottom = 30.0 theme_override_styles/panel = SubResource("StyleBoxFlat_a60wd") diff --git a/scripts/Statemachine/SkillIcon.gd b/scripts/Statemachine/SkillIcon.gd index 73d5074..203f68b 100644 --- a/scripts/Statemachine/SkillIcon.gd +++ b/scripts/Statemachine/SkillIcon.gd @@ -11,4 +11,4 @@ func _physics_process(_delta): if is_instance_valid(weapon): textureRect.texture = weapon.avatarTexture var progress = weapon.cooldownTimer.timeSinceLastStart() / weapon.cooldownTimer.cooldown - textureRect.material.set_shader_parameter("progress", clamp(progress, 0, 1)) + textureRect.material.set_shader_parameter("progress", progress) diff --git a/shaders/CooldownProgress.gdshader b/shaders/CooldownProgress.gdshader index c5527c2..b83b99a 100644 --- a/shaders/CooldownProgress.gdshader +++ b/shaders/CooldownProgress.gdshader @@ -1,9 +1,16 @@ shader_type canvas_item; -uniform float progress:hint_range(0.0, 1.0, 0.01)=0.5; +uniform float progress:hint_range(0.0, 2.0, 0.01)=0.5; uniform float backAlpha:hint_range(0.0, 1.0, 0.01)=0.25; +uniform float edgeHeight:hint_range(0.0, 1.0, 0.01)=0.05; +uniform float trailHeight:hint_range(0.0, 1.0, 0.01)=0.3; void fragment() { COLOR=texture(TEXTURE,UV); if(UV.y>=progress){ COLOR.a*=backAlpha; + }else if(distance(UV.y,progress)