Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7c8c39ad6e | |||
| ed714e611a | |||
| 623ad761ec | |||
| 1aac01030e | |||
| 7a31327940 |
@@ -4,7 +4,7 @@ extends ColorRect
|
|||||||
|
|
||||||
|
|
||||||
const DAMAGE_VALUE = 50.0
|
const DAMAGE_VALUE = 50.0
|
||||||
const COLLISION_OFFSET = Vector2(8, 8)
|
const COLLISION_OFFSET = Vector2(16, 16)
|
||||||
|
|
||||||
|
|
||||||
var _player : Player
|
var _player : Player
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ const MAX_HEALTH = 100.0
|
|||||||
const CAMERA_OFFSET_FACTOR = 0.4
|
const CAMERA_OFFSET_FACTOR = 0.4
|
||||||
const CAMERA_OFFSET_TIME = 1.0
|
const CAMERA_OFFSET_TIME = 1.0
|
||||||
|
|
||||||
|
const SHADER_DAMAGE_INDICATOR = "shader_parameter/intensity"
|
||||||
|
|
||||||
|
|
||||||
@export_group("Movement", "move")
|
@export_group("Movement", "move")
|
||||||
@export_range(0.0, 1000.0) var move_max_speed_normal := 350
|
@export_range(0.0, 1000.0) var move_max_speed_normal := 350
|
||||||
@@ -35,6 +37,7 @@ const CAMERA_OFFSET_TIME = 1.0
|
|||||||
|
|
||||||
var _slow_down_tween: Tween
|
var _slow_down_tween: Tween
|
||||||
var _camera_offset_tween: Tween
|
var _camera_offset_tween: Tween
|
||||||
|
var _damage_indicator_tween: Tween
|
||||||
|
|
||||||
var _last_wall_normal: = 0.0
|
var _last_wall_normal: = 0.0
|
||||||
|
|
||||||
@@ -81,31 +84,29 @@ func _ready() -> void:
|
|||||||
sprite.hide()
|
sprite.hide()
|
||||||
|
|
||||||
|
|
||||||
func _physics_process(delta: float) -> void:
|
func _physics_process(delta: float) -> void:
|
||||||
if is_on_floor():
|
if is_on_floor():
|
||||||
floor_coyote_time_timer.start()
|
floor_coyote_time_timer.start()
|
||||||
_last_wall_normal = 0.0
|
_last_wall_normal = 0.0
|
||||||
if is_on_ceiling_only() and velocity.y < 0.0:
|
if is_on_ceiling_only() and velocity.y < 0.0:
|
||||||
velocity.y = 0.0
|
velocity.y = 0.0
|
||||||
|
|
||||||
var input_direction := Input.get_axis("move_left", "move_right")
|
|
||||||
if Input.is_action_just_pressed("jump"):
|
if Input.is_action_just_pressed("jump"):
|
||||||
jump_buffer_timer.start()
|
jump_buffer_timer.start()
|
||||||
|
|
||||||
if not is_on_floor():
|
if not is_on_floor():
|
||||||
var gravity_factor := gravity_factor_jump if velocity.y < 0.0 else gravity_factor_fall
|
var gravity_factor := gravity_factor_jump if velocity.y < 0.0 else gravity_factor_fall
|
||||||
|
|
||||||
if is_on_wall_only() and not is_zero_approx(input_direction):
|
if is_on_wall_only():
|
||||||
|
wall_coyote_time_timer.start()
|
||||||
var wall_normal := get_wall_normal().x
|
var wall_normal := get_wall_normal().x
|
||||||
if (wall_normal * input_direction) < 0.0:
|
if sign(wall_normal) != sign(_last_wall_normal):
|
||||||
wall_coyote_time_timer.start()
|
wall_attach_timer.start()
|
||||||
if sign(wall_normal) != sign(_last_wall_normal):
|
velocity.y = 0.0
|
||||||
wall_attach_timer.start()
|
_last_wall_normal = wall_normal
|
||||||
velocity.y = 0.0
|
|
||||||
_last_wall_normal = wall_normal
|
if not Input.is_action_pressed("move_down") and velocity.y > 0.0:
|
||||||
|
gravity_factor = gravity_factor_slide if wall_attach_timer.is_stopped() else 0.0
|
||||||
if not Input.is_action_pressed("move_down") and velocity.y > 0.0:
|
|
||||||
gravity_factor = gravity_factor_slide if wall_attach_timer.is_stopped() else 0.0
|
|
||||||
|
|
||||||
if velocity.y < 0.0 and not Input.is_action_pressed("jump"):
|
if velocity.y < 0.0 and not Input.is_action_pressed("jump"):
|
||||||
velocity.y *= gravity_factor_passive_jump
|
velocity.y *= gravity_factor_passive_jump
|
||||||
@@ -126,6 +127,7 @@ func _physics_process(delta: float) -> void:
|
|||||||
wall_coyote_time_timer.stop()
|
wall_coyote_time_timer.stop()
|
||||||
SoundManager.play_sfx_stream(SoundManager.sfx_stream_wall_jump, global_position)
|
SoundManager.play_sfx_stream(SoundManager.sfx_stream_wall_jump, global_position)
|
||||||
|
|
||||||
|
var input_direction := Input.get_axis("move_left", "move_right")
|
||||||
if input_direction:
|
if input_direction:
|
||||||
var input_velocity := input_direction * _max_speed
|
var input_velocity := input_direction * _max_speed
|
||||||
velocity.x = move_toward(velocity.x, input_velocity, move_acceleration * delta)
|
velocity.x = move_toward(velocity.x, input_velocity, move_acceleration * delta)
|
||||||
@@ -156,6 +158,14 @@ func _input(event: InputEvent) -> void:
|
|||||||
|
|
||||||
|
|
||||||
func deal_damage(value: float) -> void:
|
func deal_damage(value: float) -> void:
|
||||||
|
if _damage_indicator_tween and _damage_indicator_tween.is_running():
|
||||||
|
_damage_indicator_tween.kill()
|
||||||
|
_damage_indicator_tween = create_tween()
|
||||||
|
|
||||||
|
_damage_indicator_tween.tween_property(player_sprite.material, SHADER_DAMAGE_INDICATOR, 0, 0.0)
|
||||||
|
_damage_indicator_tween.tween_property(player_sprite.material, SHADER_DAMAGE_INDICATOR, 1, 0.1)
|
||||||
|
_damage_indicator_tween.tween_property(player_sprite.material, SHADER_DAMAGE_INDICATOR, 0, 0.1)
|
||||||
|
|
||||||
_current_health -= value
|
_current_health -= value
|
||||||
health_changed.emit(_current_health)
|
health_changed.emit(_current_health)
|
||||||
if _current_health < 0.0 or is_zero_approx(_current_health):
|
if _current_health < 0.0 or is_zero_approx(_current_health):
|
||||||
|
|||||||
@@ -2,15 +2,17 @@
|
|||||||
|
|
||||||
[ext_resource type="Script" uid="uid://bm48h30pkhdkv" path="res://game/entities/player/player.gd" id="1_1a4jd"]
|
[ext_resource type="Script" uid="uid://bm48h30pkhdkv" path="res://game/entities/player/player.gd" id="1_1a4jd"]
|
||||||
[ext_resource type="Texture2D" uid="uid://vcrtyu5ifvsp" path="res://images/entities/player.png" id="2_cjfdk"]
|
[ext_resource type="Texture2D" uid="uid://vcrtyu5ifvsp" path="res://images/entities/player.png" id="2_cjfdk"]
|
||||||
|
[ext_resource type="Shader" uid="uid://bywlejhmgj55q" path="res://game/shaders/hit_indicator.gdshader" id="2_kn1iv"]
|
||||||
[ext_resource type="PackedScene" uid="uid://blxgfix54dxq3" path="res://game/state_machine/state_machine.tscn" id="2_x4rrl"]
|
[ext_resource type="PackedScene" uid="uid://blxgfix54dxq3" path="res://game/state_machine/state_machine.tscn" id="2_x4rrl"]
|
||||||
[ext_resource type="PackedScene" uid="uid://btu3hxif2xpvu" path="res://game/entities/player/states/idle_state.tscn" id="3_cjfdk"]
|
[ext_resource type="PackedScene" uid="uid://btu3hxif2xpvu" path="res://game/entities/player/states/idle_state.tscn" id="3_cjfdk"]
|
||||||
[ext_resource type="PackedScene" uid="uid://35g5buv0k1s6" path="res://game/entities/player/states/running_state.tscn" id="5_oic1i"]
|
[ext_resource type="PackedScene" uid="uid://35g5buv0k1s6" path="res://game/entities/player/states/running_state.tscn" id="5_oic1i"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bboaskqiwnbsb" path="res://game/entities/player/states/jump_state.tscn" id="6_v0nmi"]
|
[ext_resource type="PackedScene" uid="uid://bboaskqiwnbsb" path="res://game/entities/player/states/jump_state.tscn" id="6_v0nmi"]
|
||||||
[ext_resource type="PackedScene" uid="uid://ba5sknbijujl2" path="res://game/entities/player/states/wall_state.tscn" id="7_dhej3"]
|
[ext_resource type="PackedScene" uid="uid://ba5sknbijujl2" path="res://game/entities/player/states/wall_state.tscn" id="7_dhej3"]
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_bhunq"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_fa7iy"]
|
||||||
radius = 4.5
|
shader = ExtResource("2_kn1iv")
|
||||||
height = 28.0
|
shader_parameter/damage_color = Color(0.8235294, 0.8235294, 0.83137256, 1)
|
||||||
|
shader_parameter/intensity = 0.0
|
||||||
|
|
||||||
[sub_resource type="AtlasTexture" id="AtlasTexture_cjfdk"]
|
[sub_resource type="AtlasTexture" id="AtlasTexture_cjfdk"]
|
||||||
atlas = ExtResource("2_cjfdk")
|
atlas = ExtResource("2_cjfdk")
|
||||||
@@ -524,8 +526,11 @@ animations = [{
|
|||||||
"speed": 20.0
|
"speed": 20.0
|
||||||
}]
|
}]
|
||||||
|
|
||||||
|
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_bhunq"]
|
||||||
|
radius = 2.5
|
||||||
|
height = 24.0
|
||||||
|
|
||||||
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_riqys"]
|
[sub_resource type="CapsuleShape2D" id="CapsuleShape2D_riqys"]
|
||||||
radius = 8.0
|
|
||||||
height = 24.0
|
height = 24.0
|
||||||
|
|
||||||
[sub_resource type="Gradient" id="Gradient_qr0ht"]
|
[sub_resource type="Gradient" id="Gradient_qr0ht"]
|
||||||
@@ -549,13 +554,10 @@ color_ramp = SubResource("GradientTexture1D_riqys")
|
|||||||
collision_layer = 2
|
collision_layer = 2
|
||||||
script = ExtResource("1_1a4jd")
|
script = ExtResource("1_1a4jd")
|
||||||
|
|
||||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=379935685]
|
|
||||||
position = Vector2(0.5, 2)
|
|
||||||
shape = SubResource("CapsuleShape2D_bhunq")
|
|
||||||
|
|
||||||
[node name="PlayerSprite" type="AnimatedSprite2D" parent="." unique_id=2025942250]
|
[node name="PlayerSprite" type="AnimatedSprite2D" parent="." unique_id=2025942250]
|
||||||
|
material = SubResource("ShaderMaterial_fa7iy")
|
||||||
sprite_frames = SubResource("SpriteFrames_bhunq")
|
sprite_frames = SubResource("SpriteFrames_bhunq")
|
||||||
animation = &"run_right"
|
animation = &"idle"
|
||||||
|
|
||||||
[node name="BladeSprite" type="AnimatedSprite2D" parent="." unique_id=1561250707]
|
[node name="BladeSprite" type="AnimatedSprite2D" parent="." unique_id=1561250707]
|
||||||
position = Vector2(0, 8)
|
position = Vector2(0, 8)
|
||||||
@@ -576,8 +578,12 @@ animation = &"attack"
|
|||||||
frame = 5
|
frame = 5
|
||||||
frame_progress = 1.0
|
frame_progress = 1.0
|
||||||
|
|
||||||
|
[node name="CollisionShape2D" type="CollisionShape2D" parent="." unique_id=379935685]
|
||||||
|
position = Vector2(0.5, 4)
|
||||||
|
shape = SubResource("CapsuleShape2D_bhunq")
|
||||||
|
|
||||||
[node name="LeftAttackArea" type="Area2D" parent="." unique_id=829956444]
|
[node name="LeftAttackArea" type="Area2D" parent="." unique_id=829956444]
|
||||||
position = Vector2(-20, 0)
|
position = Vector2(-18, 0)
|
||||||
collision_layer = 16
|
collision_layer = 16
|
||||||
collision_mask = 8
|
collision_mask = 8
|
||||||
monitoring = false
|
monitoring = false
|
||||||
@@ -586,7 +592,7 @@ monitoring = false
|
|||||||
shape = SubResource("CapsuleShape2D_riqys")
|
shape = SubResource("CapsuleShape2D_riqys")
|
||||||
|
|
||||||
[node name="RightAttackArea" type="Area2D" parent="." unique_id=1656556085]
|
[node name="RightAttackArea" type="Area2D" parent="." unique_id=1656556085]
|
||||||
position = Vector2(20, 0)
|
position = Vector2(19, 0)
|
||||||
collision_layer = 16
|
collision_layer = 16
|
||||||
collision_mask = 8
|
collision_mask = 8
|
||||||
monitoring = false
|
monitoring = false
|
||||||
@@ -680,7 +686,7 @@ wait_time = 0.5
|
|||||||
|
|
||||||
[node name="AttackCooldownTimer" type="Timer" parent="." unique_id=1208896947]
|
[node name="AttackCooldownTimer" type="Timer" parent="." unique_id=1208896947]
|
||||||
process_callback = 0
|
process_callback = 0
|
||||||
wait_time = 0.5
|
wait_time = 0.4
|
||||||
one_shot = true
|
one_shot = true
|
||||||
|
|
||||||
[node name="WallLeftParticles" type="GPUParticles2D" parent="." unique_id=2009522894]
|
[node name="WallLeftParticles" type="GPUParticles2D" parent="." unique_id=2009522894]
|
||||||
|
|||||||
@@ -19,53 +19,18 @@ tile_map_data = PackedByteArray("AAAJAPn/AQABAAsAAAAKAPn/AQADABIAAAAKAPr/AQACABE
|
|||||||
[node name="LevelEndGuidance" parent="Guidances" parent_id_path=PackedInt32Array(1356136322) index="0" unique_id=1797017316]
|
[node name="LevelEndGuidance" parent="Guidances" parent_id_path=PackedInt32Array(1356136322) index="0" unique_id=1797017316]
|
||||||
position = Vector2(7054, -79)
|
position = Vector2(7054, -79)
|
||||||
|
|
||||||
[node name="Jump1" type="Node2D" parent="Guidances" parent_id_path=PackedInt32Array(1356136322) index="1" unique_id=140077451]
|
[node name="Jump" type="Node2D" parent="Guidances" parent_id_path=PackedInt32Array(1356136322) index="1" unique_id=140077451]
|
||||||
position = Vector2(2578, -444)
|
position = Vector2(2363, -481)
|
||||||
|
|
||||||
[node name="Keyboard" parent="Guidances/Jump1" index="0" unique_id=1389188230 instance=ExtResource("2_2vfi4")]
|
[node name="Keyboard" parent="Guidances/Jump" index="0" unique_id=1389188230 instance=ExtResource("2_2vfi4")]
|
||||||
custom_size = Vector2(98, 194)
|
position = Vector2(-24, 0)
|
||||||
size = 2
|
size = 1
|
||||||
text = "I
|
text = "SPACE"
|
||||||
|
|
||||||
D
|
[node name="Gamepad" parent="Guidances/Jump" index="1" unique_id=1731715060 instance=ExtResource("2_2vfi4")]
|
||||||
+
|
text = "A"
|
||||||
SPACE"
|
|
||||||
|
|
||||||
[node name="Gamepad" parent="Guidances/Jump1" index="1" unique_id=1731715060 instance=ExtResource("2_2vfi4")]
|
[node name="ControlGuidanceSwitcher" parent="Guidances/Jump" index="2" unique_id=552528483 node_paths=PackedStringArray("keyboard_guidance", "gamepad_guidance") instance=ExtResource("3_3jny0")]
|
||||||
custom_size = Vector2(98, 194)
|
|
||||||
size = 2
|
|
||||||
text = "I
|
|
||||||
|
|
||||||
LS >
|
|
||||||
+
|
|
||||||
A"
|
|
||||||
|
|
||||||
[node name="ControlGuidanceSwitcher" parent="Guidances/Jump1" index="2" unique_id=552528483 node_paths=PackedStringArray("keyboard_guidance", "gamepad_guidance") instance=ExtResource("3_3jny0")]
|
|
||||||
keyboard_guidance = NodePath("../Keyboard")
|
|
||||||
gamepad_guidance = NodePath("../Gamepad")
|
|
||||||
|
|
||||||
[node name="Jump2" type="Node2D" parent="Guidances" parent_id_path=PackedInt32Array(1356136322) index="2" unique_id=1019127324]
|
|
||||||
position = Vector2(2337, -558)
|
|
||||||
|
|
||||||
[node name="Keyboard" parent="Guidances/Jump2" index="0" unique_id=805769241 instance=ExtResource("2_2vfi4")]
|
|
||||||
custom_size = Vector2(98, 194)
|
|
||||||
size = 2
|
|
||||||
text = "II
|
|
||||||
|
|
||||||
A
|
|
||||||
+
|
|
||||||
SPACE"
|
|
||||||
|
|
||||||
[node name="Gamepad" parent="Guidances/Jump2" index="1" unique_id=244809676 instance=ExtResource("2_2vfi4")]
|
|
||||||
custom_size = Vector2(98, 194)
|
|
||||||
size = 2
|
|
||||||
text = "II
|
|
||||||
|
|
||||||
< LS
|
|
||||||
+
|
|
||||||
A"
|
|
||||||
|
|
||||||
[node name="ControlGuidanceSwitcher" parent="Guidances/Jump2" index="2" unique_id=297418319 node_paths=PackedStringArray("keyboard_guidance", "gamepad_guidance") instance=ExtResource("3_3jny0")]
|
|
||||||
keyboard_guidance = NodePath("../Keyboard")
|
keyboard_guidance = NodePath("../Keyboard")
|
||||||
gamepad_guidance = NodePath("../Gamepad")
|
gamepad_guidance = NodePath("../Gamepad")
|
||||||
|
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
[ext_resource type="PackedScene" uid="uid://dlntrn4m04pxn" path="res://game/entities/guidance/level_end_guidance.tscn" id="2_1t02d"]
|
[ext_resource type="PackedScene" uid="uid://dlntrn4m04pxn" path="res://game/entities/guidance/level_end_guidance.tscn" id="2_1t02d"]
|
||||||
[ext_resource type="PackedScene" uid="uid://dxqq07mde0b4a" path="res://game/entities/danger/danger.tscn" id="2_2w2dg"]
|
[ext_resource type="PackedScene" uid="uid://dxqq07mde0b4a" path="res://game/entities/danger/danger.tscn" id="2_2w2dg"]
|
||||||
|
|
||||||
[sub_resource type="ViewportTexture" id="ViewportTexture_2w2dg"]
|
[sub_resource type="ViewportTexture" id="ViewportTexture_1t02d"]
|
||||||
viewport_path = NodePath("CanvasLayer/CodeViewport")
|
viewport_path = NodePath("CanvasLayer/CodeViewport")
|
||||||
|
|
||||||
[node name="Level7" unique_id=1001045799 instance=ExtResource("1_bhhdo")]
|
[node name="Level7" unique_id=1001045799 instance=ExtResource("1_bhhdo")]
|
||||||
@@ -72,7 +72,7 @@ tile_map_data = PackedByteArray("AAD///P/AQAAAA4AAAANAPP/AQABAA4AAAATAAAAAQAAAA0
|
|||||||
position = Vector2(4762, 82)
|
position = Vector2(4762, 82)
|
||||||
|
|
||||||
[node name="CodeSprite" parent="CanvasLayer" parent_id_path=PackedInt32Array(1125559156) index="1" unique_id=1152584149]
|
[node name="CodeSprite" parent="CanvasLayer" parent_id_path=PackedInt32Array(1125559156) index="1" unique_id=1152584149]
|
||||||
texture = SubResource("ViewportTexture_2w2dg")
|
texture = SubResource("ViewportTexture_1t02d")
|
||||||
|
|
||||||
[node name="LevelEnd" parent="." index="14" unique_id=1444951079]
|
[node name="LevelEnd" parent="." index="14" unique_id=1444951079]
|
||||||
position = Vector2(5208, -608)
|
position = Vector2(5208, -608)
|
||||||
|
|||||||
@@ -65,7 +65,7 @@ layout_mode = 2
|
|||||||
size_flags_vertical = 1
|
size_flags_vertical = 1
|
||||||
theme_override_fonts/font = ExtResource("3_i4f54")
|
theme_override_fonts/font = ExtResource("3_i4f54")
|
||||||
theme_override_font_sizes/font_size = 8
|
theme_override_font_sizes/font_size = 8
|
||||||
text = "v 1.0.0
|
text = "v 1.0.1
|
||||||
(c) Ruslan Ignatov 2026
|
(c) Ruslan Ignatov 2026
|
||||||
Powered by Godot Engine"
|
Powered by Godot Engine"
|
||||||
horizontal_alignment = 2
|
horizontal_alignment = 2
|
||||||
|
|||||||
@@ -65,6 +65,8 @@ text = "FULLSCREEN"
|
|||||||
[node name="WindowFactorLabel" type="Label" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=1054219556]
|
[node name="WindowFactorLabel" type="Label" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=1054219556]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
|
text = "WINDOW FACTOR"
|
||||||
|
horizontal_alignment = 2
|
||||||
|
|
||||||
[node name="WindowFactorContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=2006592987]
|
[node name="WindowFactorContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=2006592987]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
@@ -102,7 +104,8 @@ metadata/window_factor = 5
|
|||||||
|
|
||||||
[node name="MasterLabel" type="Label" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=1502062154]
|
[node name="MasterLabel" type="Label" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=1502062154]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "MASTER"
|
text = "MASTER VOLUME"
|
||||||
|
horizontal_alignment = 2
|
||||||
|
|
||||||
[node name="MasterSlider" type="HSlider" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=1600615574]
|
[node name="MasterSlider" type="HSlider" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=1600615574]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
@@ -116,7 +119,8 @@ ticks_position = 3
|
|||||||
|
|
||||||
[node name="UILabel" type="Label" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=1039303416]
|
[node name="UILabel" type="Label" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=1039303416]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "UI"
|
text = "UI VOLUME"
|
||||||
|
horizontal_alignment = 2
|
||||||
|
|
||||||
[node name="UISlider" type="HSlider" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=2094741924]
|
[node name="UISlider" type="HSlider" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=2094741924]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
@@ -130,7 +134,8 @@ ticks_position = 3
|
|||||||
|
|
||||||
[node name="SFXLabel" type="Label" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=122025284]
|
[node name="SFXLabel" type="Label" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=122025284]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "SFX"
|
text = "SFX VOLUME"
|
||||||
|
horizontal_alignment = 2
|
||||||
|
|
||||||
[node name="SFXSlider" type="HSlider" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=630139889]
|
[node name="SFXSlider" type="HSlider" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=630139889]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
@@ -144,7 +149,8 @@ ticks_position = 3
|
|||||||
|
|
||||||
[node name="MusicLabel" type="Label" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=2133353313]
|
[node name="MusicLabel" type="Label" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=2133353313]
|
||||||
layout_mode = 2
|
layout_mode = 2
|
||||||
text = "MUSIC"
|
text = "MUSIC VOLUME"
|
||||||
|
horizontal_alignment = 2
|
||||||
|
|
||||||
[node name="MusicSlider" type="HSlider" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=537100873]
|
[node name="MusicSlider" type="HSlider" parent="MarginContainer/VBoxContainer/GridContainer" unique_id=537100873]
|
||||||
unique_name_in_owner = true
|
unique_name_in_owner = true
|
||||||
|
|||||||
@@ -0,0 +1,8 @@
|
|||||||
|
shader_type canvas_item;
|
||||||
|
|
||||||
|
uniform vec3 damage_color : source_color = vec3(1.0);
|
||||||
|
uniform float intensity : hint_range(0.0, 1.0) = 0.0;
|
||||||
|
|
||||||
|
void fragment() {
|
||||||
|
COLOR.rgb = mix(COLOR.rgb, damage_color.rgb, intensity);
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
uid://bywlejhmgj55q
|
||||||
Reference in New Issue
Block a user