Added corruption shader
This commit is contained in:
@@ -2,17 +2,34 @@ class_name AbstractLevel
|
||||
extends Node2D
|
||||
|
||||
|
||||
@export var initial_corruption_x := 0.0
|
||||
@export var corruption_speed := 0.0
|
||||
|
||||
|
||||
var _corruption_x: float
|
||||
|
||||
|
||||
@onready var player : Player = $Player
|
||||
@onready var pause_menu : PauseMenu = $%PauseMenu
|
||||
|
||||
@onready var level_material : ShaderMaterial = $%LevelColorRect.material
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
$Menus.show()
|
||||
_corruption_x = initial_corruption_x
|
||||
pause_menu.hide()
|
||||
|
||||
#TODO Add gameplay music
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
_corruption_x += corruption_speed * delta
|
||||
|
||||
var screen_to_world := player.camera.get_canvas_transform().affine_inverse()
|
||||
level_material.set_shader_parameter("screen_to_world", screen_to_world)
|
||||
level_material.set_shader_parameter("corruption_x", _corruption_x)
|
||||
|
||||
|
||||
func _input(event: InputEvent) -> void:
|
||||
if event.is_action_pressed("pause"):
|
||||
SoundManager.play_ui_stream(SoundManager.ui_stream_accept)
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
[ext_resource type="Script" uid="uid://wm4pbk5w5ats" path="res://game/levels/abstract_level.gd" id="1_o2mui"]
|
||||
[ext_resource type="PackedScene" uid="uid://ts4dy8xmtot8" path="res://game/entities/player/player.tscn" id="2_r0ht6"]
|
||||
[ext_resource type="PackedScene" uid="uid://0e3xvmn36j5b" path="res://game/menu/pause_menu.tscn" id="3_fnnmn"]
|
||||
[ext_resource type="Shader" uid="uid://brudtlwas6x66" path="res://game/shaders/glitch.gdshader" id="4_6b8cu"]
|
||||
[ext_resource type="Texture2D" uid="uid://b8rm1kxgci4l1" path="res://images/level/beams.png" id="4_pi5fd"]
|
||||
|
||||
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_6b8cu"]
|
||||
@@ -1169,6 +1170,12 @@ terrain_set_0/terrain_0/name = "Beams"
|
||||
terrain_set_0/terrain_0/color = Color(0.64282656, 0, 0.1545574, 1)
|
||||
sources/0 = SubResource("TileSetAtlasSource_6b8cu")
|
||||
|
||||
[sub_resource type="ShaderMaterial" id="ShaderMaterial_yeikn"]
|
||||
shader = ExtResource("4_6b8cu")
|
||||
shader_parameter/corruption_x = 0.0
|
||||
shader_parameter/edge_width = 50.0
|
||||
shader_parameter/screen_to_world = Projection(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)
|
||||
|
||||
[node name="AbstractLevel" type="Node2D" unique_id=1001045799]
|
||||
script = ExtResource("1_o2mui")
|
||||
|
||||
@@ -1177,8 +1184,14 @@ script = ExtResource("1_o2mui")
|
||||
[node name="TileMapLayer" type="TileMapLayer" parent="." unique_id=502099522]
|
||||
tile_set = SubResource("TileSet_71ysb")
|
||||
|
||||
[node name="Menus" type="CanvasLayer" parent="." unique_id=1125559156]
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=1125559156]
|
||||
|
||||
[node name="PauseMenu" parent="Menus" unique_id=1815975678 instance=ExtResource("3_fnnmn")]
|
||||
[node name="LevelColorRect" type="ColorRect" parent="CanvasLayer" unique_id=739757562]
|
||||
unique_name_in_owner = true
|
||||
material = SubResource("ShaderMaterial_yeikn")
|
||||
offset_right = 640.0
|
||||
offset_bottom = 360.0
|
||||
|
||||
[node name="PauseMenu" parent="CanvasLayer" unique_id=1815975678 instance=ExtResource("3_fnnmn")]
|
||||
unique_name_in_owner = true
|
||||
process_mode = 2
|
||||
|
||||
@@ -3,9 +3,11 @@
|
||||
[ext_resource type="PackedScene" uid="uid://hdnty666fw1h" path="res://game/levels/abstract_level.tscn" id="1_46m3m"]
|
||||
|
||||
[node name="TestLevel" unique_id=1001045799 instance=ExtResource("1_46m3m")]
|
||||
initial_corruption_x = -500.0
|
||||
corruption_speed = 10.0
|
||||
|
||||
[node name="Player" parent="." index="0" unique_id=763780926]
|
||||
position = Vector2(0, -30)
|
||||
position = Vector2(0, -38)
|
||||
|
||||
[node name="TileMapLayer" parent="." index="1" unique_id=502099522]
|
||||
tile_map_data = PackedByteArray("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")
|
||||
tile_map_data = PackedByteArray("AAAMAP//AAAFAAoAAAAMAP7/AAALAAYAAAAMAP3/AAAIAAYAAAAMAPz/AAAKAAYAAAAMAPv/AAADAAYAAAAMAPr/AAAGAAYAAAAMAPn/AAABAAYAAAAMAPj/AAAIAAYAAAAMAPf/AAAFAAYAAAAMAPb/AAAIAAYAAAAMAPX/AAALAAYAAAAMAPT/AAALAAYAAAAMAPP/AAADAAYAAAAMAPL/AAACAAYAAAAMAPH/AAAFAAYAAAAMAPD/AAABAAYAAAAAAPn/AAADAAQAAAAAAPj/AAAKAAYAAAAAAPf/AAACAAYAAAAAAPb/AAADAAYAAAAAAPX/AAAJAAYAAAAAAPT/AAADAAYAAAAAAPP/AAAIAAYAAAAAAPL/AAAKAAYAAAAAAPH/AAAGAAYAAAAAAPD/AAAJAAYAAAAAAO//AAAJAAYAAAD0////AAAGAAcAAAD0//7/AAAGAAYAAAD0//3/AAABAAYAAAD0//z/AAAGAAYAAAD0//v/AAAFAAYAAAD0//r/AAAHAAYAAAD0//n/AAAHAAYAAAD0//j/AAACAAYAAAD0//f/AAAEAAYAAAD0//b/AAABAAYAAAD0//X/AAABAAYAAAD0//T/AAAIAAYAAAD0//P/AAALAAYAAAD0//L/AAAFAAYAAAD0//H/AAAGAAYAAAD0//D/AAAKAAYAAAD0/+//AAAGAAYAAAD0/+7/AAAKAAYAAAD0/+3/AAAJAAYAAAD0/+z/AAALAAYAAAD0/+v/AAAAAAYAAAD0/+r/AAAIAAYAAAD0/+n/AAAFAAYAAAD0/+j/AAAIAAYAAAD0/+b/AAAEAAYAAAD0/+f/AAADAAYAAAAMAO//AAAIAAYAAAAMAO7/AAACAAYAAAAMAO3/AAAHAAYAAAAMAOz/AAAJAAYAAAAMAOv/AAAFAAYAAAAMAOr/AAALAAYAAAAMAOn/AAADAAYAAAAMAOj/AAAGAAYAAAAMAOf/AAAFAAYAAAAAAO7/AAABAAYAAAAAAO3/AAALAAYAAAAAAOz/AAAKAAYAAAAAAOv/AAAIAAYAAAAAAOr/AAADAAYAAAAAAOn/AAAEAAYAAAAAAOj/AAACAAYAAAAAAOf/AAAAAAYAAAAAAOb/AAAEAAYAAAAMAOb/AAAFAAYAAAAMAOX/AAAJAAgAAAANAOX/AAAIAAUAAAAOAOX/AAAAAAUAAAAPAOX/AAACAAUAAAAQAOX/AAAAAAUAAAARAOX/AAAHAAUAAAASAOX/AAAHAAUAAAATAOX/AAACAAUAAAAUAOX/AAAKAAUAAAAVAOX/AAAKAAUAAAAWAOX/AAAGAAUAAAAXAOX/AAALAAUAAAAYAOX/AAAKAAUAAAAZAOX/AAAAAAUAAAAaAOX/AAADAAUAAAAbAOX/AAAAAAIAAAD0/+X/AAAKAAkAAADz/+X/AAAFAAUAAADy/+X/AAAGAAUAAADx/+X/AAAJAAUAAADw/+X/AAAHAAUAAADv/+X/AAABAAUAAADu/+X/AAAIAAUAAADt/+X/AAAKAAUAAADs/+X/AAAHAAUAAADr/+X/AAAHAAUAAADq/+X/AAABAAUAAADp/+X/AAAKAAUAAADo/+X/AAAIAAUAAADn/+X/AAABAAUAAADm/+X/AAALAAUAAADl/+X/AAAGAAEAAAAAAOX/AAAAAAYAAAAAAOT/AAALAAYAAAAAAOP/AAACAAYAAAAAAOL/AAAEAAYAAAAAAOH/AAAHAAYAAAAAAOD/AAADAAYAAAAAAN//AAAGAAYAAAAAAN7/AAAEAAYAAAAAAN3/AAABAAYAAAAAANz/AAAKAAYAAAAAANv/AAADAAYAAAAAANr/AAACAAMAAAALAP//AAAHAAUAAAAKAP//AAAFAAUAAAAJAP//AAACAAUAAAAIAP//AAAIAAUAAAAHAP//AAAAAAUAAAAGAP//AAABAAUAAAAFAP//AAAJAAUAAAAEAP//AAALAAUAAAADAP//AAAEAAUAAAACAP//AAADAAUAAAABAP//AAAJAAUAAAAAAP//AAAJAAUAAAD/////AAAJAAUAAAD+////AAACAAUAAAD9////AAADAAUAAAD8////AAAGAAUAAAD7////AAACAAUAAAD6////AAAIAAUAAAD5////AAACAAUAAAD4////AAAHAAUAAAD3////AAACAAUAAAD2////AAAKAAUAAAD1////AAAEAAUAAAA=")
|
||||
|
||||
Reference in New Issue
Block a user