diff --git a/Assets/Materials/UIMat_SliderBG.shmat b/Assets/Materials/UIMat_SliderBG.shmat new file mode 100644 index 00000000..2b41f3b3 --- /dev/null +++ b/Assets/Materials/UIMat_SliderBG.shmat @@ -0,0 +1,8 @@ +- VertexShader: 46580970 + FragmentShader: 35983630 + SubPass: UI + Properties: + data.color: {x: 1, y: 1, z: 1, w: 1} + data.textureIndex: 64816540 + data.alpha: 1 + data.beta: {x: 1, y: 1, z: 1} \ No newline at end of file diff --git a/Assets/Materials/UIMat_SliderBG.shmat.shmeta b/Assets/Materials/UIMat_SliderBG.shmat.shmeta new file mode 100644 index 00000000..bd447de8 --- /dev/null +++ b/Assets/Materials/UIMat_SliderBG.shmat.shmeta @@ -0,0 +1,3 @@ +Name: UIMat_SliderBG +ID: 117587364 +Type: 7 diff --git a/Assets/Materials/UIMat_Slider_BGM.shmat b/Assets/Materials/UIMat_Slider_BGM.shmat new file mode 100644 index 00000000..5ca73ad4 --- /dev/null +++ b/Assets/Materials/UIMat_Slider_BGM.shmat @@ -0,0 +1,11 @@ +- VertexShader: 46580970 + FragmentShader: 43211183 + SubPass: UI + Properties: + data.color: {x: 1, y: 1, z: 1, w: 1} + data.textureIndex: 50370514 + data.alpha: 1 + data.beta: {x: 1, y: 1, z: 1} + data.sliderThreshold: 1 + data.sliderStartColor: {x: 0.36500001, y: 0.783999979, z: 0.878000021, w: 1} + data.sliderBarColor: {x: 1, y: 1, z: 1, w: 1} \ No newline at end of file diff --git a/Assets/Materials/UIMat_Slider_BGM.shmat.shmeta b/Assets/Materials/UIMat_Slider_BGM.shmat.shmeta new file mode 100644 index 00000000..bca563e0 --- /dev/null +++ b/Assets/Materials/UIMat_Slider_BGM.shmat.shmeta @@ -0,0 +1,3 @@ +Name: UIMat_Slider_BGM +ID: 129354037 +Type: 7 diff --git a/Assets/Materials/UIMat_Slider_FOV.shmat b/Assets/Materials/UIMat_Slider_FOV.shmat new file mode 100644 index 00000000..bc121a46 --- /dev/null +++ b/Assets/Materials/UIMat_Slider_FOV.shmat @@ -0,0 +1,11 @@ +- VertexShader: 46580970 + FragmentShader: 43211183 + SubPass: UI + Properties: + data.color: {x: 1, y: 1, z: 1, w: 1} + data.textureIndex: 50370514 + data.alpha: 1 + data.beta: {x: 1, y: 1, z: 1} + data.sliderThreshold: 1 + data.sliderStartColor: {x: 0.624000013, y: 0.211999997, z: 0.949000001, w: 1} + data.sliderBarColor: {x: 1, y: 1, z: 1, w: 1} \ No newline at end of file diff --git a/Assets/Materials/UIMat_Slider_FOV.shmat.shmeta b/Assets/Materials/UIMat_Slider_FOV.shmat.shmeta new file mode 100644 index 00000000..86114830 --- /dev/null +++ b/Assets/Materials/UIMat_Slider_FOV.shmat.shmeta @@ -0,0 +1,3 @@ +Name: UIMat_Slider_FOV +ID: 117651669 +Type: 7 diff --git a/Assets/Materials/UIMat_Slider_SFX.shmat b/Assets/Materials/UIMat_Slider_SFX.shmat new file mode 100644 index 00000000..a3f3b506 --- /dev/null +++ b/Assets/Materials/UIMat_Slider_SFX.shmat @@ -0,0 +1,11 @@ +- VertexShader: 46580970 + FragmentShader: 43211183 + SubPass: UI + Properties: + data.color: {x: 1, y: 1, z: 1, w: 1} + data.textureIndex: 50370514 + data.alpha: 1 + data.beta: {x: 1, y: 1, z: 1} + data.sliderThreshold: 1 + data.sliderStartColor: {x: 0.949000001, y: 0.689999998, z: 0.211999997, w: 1} + data.sliderBarColor: {x: 1, y: 1, z: 1, w: 1} \ No newline at end of file diff --git a/Assets/Materials/UIMat_Slider_SFX.shmat.shmeta b/Assets/Materials/UIMat_Slider_SFX.shmat.shmeta new file mode 100644 index 00000000..b6e88495 --- /dev/null +++ b/Assets/Materials/UIMat_Slider_SFX.shmat.shmeta @@ -0,0 +1,3 @@ +Name: UIMat_Slider_SFX +ID: 122820018 +Type: 7 diff --git a/Assets/Materials/UIMat_Slider_Textured.shmat b/Assets/Materials/UIMat_Slider_Textured.shmat index cb09a99e..ba0cc52e 100644 --- a/Assets/Materials/UIMat_Slider_Textured.shmat +++ b/Assets/Materials/UIMat_Slider_Textured.shmat @@ -3,7 +3,9 @@ SubPass: UI Properties: data.color: {x: 1, y: 1, z: 1, w: 1} - data.textureIndex: 51995224 + data.textureIndex: 50370514 data.alpha: 1 data.beta: {x: 1, y: 1, z: 1} - data.sliderThreshold: 1 \ No newline at end of file + data.sliderThreshold: 1 + data.sliderStartColor: {x: 0.254901886, y: 0.321500003, z: 0.909799993, w: 1} + data.sliderBarColor: {x: 1, y: 1, z: 1, w: 1} \ No newline at end of file diff --git a/Assets/Scenes/Level1.shade b/Assets/Scenes/Level1.shade index ab3f995a..e03d2dfc 100644 --- a/Assets/Scenes/Level1.shade +++ b/Assets/Scenes/Level1.shade @@ -7600,9 +7600,9 @@ Score: 0 timer: 200 scoreText: 237 - timeText: 525 - minusTimerText: 65735 - multiplierText: 524 + timeText: 131278 + minusTimerText: 131211 + multiplierText: 66055 maxMultiplierDuration: 5 maxMultiplierCombo: 10 multiplierFont: 60 @@ -7724,8 +7724,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.876652002, y: 0.485357881, z: 0.166061834, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -7795,8 +7799,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.977993011, y: 1, z: 0.286343634, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -7866,8 +7874,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -7937,8 +7949,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -8047,8 +8063,12 @@ Rotation Speed: 0.0500000007 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 37407233 Color Tint: {x: 0, y: 0, z: 0, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0299999993, z: 0} IsActive: true Scripts: ~ @@ -8141,8 +8161,12 @@ Rotation Speed: 0.0500000007 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 37407233 Color Tint: {x: 0, y: 0, z: 0, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0299999993, z: 0} IsActive: true Scripts: ~ @@ -8235,8 +8259,12 @@ Rotation Speed: 0.0500000007 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 37407233 Color Tint: {x: 0, y: 0, z: 0, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0299999993, z: 0} IsActive: true Scripts: ~ @@ -8329,8 +8357,12 @@ Rotation Speed: 0.0500000007 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 37407233 Color Tint: {x: 0, y: 0, z: 0, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0299999993, z: 0} IsActive: true Scripts: ~ @@ -8423,8 +8455,12 @@ Rotation Speed: 0.0500000007 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 37407233 Color Tint: {x: 0, y: 0, z: 0, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0299999993, z: 0} IsActive: true Scripts: ~ @@ -8685,8 +8721,12 @@ Rotation Speed: 0.805999994 Rotation Decay: 0 Texture Asset ID: 56224060 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 42141152 Color Tint: {x: 1, y: 1, z: 1, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0.0500000007, z: 0} IsActive: true Scripts: ~ @@ -8715,8 +8755,12 @@ Rotation Speed: 0.805999994 Rotation Decay: 0 Texture Asset ID: 56224060 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 42141152 Color Tint: {x: 1, y: 1, z: 1, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0.0500000007, z: 0} IsActive: true Scripts: ~ @@ -9046,183 +9090,6 @@ Casting Shadows: true IsActive: true Scripts: ~ -- EID: 526 - Name: Gameplay Canvas - IsActive: true - NumberOfChildren: 4 - Components: - Canvas Component: - Canvas Width: 1920 - Canvas Height: 1080 - Scale by canvas width: false - IsActive: true - Scripts: ~ -- EID: 237 - Name: Score Text - IsActive: true - NumberOfChildren: 0 - Components: - Transform Component: - Translate: {x: -800, y: 365, z: 0.600000024} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 100, y: 100, z: 60} - IsActive: true - Text Renderer Component: - Text: My name is Brandon. - Font: 174412429 - Color: {x: 1, y: 1, z: 1, w: 1} - Text Size: {x: 1, y: 1, z: 1} - IsActive: true - UI Component: - Canvas ID: 526 - Hovered: false - Clicked: false - IsActive: true - Scripts: - - Type: SHADE_Scripting.UI.ScoreTextDigitPositioning - Enabled: true - offsetPerDigit: 25 - - Type: SHADE_Scripting.UI.SingleScaleBounce - Enabled: true - durationUp: 0.150000006 - durationDown: 0.300000012 - scaleSize: 1.20000005 -- EID: 525 - Name: Timer Text - IsActive: true - NumberOfChildren: 2 - Components: - Transform Component: - Translate: {x: 700, y: 400, z: 0.600000024} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 60, y: 60, z: 1} - IsActive: true - Text Renderer Component: - Text: My name is Brandon. - Font: 174412429 - Color: {x: 1, y: 1, z: 1, w: 1} - Text Size: {x: 1, y: 1, z: 1} - IsActive: true - UI Component: - Canvas ID: 526 - Hovered: false - Clicked: false - IsActive: true - Scripts: ~ -- EID: 520 - Name: Timer BG - IsActive: true - NumberOfChildren: 0 - Components: - Transform Component: - Translate: {x: 0.5, y: 0.300000012, z: 0.98999995} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 5, y: 2, z: 1} - IsActive: true - Renderable Component: - Mesh: 141771688 - Material: 126220632 - IsActive: true - UI Component: - Canvas ID: 526 - Hovered: false - Clicked: false - IsActive: true - Scripts: ~ -- EID: 65735 - Name: Minus Timer Text - IsActive: false - NumberOfChildren: 0 - Components: - Transform Component: - Translate: {x: 0, y: -0.800000012, z: 0.100000001} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 1, y: 1, z: 1} - IsActive: false - Text Renderer Component: - Text: -10 - Font: 174412429 - Color: {x: 1, y: 0, z: 0, w: 1} - Text Size: {x: 1, y: 1, z: 1} - IsActive: false - UI Component: - Canvas ID: 526 - Hovered: false - Clicked: false - IsActive: false - Scripts: - - Type: SHADE_Scripting.UI.MinusTimerText - Enabled: true - duration: 2 -- EID: 524 - Name: Multiplier Text - IsActive: true - NumberOfChildren: 1 - Components: - Transform Component: - Translate: {x: -800, y: 250, z: 0.100000001} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 50, y: 50, z: 60} - IsActive: true - Text Renderer Component: - Text: X2 - Font: 174412429 - Color: {x: 1, y: 1, z: 1, w: 1} - Text Size: {x: 1, y: 1, z: 1} - IsActive: true - UI Component: - Canvas ID: 526 - Hovered: false - Clicked: false - IsActive: true - Scripts: - - Type: SHADE_Scripting.UI.MultiplierTextFx - Enabled: true - maxSize: 1 - minSize: 0.300000012 - minAlpha: 0.300000012 -- EID: 519 - Name: Multiplier BG - IsActive: true - NumberOfChildren: 0 - Components: - Transform Component: - Translate: {x: 0.400000006, y: 0.400000006, z: 0.98999995} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 4.26499987, y: 2, z: 1} - IsActive: true - Renderable Component: - Mesh: 141771688 - Material: 133784677 - IsActive: true - UI Component: - Canvas ID: 526 - Hovered: false - Clicked: false - IsActive: true - Scripts: - - Type: FixRotation - Enabled: true -- EID: 521 - Name: Score BG - IsActive: true - NumberOfChildren: 0 - Components: - Transform Component: - Translate: {x: -770, y: 425, z: 59.9999962} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 345.600006, y: 200, z: 60} - IsActive: true - Renderable Component: - Mesh: 141771688 - Material: 127527215 - IsActive: true - UI Component: - Canvas ID: 526 - Hovered: false - Clicked: false - IsActive: true - Scripts: ~ - EID: 66150 Name: ParticlesDeco IsActive: true @@ -9254,8 +9121,12 @@ Rotation Speed: 0 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.0187467411, y: 0.627120614, z: 0.709251106, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.899999976, z: 0} IsActive: true Scripts: ~ @@ -9284,8 +9155,12 @@ Rotation Speed: 0 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.0187467411, y: 0.627120614, z: 0.709251106, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0.100000001, z: 0} IsActive: true Scripts: ~ @@ -9314,8 +9189,12 @@ Rotation Speed: 0 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.0187467411, y: 0.627120614, z: 0.709251106, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.100000001, z: 0} IsActive: true Scripts: ~ @@ -9440,4 +9319,190 @@ Scripts: - Type: SHADE_Scripting.Gameplay.AIBehaviour.AIRework.HomeOwnerAttackHitbox Enabled: true - aiGO: 65771 \ No newline at end of file + aiGO: 65771 +- EID: 131271 + Name: Gameplay Canvas + IsActive: true + NumberOfChildren: 4 + Components: + Canvas Component: + Canvas Width: 1920 + Canvas Height: 1080 + Scale by canvas width: false + IsActive: true + Scripts: ~ +- EID: 237 + Name: Score Text + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: -800, y: 365, z: 0.600000024} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 100, y: 100, z: 60} + IsActive: true + Text Renderer Component: + Text: My name is Brandon. + Font: 174412429 + Color: {x: 1, y: 1, z: 1, w: 1} + Text Size: {x: 1, y: 1, z: 1} + IsActive: true + UI Component: + Canvas ID: 131271 + Hovered: false + Clicked: false + IsActive: true + Scripts: + - Type: SHADE_Scripting.UI.ScoreTextDigitPositioning + Enabled: true + offsetPerDigit: 25 + - Type: SHADE_Scripting.UI.SingleScaleBounce + Enabled: true + durationUp: 0.150000006 + durationDown: 0.300000012 + scaleSize: 1.20000005 +- EID: 131278 + Name: Timer Text + IsActive: true + NumberOfChildren: 2 + Components: + Transform Component: + Translate: {x: 700, y: 400, z: 0.600000024} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 60, y: 60, z: 1} + IsActive: true + Text Renderer Component: + Text: My name is Brandon. + Font: 174412429 + Color: {x: 1, y: 1, z: 1, w: 1} + Text Size: {x: 1, y: 1, z: 1} + IsActive: true + UI Component: + Canvas ID: 131271 + Hovered: false + Clicked: false + IsActive: true + Scripts: + - Type: SHADE_Scripting.UI.GameTimer + Enabled: true + criticalTime: 30 + timer: 0 + - Type: SHADE_Scripting.UI.ScaleBounce + Enabled: true + minScale: 1 + maxScale: 1.20000005 + duration: 1 + isActive: false +- EID: 520 + Name: Timer BG + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: 0, y: 0.300000012, z: 0.98999995} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 5, y: 2, z: 1} + IsActive: true + Renderable Component: + Mesh: 141771688 + Material: 126220632 + IsActive: true + UI Component: + Canvas ID: 131271 + Hovered: false + Clicked: false + IsActive: true + Scripts: ~ +- EID: 131211 + Name: Minus Timer Text + IsActive: false + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: 0, y: -0.800000012, z: 0.100000001} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 1, y: 1, z: 1} + IsActive: false + Text Renderer Component: + Text: -10 + Font: 174412429 + Color: {x: 1, y: 0, z: 0, w: 1} + Text Size: {x: 1, y: 1, z: 1} + IsActive: false + UI Component: + Canvas ID: 131271 + Hovered: false + Clicked: false + IsActive: false + Scripts: + - Type: SHADE_Scripting.UI.MinusTimerText + Enabled: true + duration: 2 +- EID: 66055 + Name: Multiplier Text + IsActive: true + NumberOfChildren: 1 + Components: + Transform Component: + Translate: {x: -800, y: 200, z: 0.100000001} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 50, y: 50, z: 60} + IsActive: true + Text Renderer Component: + Text: X2 + Font: 174412429 + Color: {x: 1, y: 1, z: 1, w: 1} + Text Size: {x: 1, y: 1, z: 1} + IsActive: true + UI Component: + Canvas ID: 131271 + Hovered: false + Clicked: false + IsActive: true + Scripts: + - Type: SHADE_Scripting.UI.MultiplierTextFx + Enabled: true + maxSize: 1.5 + minSize: 1 +- EID: 131593 + Name: Multiplier BG + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: 0.400000006, y: 0.400000006, z: 0.98999995} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 4.26499987, y: 2, z: 1} + IsActive: true + Renderable Component: + Mesh: 141771688 + Material: 133784677 + IsActive: true + UI Component: + Canvas ID: 131271 + Hovered: false + Clicked: false + IsActive: true + Scripts: + - Type: FixRotation + Enabled: true +- EID: 568 + Name: Score BG + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: -770, y: 425, z: 59.9999962} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 345.600006, y: 200, z: 60} + IsActive: true + Renderable Component: + Mesh: 141771688 + Material: 127527215 + IsActive: true + UI Component: + Canvas ID: 131271 + Hovered: false + Clicked: false + IsActive: true + Scripts: ~ \ No newline at end of file diff --git a/Assets/Scenes/Level2.shade b/Assets/Scenes/Level2.shade index f5bd5b4f..8246c9aa 100644 --- a/Assets/Scenes/Level2.shade +++ b/Assets/Scenes/Level2.shade @@ -122,8 +122,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.876652002, y: 0.485357881, z: 0.166061834, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -193,8 +197,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.876652002, y: 0.485357881, z: 0.166061834, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -264,8 +272,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.977993011, y: 1, z: 0.286343634, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -335,8 +347,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.977993011, y: 1, z: 0.286343634, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -406,8 +422,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -477,8 +497,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -548,8 +572,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -619,8 +647,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 1, y: 1, z: 1, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.00999999978, z: 0} IsActive: true Scripts: @@ -863,8 +895,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.876652002, y: 0.485357881, z: 0.166061834, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -934,8 +970,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -1005,8 +1045,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -1076,8 +1120,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -1147,8 +1195,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.977993011, y: 1, z: 0.286343634, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -1218,8 +1270,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.876652002, y: 0.485357881, z: 0.166061834, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -1289,8 +1345,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.876652002, y: 0.485357881, z: 0.166061834, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -1360,8 +1420,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.876652002, y: 0.485357881, z: 0.166061834, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -1431,8 +1495,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -1502,8 +1570,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -1573,8 +1645,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -1644,8 +1720,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -1715,8 +1795,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -1786,8 +1870,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -1857,8 +1945,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.876652002, y: 0.485357881, z: 0.166061834, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -1928,8 +2020,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.977993011, y: 1, z: 0.286343634, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -1999,8 +2095,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -2070,8 +2170,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -2141,8 +2245,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -2212,8 +2320,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -2288,8 +2400,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -2359,8 +2475,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -2430,8 +2550,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -2501,8 +2625,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -2572,8 +2700,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -2643,8 +2775,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -2719,8 +2855,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -2790,8 +2930,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -2861,8 +3005,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -2932,8 +3080,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -3003,8 +3155,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -3074,8 +3230,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 1, y: 1, z: 1, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.00999999978, z: 0} IsActive: true Scripts: @@ -3318,8 +3478,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 1, y: 1, z: 1, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.00999999978, z: 0} IsActive: true Scripts: @@ -3601,8 +3765,12 @@ Rotation Speed: 0.0500000007 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 37407233 Color Tint: {x: 0, y: 0, z: 0, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0299999993, z: 0} IsActive: true Scripts: ~ @@ -3695,8 +3863,12 @@ Rotation Speed: 0.0500000007 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 37407233 Color Tint: {x: 0, y: 0, z: 0, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0299999993, z: 0} IsActive: true Scripts: ~ @@ -3980,8 +4152,12 @@ Rotation Speed: 0.805999994 Rotation Decay: 0 Texture Asset ID: 56224060 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 42141152 Color Tint: {x: 1, y: 1, z: 1, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0.0500000007, z: 0} IsActive: true Scripts: ~ @@ -4010,8 +4186,12 @@ Rotation Speed: 0.805999994 Rotation Decay: 0 Texture Asset ID: 56224060 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 42141152 Color Tint: {x: 1, y: 1, z: 1, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0.0500000007, z: 0} IsActive: true Scripts: ~ @@ -17035,14 +17215,24 @@ Hovered: false Clicked: false IsActive: true - Scripts: ~ + Scripts: + - Type: SHADE_Scripting.UI.GameTimer + Enabled: true + criticalTime: 30 + timer: 0 + - Type: SHADE_Scripting.UI.ScaleBounce + Enabled: true + minScale: 1 + maxScale: 1.20000005 + duration: 1 + isActive: false - EID: 520 Name: Timer BG IsActive: true NumberOfChildren: 0 Components: Transform Component: - Translate: {x: 0.5, y: 0.300000012, z: 0.98999995} + Translate: {x: 0, y: 0.300000012, z: 0.98999995} Rotate: {x: 0, y: 0, z: 0} Scale: {x: 5, y: 2, z: 1} IsActive: true @@ -17087,7 +17277,7 @@ NumberOfChildren: 1 Components: Transform Component: - Translate: {x: -800, y: 250, z: 0.100000001} + Translate: {x: -800, y: 200, z: 0.100000001} Rotate: {x: 0, y: 0, z: 0} Scale: {x: 50, y: 50, z: 60} IsActive: true @@ -17105,9 +17295,8 @@ Scripts: - Type: SHADE_Scripting.UI.MultiplierTextFx Enabled: true - maxSize: 1 - minSize: 0.300000012 - minAlpha: 0.300000012 + maxSize: 1.5 + minSize: 1 - EID: 131593 Name: Multiplier BG IsActive: true @@ -17181,8 +17370,12 @@ Rotation Speed: 0 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.0187467411, y: 0.627120614, z: 0.709251106, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.899999976, z: 0} IsActive: true Scripts: ~ @@ -17211,8 +17404,12 @@ Rotation Speed: 0 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.0187467411, y: 0.627120614, z: 0.709251106, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0.100000001, z: 0} IsActive: true Scripts: ~ @@ -17241,8 +17438,12 @@ Rotation Speed: 0 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.0187467411, y: 0.627120614, z: 0.709251106, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.100000001, z: 0} IsActive: true Scripts: ~ diff --git a/Assets/Scenes/Level3.shade b/Assets/Scenes/Level3.shade index 8abc90a3..394523f4 100644 --- a/Assets/Scenes/Level3.shade +++ b/Assets/Scenes/Level3.shade @@ -9059,9 +9059,9 @@ Score: 0 timer: 200 scoreText: 237 - timeText: 525 - minusTimerText: 524 - multiplierText: 521 + timeText: 66135 + minusTimerText: 66057 + multiplierText: 66055 maxMultiplierDuration: 5 maxMultiplierCombo: 10 multiplierFont: 60 @@ -9166,8 +9166,12 @@ Rotation Speed: 0.0500000007 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 37407233 Color Tint: {x: 0, y: 0, z: 0, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0299999993, z: 0} IsActive: true Scripts: ~ @@ -9260,8 +9264,12 @@ Rotation Speed: 0.0500000007 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 37407233 Color Tint: {x: 0, y: 0, z: 0, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0299999993, z: 0} IsActive: true Scripts: ~ @@ -9354,8 +9362,12 @@ Rotation Speed: 0.0500000007 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 37407233 Color Tint: {x: 0, y: 0, z: 0, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0299999993, z: 0} IsActive: true Scripts: ~ @@ -9501,8 +9513,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.876652002, y: 0.485357881, z: 0.166061834, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -9572,8 +9588,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.876652002, y: 0.485357881, z: 0.166061834, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -9643,8 +9663,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.876652002, y: 0.485357881, z: 0.166061834, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -9714,8 +9738,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.876652002, y: 0.485357881, z: 0.166061834, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -9785,8 +9813,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.876652002, y: 0.485357881, z: 0.166061834, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -9856,8 +9888,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.876652002, y: 0.485357881, z: 0.166061834, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -9927,8 +9963,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.876652002, y: 0.485357881, z: 0.166061834, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -9998,8 +10038,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -10069,8 +10113,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -10140,8 +10188,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -10211,8 +10263,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -10282,8 +10338,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -10353,8 +10413,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -10424,8 +10488,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -10495,8 +10563,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.279913902, y: 0.845814943, z: 0.0856993049, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -10566,8 +10638,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.977993011, y: 1, z: 0.286343634, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -10637,8 +10713,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.977993011, y: 1, z: 0.286343634, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -10708,8 +10788,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.977993011, y: 1, z: 0.286343634, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -10779,8 +10863,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.977993011, y: 1, z: 0.286343634, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.0199999996, z: 0} IsActive: true Scripts: @@ -10850,8 +10938,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 1, y: 1, z: 1, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.00999999978, z: 0} IsActive: true Scripts: @@ -11094,8 +11186,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -11170,8 +11266,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -11241,8 +11341,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -11312,8 +11416,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -11383,8 +11491,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -11454,8 +11566,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -11525,8 +11641,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -11601,8 +11721,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -11672,8 +11796,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -11743,8 +11871,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -11814,8 +11946,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -11885,8 +12021,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.290321946, y: 0.823788524, z: 0.323222876, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: @@ -11983,8 +12123,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 1, y: 1, z: 1, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.00999999978, z: 0} IsActive: true Scripts: @@ -12227,8 +12371,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 1, y: 1, z: 1, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.00999999978, z: 0} IsActive: true Scripts: @@ -12471,8 +12619,12 @@ Rotation Speed: 0.100000001 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 1, y: 1, z: 1, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.00999999978, z: 0} IsActive: true Scripts: @@ -12912,8 +13064,12 @@ Rotation Speed: 0.805999994 Rotation Decay: 0 Texture Asset ID: 56224060 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 42141152 Color Tint: {x: 1, y: 1, z: 1, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0.0500000007, z: 0} IsActive: true Scripts: ~ @@ -12942,8 +13098,12 @@ Rotation Speed: 0.805999994 Rotation Decay: 0 Texture Asset ID: 56224060 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 42141152 Color Tint: {x: 1, y: 1, z: 1, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0.0500000007, z: 0} IsActive: true Scripts: ~ @@ -15064,183 +15224,6 @@ Rotation Offset: {x: 0, y: 0, z: 0} IsActive: true Scripts: ~ -- EID: 526 - Name: Gameplay Canvas - IsActive: true - NumberOfChildren: 4 - Components: - Canvas Component: - Canvas Width: 1920 - Canvas Height: 1080 - Scale by canvas width: false - IsActive: true - Scripts: ~ -- EID: 237 - Name: Score Text - IsActive: true - NumberOfChildren: 0 - Components: - Transform Component: - Translate: {x: -800, y: 365, z: 0.600000024} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 100, y: 100, z: 60} - IsActive: true - Text Renderer Component: - Text: My name is Brandon. - Font: 174412429 - Color: {x: 1, y: 1, z: 1, w: 1} - Text Size: {x: 1, y: 1, z: 1} - IsActive: true - UI Component: - Canvas ID: 526 - Hovered: false - Clicked: false - IsActive: true - Scripts: - - Type: SHADE_Scripting.UI.ScoreTextDigitPositioning - Enabled: true - offsetPerDigit: 25 - - Type: SHADE_Scripting.UI.SingleScaleBounce - Enabled: true - durationUp: 0.150000006 - durationDown: 0.300000012 - scaleSize: 1.20000005 -- EID: 525 - Name: Timer Text - IsActive: true - NumberOfChildren: 2 - Components: - Transform Component: - Translate: {x: 700, y: 400, z: 0.600000024} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 60, y: 60, z: 1} - IsActive: true - Text Renderer Component: - Text: My name is Brandon. - Font: 174412429 - Color: {x: 1, y: 1, z: 1, w: 1} - Text Size: {x: 1, y: 1, z: 1} - IsActive: true - UI Component: - Canvas ID: 526 - Hovered: false - Clicked: false - IsActive: true - Scripts: ~ -- EID: 520 - Name: Timer BG - IsActive: true - NumberOfChildren: 0 - Components: - Transform Component: - Translate: {x: 0.5, y: 0.300000012, z: 0.98999995} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 5, y: 2, z: 1} - IsActive: true - Renderable Component: - Mesh: 141771688 - Material: 126220632 - IsActive: true - UI Component: - Canvas ID: 526 - Hovered: false - Clicked: false - IsActive: true - Scripts: ~ -- EID: 524 - Name: Minus Timer Text - IsActive: false - NumberOfChildren: 0 - Components: - Transform Component: - Translate: {x: 0, y: -0.800000012, z: 0.100000001} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 1, y: 1, z: 1} - IsActive: false - Text Renderer Component: - Text: -10 - Font: 174412429 - Color: {x: 1, y: 0, z: 0, w: 1} - Text Size: {x: 1, y: 1, z: 1} - IsActive: false - UI Component: - Canvas ID: 526 - Hovered: false - Clicked: false - IsActive: false - Scripts: - - Type: SHADE_Scripting.UI.MinusTimerText - Enabled: true - duration: 2 -- EID: 521 - Name: Multiplier Text - IsActive: true - NumberOfChildren: 1 - Components: - Transform Component: - Translate: {x: -800, y: 250, z: 0.100000001} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 50, y: 50, z: 60} - IsActive: true - Text Renderer Component: - Text: X2 - Font: 174412429 - Color: {x: 1, y: 1, z: 1, w: 1} - Text Size: {x: 1, y: 1, z: 1} - IsActive: true - UI Component: - Canvas ID: 526 - Hovered: false - Clicked: false - IsActive: true - Scripts: - - Type: SHADE_Scripting.UI.MultiplierTextFx - Enabled: true - maxSize: 1 - minSize: 0.300000012 - minAlpha: 0.300000012 -- EID: 519 - Name: Multiplier BG - IsActive: true - NumberOfChildren: 0 - Components: - Transform Component: - Translate: {x: 0.400000006, y: 0.400000006, z: 0.98999995} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 4.26499987, y: 2, z: 1} - IsActive: true - Renderable Component: - Mesh: 141771688 - Material: 133784677 - IsActive: true - UI Component: - Canvas ID: 526 - Hovered: false - Clicked: false - IsActive: true - Scripts: - - Type: FixRotation - Enabled: true -- EID: 599 - Name: Score BG - IsActive: true - NumberOfChildren: 0 - Components: - Transform Component: - Translate: {x: -770, y: 425, z: 59.9999962} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 345.600006, y: 200, z: 60} - IsActive: true - Renderable Component: - Mesh: 141771688 - Material: 127527215 - IsActive: true - UI Component: - Canvas ID: 526 - Hovered: false - Clicked: false - IsActive: true - Scripts: ~ - EID: 66150 Name: ParticlesDeco IsActive: true @@ -15272,8 +15255,12 @@ Rotation Speed: 0 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.832599103, y: 0.757529616, z: 0.0916959345, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.100000001, z: 0} IsActive: true Scripts: ~ @@ -15302,8 +15289,12 @@ Rotation Speed: 0 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.832599103, y: 0.757529616, z: 0.0916959345, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.100000001, z: 0} IsActive: true Scripts: ~ @@ -15332,8 +15323,12 @@ Rotation Speed: 0 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.832599103, y: 0.757529616, z: 0.0916959345, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.100000001, z: 0} IsActive: true Scripts: ~ @@ -15362,8 +15357,12 @@ Rotation Speed: 0 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.832599103, y: 0.757529616, z: 0.0916959345, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.100000001, z: 0} IsActive: true Scripts: ~ @@ -15392,8 +15391,12 @@ Rotation Speed: 0 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.0187467411, y: 0.627120614, z: 0.709251106, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.100000001, z: 0} IsActive: true Scripts: ~ @@ -15422,8 +15425,12 @@ Rotation Speed: 0 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.832599103, y: 0.757529616, z: 0.0916959345, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.100000001, z: 0} IsActive: true Scripts: ~ @@ -15452,8 +15459,12 @@ Rotation Speed: 0 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.0187467411, y: 0.627120614, z: 0.709251106, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: -0.899999976, z: 0} IsActive: true Scripts: ~ @@ -15482,8 +15493,12 @@ Rotation Speed: 0 Rotation Decay: 0 Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 0 + Custom Fragment Shader Asset ID: 0 Custom Update Shader Asset ID: 0 Color Tint: {x: 0.0187467411, y: 0.627120614, z: 0.709251106, w: 1} + Color Tint Range: {x: 0, y: 0, z: 0, w: 0} + Color Decay: {x: 0, y: 0, z: 0, w: 0} Acceleration: {x: 0, y: 0.100000001, z: 0} IsActive: true Scripts: ~ @@ -15608,4 +15623,190 @@ Scripts: - Type: SHADE_Scripting.Gameplay.AIBehaviour.AIRework.HomeOwnerAttackHitbox Enabled: true - aiGO: 66078 \ No newline at end of file + aiGO: 66078 +- EID: 66062 + Name: Gameplay Canvas + IsActive: true + NumberOfChildren: 4 + Components: + Canvas Component: + Canvas Width: 1920 + Canvas Height: 1080 + Scale by canvas width: false + IsActive: true + Scripts: ~ +- EID: 237 + Name: Score Text + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: -800, y: 365, z: 0.600000024} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 100, y: 100, z: 60} + IsActive: true + Text Renderer Component: + Text: My name is Brandon. + Font: 174412429 + Color: {x: 1, y: 1, z: 1, w: 1} + Text Size: {x: 1, y: 1, z: 1} + IsActive: true + UI Component: + Canvas ID: 66062 + Hovered: false + Clicked: false + IsActive: true + Scripts: + - Type: SHADE_Scripting.UI.ScoreTextDigitPositioning + Enabled: true + offsetPerDigit: 25 + - Type: SHADE_Scripting.UI.SingleScaleBounce + Enabled: true + durationUp: 0.150000006 + durationDown: 0.300000012 + scaleSize: 1.20000005 +- EID: 66135 + Name: Timer Text + IsActive: true + NumberOfChildren: 2 + Components: + Transform Component: + Translate: {x: 700, y: 400, z: 0.600000024} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 60, y: 60, z: 1} + IsActive: true + Text Renderer Component: + Text: My name is Brandon. + Font: 174412429 + Color: {x: 1, y: 1, z: 1, w: 1} + Text Size: {x: 1, y: 1, z: 1} + IsActive: true + UI Component: + Canvas ID: 66062 + Hovered: false + Clicked: false + IsActive: true + Scripts: + - Type: SHADE_Scripting.UI.GameTimer + Enabled: true + criticalTime: 30 + timer: 0 + - Type: SHADE_Scripting.UI.ScaleBounce + Enabled: true + minScale: 1 + maxScale: 1.20000005 + duration: 1 + isActive: false +- EID: 520 + Name: Timer BG + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: 0, y: 0.300000012, z: 0.98999995} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 5, y: 2, z: 1} + IsActive: true + Renderable Component: + Mesh: 141771688 + Material: 126220632 + IsActive: true + UI Component: + Canvas ID: 66062 + Hovered: false + Clicked: false + IsActive: true + Scripts: ~ +- EID: 66057 + Name: Minus Timer Text + IsActive: false + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: 0, y: -0.800000012, z: 0.100000001} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 1, y: 1, z: 1} + IsActive: false + Text Renderer Component: + Text: -10 + Font: 174412429 + Color: {x: 1, y: 0, z: 0, w: 1} + Text Size: {x: 1, y: 1, z: 1} + IsActive: false + UI Component: + Canvas ID: 66062 + Hovered: false + Clicked: false + IsActive: false + Scripts: + - Type: SHADE_Scripting.UI.MinusTimerText + Enabled: true + duration: 2 +- EID: 66055 + Name: Multiplier Text + IsActive: true + NumberOfChildren: 1 + Components: + Transform Component: + Translate: {x: -800, y: 200, z: 0.100000001} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 50, y: 50, z: 60} + IsActive: true + Text Renderer Component: + Text: X2 + Font: 174412429 + Color: {x: 1, y: 1, z: 1, w: 1} + Text Size: {x: 1, y: 1, z: 1} + IsActive: true + UI Component: + Canvas ID: 66062 + Hovered: false + Clicked: false + IsActive: true + Scripts: + - Type: SHADE_Scripting.UI.MultiplierTextFx + Enabled: true + maxSize: 1.5 + minSize: 1 +- EID: 66061 + Name: Multiplier BG + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: 0.400000006, y: 0.400000006, z: 0.98999995} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 4.26499987, y: 2, z: 1} + IsActive: true + Renderable Component: + Mesh: 141771688 + Material: 133784677 + IsActive: true + UI Component: + Canvas ID: 66062 + Hovered: false + Clicked: false + IsActive: true + Scripts: + - Type: FixRotation + Enabled: true +- EID: 66060 + Name: Score BG + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: -770, y: 425, z: 59.9999962} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 345.600006, y: 200, z: 60} + IsActive: true + Renderable Component: + Mesh: 141771688 + Material: 127527215 + IsActive: true + UI Component: + Canvas ID: 66062 + Hovered: false + Clicked: false + IsActive: true + Scripts: ~ \ No newline at end of file diff --git a/Assets/Scenes/MainMenu.shade b/Assets/Scenes/MainMenu.shade index c85eee83..d3ddd940 100644 --- a/Assets/Scenes/MainMenu.shade +++ b/Assets/Scenes/MainMenu.shade @@ -38,7 +38,7 @@ Transform Component: Translate: {x: 0, y: 100, z: 0.300000012} Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 600, y: 600, z: 1.18585491} + Scale: {x: 631.577454, y: 631.577454, z: 1.24826539} IsActive: true Renderable Component: Mesh: 141771688 @@ -258,7 +258,7 @@ Transform Component: Translate: {x: 450, y: 0, z: 0.400000006} Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 400, y: 100, z: 1} + Scale: {x: 389.627228, y: 97.4068069, z: 0.974068105} IsActive: true Renderable Component: Mesh: 141771688 @@ -749,16 +749,16 @@ - EID: 29 Name: Master Volume Slider IsActive: true - NumberOfChildren: 0 + NumberOfChildren: 1 Components: Transform Component: Translate: {x: 0, y: 0, z: 0} Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 1000, y: 75, z: 1} + Scale: {x: 1004, y: 46, z: 1} IsActive: true Renderable Component: Mesh: 141771688 - Material: 128676209 + Material: 127128823 IsActive: true Slider Component: Slider Value: 1 @@ -770,20 +770,44 @@ Hovered: false Clicked: false IsActive: true + Scripts: + - Type: SHADE_Scripting.UI.SliderFX + Enabled: true + onClickSound: event:/UI/button_success + onReleaseSound: event:/UI/button_fail +- EID: 437 + Name: Slider BG + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: 0, y: 0, z: 0.100000001} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 1.01992035, y: 1.39130437, z: 1} + IsActive: true + Renderable Component: + Mesh: 141771688 + Material: 117587364 + IsActive: true + UI Component: + Canvas ID: 19 + Hovered: false + Clicked: false + IsActive: true Scripts: ~ - EID: 30 Name: SFX Volume Slider IsActive: true - NumberOfChildren: 0 + NumberOfChildren: 1 Components: Transform Component: Translate: {x: 0, y: -100, z: 0} Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 1000, y: 75, z: 1} + Scale: {x: 1004, y: 46, z: 1} IsActive: true Renderable Component: Mesh: 141771688 - Material: 128676209 + Material: 122820018 IsActive: true Slider Component: Slider Value: 1 @@ -795,20 +819,44 @@ Hovered: false Clicked: false IsActive: true - Scripts: ~ -- EID: 31 - Name: BGM Volume Slider + Scripts: + - Type: SHADE_Scripting.UI.SliderFX + Enabled: true + onClickSound: event:/UI/button_success + onReleaseSound: event:/UI/button_fail +- EID: 436 + Name: Slider BG IsActive: true NumberOfChildren: 0 Components: Transform Component: - Translate: {x: 0, y: -200, z: 0} + Translate: {x: 0, y: 0, z: 0.100000001} Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 1000, y: 75, z: 1} + Scale: {x: 1.01992035, y: 1.39130437, z: 1} IsActive: true Renderable Component: Mesh: 141771688 - Material: 128676209 + Material: 117587364 + IsActive: true + UI Component: + Canvas ID: 19 + Hovered: false + Clicked: false + IsActive: true + Scripts: ~ +- EID: 31 + Name: BGM Volume Slider + IsActive: true + NumberOfChildren: 1 + Components: + Transform Component: + Translate: {x: 0, y: -200, z: 0} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 1004, y: 46, z: 1} + IsActive: true + Renderable Component: + Mesh: 141771688 + Material: 129354037 IsActive: true Slider Component: Slider Value: 1 @@ -820,6 +868,30 @@ Hovered: false Clicked: false IsActive: true + Scripts: + - Type: SHADE_Scripting.UI.SliderFX + Enabled: true + onClickSound: event:/UI/button_success + onReleaseSound: event:/UI/button_fail +- EID: 435 + Name: Slider BG + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: 0, y: 0, z: 0.100000001} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 1.01992035, y: 1.39130437, z: 1} + IsActive: true + Renderable Component: + Mesh: 141771688 + Material: 117587364 + IsActive: true + UI Component: + Canvas ID: 19 + Hovered: false + Clicked: false + IsActive: true Scripts: ~ - EID: 32 Name: Camera Title Text @@ -944,19 +1016,19 @@ - EID: 37 Name: FOV Slider IsActive: true - NumberOfChildren: 0 + NumberOfChildren: 1 Components: Transform Component: Translate: {x: 0, y: 0, z: 0} Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 1000, y: 75, z: 1} + Scale: {x: 1004, y: 46, z: 1} IsActive: true Renderable Component: Mesh: 141771688 - Material: 128676209 + Material: 117651669 IsActive: true Slider Component: - Slider Value: 1 + Slider Value: 0.889483869 Min Value: 30 Max Value: 120 IsActive: true @@ -965,6 +1037,30 @@ Hovered: false Clicked: false IsActive: true + Scripts: + - Type: SHADE_Scripting.UI.SliderFX + Enabled: true + onClickSound: event:/UI/button_success + onReleaseSound: event:/UI/button_fail +- EID: 434 + Name: Slider BG + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: 0, y: 0, z: 0.100000001} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 1.01992035, y: 1.39130437, z: 1} + IsActive: true + Renderable Component: + Mesh: 141771688 + Material: 117587364 + IsActive: true + UI Component: + Canvas ID: 19 + Hovered: false + Clicked: false + IsActive: true Scripts: ~ - EID: 448 Name: Invert X Toggle Button @@ -995,6 +1091,14 @@ Enabled: true inverseX: true inverseY: false + - Type: SHADE_Scripting.UI.ButtonFX + Enabled: true + onHoverEnterSound: event:/UI/botton_hover + onHoverExitSound: Empty + onClickSound: event:/UI/button_success + onReleaseSound: event:/UI/button_fail + hoverScale: 1.25 + clickScale: 0.899999976 - EID: 445 Name: Invert Y Toggle Button IsActive: true @@ -1024,6 +1128,14 @@ Enabled: true inverseX: false inverseY: true + - Type: SHADE_Scripting.UI.ButtonFX + Enabled: true + onHoverEnterSound: event:/UI/botton_hover + onHoverExitSound: Empty + onClickSound: event:/UI/button_success + onReleaseSound: event:/UI/button_fail + hoverScale: 1.25 + clickScale: 0.899999976 - EID: 39 Name: Audio Slider Text Group IsActive: true @@ -1142,7 +1254,7 @@ Scale: {x: 75, y: 75, z: 1} IsActive: true Text Renderer Component: - Text: 100 + Text: 60 Font: 174412429 Color: {x: 0, y: 0, z: 0, w: 1} Text Size: {x: 1, y: 1, z: 1} @@ -1446,6 +1558,14 @@ - Type: ChangeSceneButton Enabled: true sceneID: 91947920 + - Type: SHADE_Scripting.UI.ButtonFX + Enabled: true + onHoverEnterSound: event:/UI/botton_hover + onHoverExitSound: Empty + onClickSound: event:/UI/button_success + onReleaseSound: event:/UI/button_fail + hoverScale: 1.10000002 + clickScale: 0.899999976 - EID: 439 Name: Level 2 Button IsActive: true @@ -1474,6 +1594,14 @@ - Type: ChangeSceneButton Enabled: true sceneID: 86098106 + - Type: SHADE_Scripting.UI.ButtonFX + Enabled: true + onHoverEnterSound: event:/UI/botton_hover + onHoverExitSound: Empty + onClickSound: event:/UI/button_success + onReleaseSound: event:/UI/button_fail + hoverScale: 1.10000002 + clickScale: 0.899999976 - EID: 438 Name: Level 3 Button IsActive: true @@ -1502,16 +1630,24 @@ - Type: ChangeSceneButton Enabled: true sceneID: 88928066 + - Type: SHADE_Scripting.UI.ButtonFX + Enabled: true + onHoverEnterSound: event:/UI/botton_hover + onHoverExitSound: Empty + onClickSound: event:/UI/button_success + onReleaseSound: event:/UI/button_fail + hoverScale: 1.10000002 + clickScale: 0.899999976 - EID: 450 Name: TransitionCanvas - IsActive: true + IsActive: false NumberOfChildren: 1 Components: Canvas Component: Canvas Width: 1920 Canvas Height: 1080 Scale by canvas width: false - IsActive: true + IsActive: false Scripts: ~ - EID: 65982 Name: Transition @@ -1535,6 +1671,6 @@ Scripts: - Type: SHADE_Scripting.UI.SceneFadeInOut Enabled: true - alphaValue: 1 + alphaValue: 0 fadeInTime: 0.5 fadeOutTime: 0.5 \ No newline at end of file diff --git a/Assets/Scenes/Scene2.shade b/Assets/Scenes/Scene2.shade index d284d4ea..4f925833 100644 --- a/Assets/Scenes/Scene2.shade +++ b/Assets/Scenes/Scene2.shade @@ -1,3 +1,4 @@ +- NavData: 0 - EID: 0 Name: Default IsActive: true @@ -170,8 +171,13 @@ Angular Ranges And Offset: {x: 6.19999981, y: 1.10000002, z: 0, w: 0.100000001} Rotation Speed: 0.0309999995 Rotation Decay: 0.0199999996 - Texture Asset ID: 63456868 + Texture Asset ID: 0 + Custom Vertex Shader Asset ID: 44202416 + Custom Fragment Shader Asset ID: 42315398 Custom Update Shader Asset ID: 0 - Color Tint: {x: 1, y: 0, z: 0, w: 1} + Color Tint: {x: 0.46696043, y: 1, z: 0, w: 1} + Color Tint Range: {x: 1, y: 0, z: 0, w: 0} + Color Decay: {x: -1, y: -1, z: -1, w: 0} + Acceleration: {x: 0, y: 0, z: 0} IsActive: true Scripts: ~ \ No newline at end of file diff --git a/Assets/Scripts/Gameplay/SC_GameManager.cs b/Assets/Scripts/Gameplay/SC_GameManager.cs index b4e17d29..0579abd9 100644 --- a/Assets/Scripts/Gameplay/SC_GameManager.cs +++ b/Assets/Scripts/Gameplay/SC_GameManager.cs @@ -136,7 +136,7 @@ public class GameManager : Script if(scoreText) scoreText.GetComponent().Text = $"{Score}"; if(timeText) - timeText.GetComponent().Text = $"{timer.ToString("0.00")}"; + timeText.GetComponent().Text = $"{timer.ToString("0")}"; if (itemScored) { diff --git a/Assets/Scripts/UI/SC_GameTimer.cs b/Assets/Scripts/UI/SC_GameTimer.cs new file mode 100644 index 00000000..86247f88 --- /dev/null +++ b/Assets/Scripts/UI/SC_GameTimer.cs @@ -0,0 +1,57 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using SHADE; + +namespace SHADE_Scripting.UI +{ + public class GameTimer: Script + { + private ScaleBounce scaleBounce; + private TextRenderable text; + public float criticalTime = 30; + + public float timer; + + + protected override void awake() + { + text = GetComponent(); + if(!text) + { + Debug.Log("GameTimer: No text renderable found"); + } + + scaleBounce = GetScript(); + if(!scaleBounce) + { + Debug.Log("GameTimer: No Scalebounce found in children"); + } + else + { + scaleBounce.isActive = false; + } + + } + + + protected override void update() + { + timer = GameManager.Instance.timer; + + if (timer <= criticalTime) + { + scaleBounce.isActive = true; + text.TextColor = new Color(1.0f, 0.0f, 0.0f, 1.0f); + } + + + + } + + + + } +} diff --git a/Assets/Scripts/UI/SC_GameTimer.cs.shmeta b/Assets/Scripts/UI/SC_GameTimer.cs.shmeta new file mode 100644 index 00000000..ed4b185f --- /dev/null +++ b/Assets/Scripts/UI/SC_GameTimer.cs.shmeta @@ -0,0 +1,3 @@ +Name: SC_GameTimer +ID: 158823052 +Type: 9 diff --git a/Assets/Scripts/UI/SC_MultiplierTextFx.cs b/Assets/Scripts/UI/SC_MultiplierTextFx.cs index ccd2a4a8..d49eddf4 100644 --- a/Assets/Scripts/UI/SC_MultiplierTextFx.cs +++ b/Assets/Scripts/UI/SC_MultiplierTextFx.cs @@ -12,98 +12,66 @@ namespace SHADE_Scripting.UI [NonSerialized] private TweenThread sizeThread; private TweenThread sizeInvertThread; - private TweenThread alphaThread; + public float maxSize = 1.0f; public float minSize = 0.3f; - public float minAlpha = 0.3f; - - private bool showMultiplier = false; const float sizeUpDuration = 0.1f; [NonSerialized] private Vector3 defaultScale; + private bool tweenUp = false; + protected override void start() { - sizeThread = TweenManager.CreateTweenThread(0.0f, maxSize, minSize, EASING_METHOD.EASE_IN_SINE); + sizeThread = TweenManager.CreateTweenThread(0.01f, maxSize, minSize, EASING_METHOD.EASE_IN_SINE); sizeInvertThread = TweenManager.CreateTweenThread(sizeUpDuration, minSize, maxSize, EASING_METHOD.EASE_IN_SINE); - alphaThread = TweenManager.CreateTweenThread(0.0f, 1.0f, minAlpha, EASING_METHOD.EASE_OUT_SINE); + Transform transform = GetComponent(); if (transform != null) { defaultScale = transform.LocalScale; transform.LocalScale = Vector3.Zero; } - - - showMultiplier = false; - } - protected override void update() + protected override void update() + { + Transform transform = GetComponent(); + + + if (transform != null) + { + if (tweenUp == false) { - Transform transform = GetComponent(); - - - if (transform != null && showMultiplier == true) - { - if(!sizeInvertThread.IsCompleted()) - { - transform.LocalScale = defaultScale * sizeInvertThread.GetValue(); - - Renderable rend = GetComponentInChildren(); - if(rend) - { - rend.Material.SetProperty("data.alpha", 1.0f); - } - - TextRenderable text = GetComponent(); - if (text) - { - Color clr = text.TextColor; - text.TextColor = new Color(clr.r, clr.g, clr.b, 1.0f); - } - return; - } - - if(sizeThread.IsCompleted()) - { - transform.LocalScale = Vector3.Zero; - showMultiplier = false; - } - else - { - transform.LocalScale = defaultScale * sizeThread.GetValue(); - - Renderable rend = GetComponentInChildren(); - if (rend) - { - rend.Material.SetProperty("data.alpha", alphaThread.GetValue()); - } - TextRenderable text = GetComponent(); - if(text) - { - Color clr = text.TextColor; - text.TextColor = new Color(clr.r,clr.g,clr.b,alphaThread.GetValue() * 1.3f); - } - } - } + transform.LocalScale = defaultScale * sizeThread.GetValue(); } + else + { + if (sizeInvertThread.IsCompleted()) + { + tweenUp = false; + sizeThread.Reset(); + } + + transform.LocalScale = defaultScale * sizeInvertThread.GetValue(); + + } + } + } public void ShowMultiplier(int multiplier, float duration) { GetComponent().Text = $"X {multiplier}"; sizeThread.duration = duration + sizeUpDuration; - alphaThread.duration = duration + sizeUpDuration; sizeInvertThread.Reset(); sizeThread.Reset(); - alphaThread.Reset(); - showMultiplier = true; + tweenUp = true; } diff --git a/Assets/Scripts/UI/SC_ScaleBounce.cs b/Assets/Scripts/UI/SC_ScaleBounce.cs index 0d5ca381..d6ec4792 100644 --- a/Assets/Scripts/UI/SC_ScaleBounce.cs +++ b/Assets/Scripts/UI/SC_ScaleBounce.cs @@ -7,18 +7,22 @@ using System.Threading.Tasks; namespace SHADE_Scripting.UI { - public class ScaleBounce:Script - { - [NonSerialized] - private TweenThread thread; + public class ScaleBounce : Script + { + [NonSerialized] + private TweenThread thread; - public float minScale = 1.0f; - public float maxScale = 1.2f; - public float duration = 1.0f; + public float minScale = 1.0f; + public float maxScale = 1.2f; + public float duration = 1.0f; - private Vector3 defaultScale; + private Vector3 defaultScale; + public bool isActive = false; + + private bool lastActive = false; + protected override void start() { thread = TweenManager.CreateTweenThread(duration, minScale, maxScale, EASING_METHOD.EASE_IN_SINE); @@ -31,8 +35,15 @@ namespace SHADE_Scripting.UI protected override void update() { + + if(isActive != lastActive && isActive == true) + { + thread.Reset(); + } + lastActive = isActive; + Transform trans = GetComponent(); - if(trans != null) + if(trans != null && isActive) { trans.LocalScale = defaultScale * thread.GetValue(); } diff --git a/Assets/Scripts/UI/SC_SliderFX.cs b/Assets/Scripts/UI/SC_SliderFX.cs new file mode 100644 index 00000000..f2c20dcd --- /dev/null +++ b/Assets/Scripts/UI/SC_SliderFX.cs @@ -0,0 +1,70 @@ +using SHADE; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SHADE_Scripting.UI +{ + public class SliderFX : Script + { + + public string onClickSound = "event:/UI/button_success"; + public string onReleaseSound = "event:/UI/button_fail"; + + + [NonSerialized] + private AudioClipHandler onClickACHandler; + [NonSerialized] + private AudioClipHandler onReleaseACHandler; + + + + protected override void awake() + { + + + if (onClickSound != "Empty") + onClickACHandler = SHADE.Audio.CreateAudioClip(onClickSound); + if (onReleaseSound != "Empty") + onReleaseACHandler = SHADE.Audio.CreateAudioClip(onReleaseSound); + } + + protected override void start() + { + + + Transform transform = GetComponent(); + if (transform == null) + return; + + UIElement ui = GetComponent(); + if (ui == null) + return; + + + ui.OnClick.RegisterAction(() => + { + if (onClickSound != "Empty") + onClickACHandler.Play(); + + }); + + ui.OnRelease.RegisterAction(() => + { + if (onReleaseSound != "Empty") + onReleaseACHandler.Play(); + + }); + + } + + protected override void update() + { + + } + + + } +} diff --git a/Assets/Scripts/UI/SC_SliderFX.cs.shmeta b/Assets/Scripts/UI/SC_SliderFX.cs.shmeta new file mode 100644 index 00000000..fdb814d0 --- /dev/null +++ b/Assets/Scripts/UI/SC_SliderFX.cs.shmeta @@ -0,0 +1,3 @@ +Name: SC_SliderFX +ID: 157251414 +Type: 9 diff --git a/Assets/Shaders/ParticleEmit_CS.glsl b/Assets/Shaders/ParticleEmit_CS.glsl index 7b6e60be..e3cf2977 100644 --- a/Assets/Shaders/ParticleEmit_CS.glsl +++ b/Assets/Shaders/ParticleEmit_CS.glsl @@ -14,6 +14,8 @@ struct EmitterParameters float rotationDecay; vec4 lifeAndSizeRange; // min life, max life, min size, max size vec4 colorTint; + vec4 colorTintRange; + vec4 colorDecay; float sizeDecay; uint textureIndex; float padding[2]; @@ -27,6 +29,7 @@ struct ParticleData vec4 acceleration; vec4 scaleAndDecay; vec4 colorTint; + vec4 colorDecay; float life; uint textureIndex; }; @@ -175,9 +178,18 @@ void main() particle.scaleAndDecay.y = particleSize; particle.scaleAndDecay.z = emitterParams.data.sizeDecay; particle.scaleAndDecay.w = emitterParams.data.sizeDecay; + particle.colorDecay = emitterParams.data.colorDecay; + float randRange = rand(seed) * 2.0f - 1.0f; + // Set particle color tint - particle.colorTint = emitterParams.data.colorTint; + particle.colorTint = emitterParams.data.colorTint + vec4 (randRange * emitterParams.data.colorTintRange.x, + randRange * emitterParams.data.colorTintRange.y, + randRange * emitterParams.data.colorTintRange.z, + randRange * emitterParams.data.colorTintRange.w); + + // particle.colorTint = emitterParams.data.colorTint; + // Set the texture for the particle particle.textureIndex = emitterParams.data.textureIndex; diff --git a/Assets/Shaders/ParticleEmit_CS.shshaderb b/Assets/Shaders/ParticleEmit_CS.shshaderb index f0e7b191..16b1d366 100644 Binary files a/Assets/Shaders/ParticleEmit_CS.shshaderb and b/Assets/Shaders/ParticleEmit_CS.shshaderb differ diff --git a/Assets/Shaders/ParticleRounded_FS.glsl b/Assets/Shaders/ParticleRounded_FS.glsl new file mode 100644 index 00000000..6de4dc8b --- /dev/null +++ b/Assets/Shaders/ParticleRounded_FS.glsl @@ -0,0 +1,27 @@ +#version 460 core +#extension GL_EXT_nonuniform_qualifier : require + +layout (location = 0) out vec4 fragColor; + +layout (set = 0, binding = 1) uniform sampler2D textures[]; // for textures (global) + +// between shader stages +layout(location = 0) in struct +{ + vec2 uv; // location = 0 +} In; + +// material stuff +layout(location = 1) flat in struct +{ + uint textureIndex; + vec4 color; +} InFlat; + +void main () +{ + fragColor = vec4 (texture(textures [nonuniformEXT(InFlat.textureIndex)], In.uv)) * InFlat.color; + + if (fragColor.a < 0.01f) + discard; +} diff --git a/Assets/Shaders/ParticleRounded_FS.shshaderb b/Assets/Shaders/ParticleRounded_FS.shshaderb new file mode 100644 index 00000000..59049d0c Binary files /dev/null and b/Assets/Shaders/ParticleRounded_FS.shshaderb differ diff --git a/Assets/Shaders/ParticleRounded_FS.shshaderb.shmeta b/Assets/Shaders/ParticleRounded_FS.shshaderb.shmeta new file mode 100644 index 00000000..b5720806 --- /dev/null +++ b/Assets/Shaders/ParticleRounded_FS.shshaderb.shmeta @@ -0,0 +1,3 @@ +Name: ParticleRounded_FS +ID: 42315398 +Type: 2 diff --git a/Assets/Shaders/ParticleRounded_VS.glsl b/Assets/Shaders/ParticleRounded_VS.glsl new file mode 100644 index 00000000..414648e7 --- /dev/null +++ b/Assets/Shaders/ParticleRounded_VS.glsl @@ -0,0 +1,107 @@ +#version 460 core + +struct GenericData +{ + //! Delta time + float dt; + + //! Elapsed time of the application + float elapsedTime; + + //! Viewport width of the scene (excluding imgui, that means smaller than window) + uint viewportWidth; + + //! Ditto but for height + uint viewportHeight; +}; + +struct ParticleData +{ + vec4 position; + vec4 orientationSpeedDecay; + vec4 velocity; + vec4 acceleration; + vec4 scaleAndDecay; + vec4 colorTint; + vec4 colorDecay; + float life; + uint textureIndex; +}; + +layout (set = 0, binding = 0) uniform GenericDataBuffer +{ + GenericData data; +} genericDataBuffer; + + +layout(set = 1, binding = 0) uniform CameraData +{ + vec4 position; + mat4 vpMat; + mat4 viewMat; + mat4 projMat; +} cameraData; + +// output buffer not needed +layout (std430, set = 2, binding = 2) coherent restrict buffer ParticlesOutputBuffer +{ + ParticleData data[]; +} outputParticles; + +layout (std430, set = 2, binding = 4) coherent restrict buffer IndicesData +{ + uint indices[]; +}; + +// between shader stages +layout(location = 0) out struct +{ + vec2 uv; // location = 0 +} Out; + +// material stuff +layout(location = 1) out struct +{ + uint textureIndex; // location = 1 + vec4 color; // location = 2 +} OutFlat; + +vec2 CreateQuad (in uint vertexID) +{ + uint b = 1 << vertexID; + return vec2 ((0x3 & b) != 0, (0x9 & b) != 0); +} + +void main() +{ + // Create a quad and its texture coordinates + Out.uv = CreateQuad (gl_VertexIndex); + vec3 vertexPos = vec3 (Out.uv - vec2(0.5f), 0.0f); + vertexPos.y *= 0.5f; + + ParticleData particle = outputParticles.data[indices[gl_InstanceIndex]]; + + vec3 normalized = normalize (vec3 (particle.velocity.xyz)); + float pitch = acos (dot (normalized.xyz, normalize (vec3 (normalized.x, 0.0f, normalized.z)))); + + float angle = pitch; + // float angle = atan (normalized.y, normalized.x); + vec2 particleScaleData = particle.scaleAndDecay.xy; // x and y + + mat3 rotate = mat3 (1.0f); + rotate[0][0] = cos(angle); + rotate[0][1] = sin(angle); + rotate[1][0] = -sin(angle); + rotate[1][1] = cos(angle); + + vec3 particlePos = rotate * vertexPos; + + vec3 viewRight = normalize (vec3 (cameraData.viewMat[0][0], cameraData.viewMat[1][0], cameraData.viewMat[2][0])); + vec3 viewUp = normalize(vec3 (cameraData.viewMat[0][1], cameraData.viewMat[1][1], cameraData.viewMat[2][1])); + + particlePos = particle.position.xyz + (viewRight * particlePos.x * particleScaleData.x) + (viewUp * particlePos.y * particleScaleData.y); + OutFlat.textureIndex = particle.textureIndex; + OutFlat.color = particle.colorTint; + + gl_Position = cameraData.vpMat * vec4(particlePos, 1.0f); +} \ No newline at end of file diff --git a/Assets/Shaders/ParticleRounded_VS.shshaderb b/Assets/Shaders/ParticleRounded_VS.shshaderb new file mode 100644 index 00000000..0b2d07da Binary files /dev/null and b/Assets/Shaders/ParticleRounded_VS.shshaderb differ diff --git a/Assets/Shaders/ParticleRounded_VS.shshaderb.shmeta b/Assets/Shaders/ParticleRounded_VS.shshaderb.shmeta new file mode 100644 index 00000000..68577bd3 --- /dev/null +++ b/Assets/Shaders/ParticleRounded_VS.shshaderb.shmeta @@ -0,0 +1,3 @@ +Name: ParticleRounded_VS +ID: 44202416 +Type: 2 diff --git a/Assets/Shaders/ParticleUpdateGrowThenShrink_CS.glsl b/Assets/Shaders/ParticleUpdateGrowThenShrink_CS.glsl index 0c9600f5..b3dae84b 100644 --- a/Assets/Shaders/ParticleUpdateGrowThenShrink_CS.glsl +++ b/Assets/Shaders/ParticleUpdateGrowThenShrink_CS.glsl @@ -18,6 +18,7 @@ struct ParticleData vec4 acceleration; vec4 scaleAndDecay; vec4 colorTint; + vec4 colorDecay; float life; uint textureIndex; }; diff --git a/Assets/Shaders/ParticleUpdateRandomAcc_CS.glsl b/Assets/Shaders/ParticleUpdateRandomAcc_CS.glsl index bf500255..ea51b08c 100644 --- a/Assets/Shaders/ParticleUpdateRandomAcc_CS.glsl +++ b/Assets/Shaders/ParticleUpdateRandomAcc_CS.glsl @@ -17,6 +17,8 @@ struct ParticleData vec4 velocity; vec4 acceleration; vec4 scaleAndDecay; + vec4 colorTint; + vec4 colorDecay; float life; uint textureIndex; }; diff --git a/Assets/Shaders/ParticleUpdateRandomColor_CS.glsl b/Assets/Shaders/ParticleUpdateRandomColor_CS.glsl index 91c17eb5..012c6009 100644 --- a/Assets/Shaders/ParticleUpdateRandomColor_CS.glsl +++ b/Assets/Shaders/ParticleUpdateRandomColor_CS.glsl @@ -18,6 +18,7 @@ struct ParticleData vec4 acceleration; vec4 scaleAndDecay; vec4 colorTint; + vec4 colorDecay; float life; uint textureIndex; }; diff --git a/Assets/Shaders/ParticleUpdate_CS.glsl b/Assets/Shaders/ParticleUpdate_CS.glsl index 1f5384ec..d9b8b31b 100644 --- a/Assets/Shaders/ParticleUpdate_CS.glsl +++ b/Assets/Shaders/ParticleUpdate_CS.glsl @@ -18,6 +18,7 @@ struct ParticleData vec4 acceleration; vec4 scaleAndDecay; vec4 colorTint; + vec4 colorDecay; float life; uint textureIndex; }; @@ -126,6 +127,7 @@ void main() particle.orientationSpeedDecay.x += particle.orientationSpeedDecay.y; particle.scaleAndDecay.x *= particle.scaleAndDecay.z; particle.scaleAndDecay.y *= particle.scaleAndDecay.w; + particle.colorTint -= particle.colorDecay * genericDataBuffer.data.dt; if (particle.orientationSpeedDecay.y > 0.0f) { diff --git a/Assets/Shaders/ParticleUpdate_CS.shshaderb b/Assets/Shaders/ParticleUpdate_CS.shshaderb index e7a3ec64..45e17306 100644 Binary files a/Assets/Shaders/ParticleUpdate_CS.shshaderb and b/Assets/Shaders/ParticleUpdate_CS.shshaderb differ diff --git a/Assets/Shaders/Particle_VS.glsl b/Assets/Shaders/Particle_VS.glsl index b5b6f13e..362b1508 100644 --- a/Assets/Shaders/Particle_VS.glsl +++ b/Assets/Shaders/Particle_VS.glsl @@ -15,7 +15,6 @@ struct GenericData uint viewportHeight; }; - struct ParticleData { vec4 position; @@ -24,6 +23,7 @@ struct ParticleData vec4 acceleration; vec4 scaleAndDecay; vec4 colorTint; + vec4 colorDecay; float life; uint textureIndex; }; diff --git a/Assets/Shaders/Particle_VS.shshaderb b/Assets/Shaders/Particle_VS.shshaderb index 2ba7a729..0c18fff5 100644 Binary files a/Assets/Shaders/Particle_VS.shshaderb and b/Assets/Shaders/Particle_VS.shshaderb differ diff --git a/Assets/Shaders/UI_Slider_Textured_FS.glsl b/Assets/Shaders/UI_Slider_Textured_FS.glsl index 9f7945ce..cddf57d9 100644 --- a/Assets/Shaders/UI_Slider_Textured_FS.glsl +++ b/Assets/Shaders/UI_Slider_Textured_FS.glsl @@ -42,19 +42,21 @@ layout(location = 1) out uint outEntityID; void main() { //fragColor = texture(textures[nonuniformEXT(MatProp.data[In2.materialIndex].textureIndex)], In.uv); - - if (In.uv.x > MatProp.data[In2.materialIndex].sliderThreshold) - fragColor = MatProp.data[In2.materialIndex].sliderBarColor; - else - //fragColor = (1.0f - In.uv.x) * MatProp.data[In2.materialIndex].sliderStartColor + In.uv.x * MatProp.data[In2.materialIndex].sliderEndColor; - fragColor = texture(textures[nonuniformEXT(MatProp.data[In2.materialIndex].textureIndex)], In.uv); - - + fragColor = texture(textures[nonuniformEXT(MatProp.data[In2.materialIndex].textureIndex)], In.uv); if (fragColor.a < 0.01f) { discard; } + if (In.uv.x > MatProp.data[In2.materialIndex].sliderThreshold) + fragColor = MatProp.data[In2.materialIndex].sliderBarColor; + + if (fragColor.xyz == vec3(0.0f, 0.0f, 0.0f)) + fragColor.xyz = MatProp.data[In2.materialIndex].sliderStartColor.xyz; + + + + fragColor.a = MatProp.data[In2.materialIndex].alpha; // fragColor.a = 1.0f; diff --git a/Assets/Shaders/UI_Slider_Textured_FS.shshaderb b/Assets/Shaders/UI_Slider_Textured_FS.shshaderb index db7f7c70..6b024f23 100644 Binary files a/Assets/Shaders/UI_Slider_Textured_FS.shshaderb and b/Assets/Shaders/UI_Slider_Textured_FS.shshaderb differ diff --git a/Assets/Texture/UI/slider_bg.dds b/Assets/Texture/UI/slider_bg.dds new file mode 100644 index 00000000..695ce687 Binary files /dev/null and b/Assets/Texture/UI/slider_bg.dds differ diff --git a/Assets/Texture/UI/slider_bg.shtex b/Assets/Texture/UI/slider_bg.shtex new file mode 100644 index 00000000..184df4ae Binary files /dev/null and b/Assets/Texture/UI/slider_bg.shtex differ diff --git a/Assets/Texture/UI/slider_bg.shtex.shmeta b/Assets/Texture/UI/slider_bg.shtex.shmeta new file mode 100644 index 00000000..833cf676 --- /dev/null +++ b/Assets/Texture/UI/slider_bg.shtex.shmeta @@ -0,0 +1,3 @@ +Name: slider_bg +ID: 64816540 +Type: 3 diff --git a/Assets/Texture/UI/slider_fill_black.dds b/Assets/Texture/UI/slider_fill_black.dds new file mode 100644 index 00000000..2d6c96c0 Binary files /dev/null and b/Assets/Texture/UI/slider_fill_black.dds differ diff --git a/Assets/Texture/UI/slider_fill_black.shtex b/Assets/Texture/UI/slider_fill_black.shtex new file mode 100644 index 00000000..eb0ebf6e Binary files /dev/null and b/Assets/Texture/UI/slider_fill_black.shtex differ diff --git a/Assets/Texture/UI/slider_fill_black.shtex.shmeta b/Assets/Texture/UI/slider_fill_black.shtex.shmeta new file mode 100644 index 00000000..4f9bc718 --- /dev/null +++ b/Assets/Texture/UI/slider_fill_black.shtex.shmeta @@ -0,0 +1,3 @@ +Name: slider_fill_black +ID: 50370514 +Type: 3 diff --git a/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHEditorComponentView.hpp b/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHEditorComponentView.hpp index 961e321a..7bb5c552 100644 --- a/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHEditorComponentView.hpp +++ b/SHADE_Engine/src/Editor/EditorWindow/Inspector/SHEditorComponentView.hpp @@ -903,6 +903,26 @@ namespace SHADE comp->SetColorTint(val); }); + SHEditorWidgets::DragVec4("Color Decay", {"x", "y", "z", "w"}, + [comp = component]() + { + return comp->GetColorDecay(); + }, + [comp = component](SHVec4 const& val) + { + comp->SetColorDecay(val); + }); + + SHEditorWidgets::DragVec4("Color Tint Range", { "x", "y", "z", "w" }, + [comp = component]() + { + return comp->GetColorTintRange(); + }, + [comp = component](SHVec4 const& val) + { + comp->SetColorTintRange(val); + }); + SHEditorWidgets::DragInt("Texture Index", [comp = component]() @@ -984,6 +1004,88 @@ namespace SHADE } + SHEditorWidgets::InputText("Custom Vertex Shader", + [comp = component]() + { + auto customShader = comp->GetCustomVertexShader(); + + if (customShader) + return customShader->GetName(); + else + return std::string{}; + + }, + [comp = component](std::string const& text) + { + }, {}, ImGuiSliderFlags_ReadOnly); + + if (SHDragDrop::BeginTarget()) + { + if (AssetID* payload = SHDragDrop::AcceptPayload(SHDragDrop::DRAG_RESOURCE)) + { + Handle shaderModule = SHResourceManager::LoadOrGet(*payload); + + if (shaderModule) + { + component->SetCustomVertexShader(shaderModule); + component->SetCustomVertexShaderAssetID(*payload); + } + else + { + SHLOG_WARNING("[] Attempted to load invalid shader! Custom vertex shader for particles not set. "); + } + + SHDragDrop::EndTarget(); + } + } + ImGui::SameLine(); + if (ImGui::Button("Reset")) + { + component->SetCustomVertexShader({}); + component->SetCustomVertexShaderAssetID(INVALID_ASSET_ID); + } + + + SHEditorWidgets::InputText("Custom Fragment Shader", + [comp = component]() + { + auto customShader = comp->GetCustomFragmentShader(); + + if (customShader) + return customShader->GetName(); + else + return std::string{}; + + }, + [comp = component](std::string const& text) + { + }, {}, ImGuiSliderFlags_ReadOnly); + + if (SHDragDrop::BeginTarget()) + { + if (AssetID* payload = SHDragDrop::AcceptPayload(SHDragDrop::DRAG_RESOURCE)) + { + Handle shaderModule = SHResourceManager::LoadOrGet(*payload); + + if (shaderModule) + { + component->SetCustomFragmentShader(shaderModule); + component->SetCustomFragmentShaderAssetID(*payload); + } + else + { + SHLOG_WARNING("[] Attempted to load invalid shader! Custom fragment shader for particles not set. "); + } + + SHDragDrop::EndTarget(); + } + } + ImGui::SameLine(); + if (ImGui::Button("Reset")) + { + component->SetCustomFragmentShader({}); + component->SetCustomFragmentShaderAssetID(INVALID_ASSET_ID); + } SHEditorWidgets::CheckBox("Is Passive", [comp = component]() {return comp->GetPassive(); }, [comp = component](bool flag) {comp->SetPassive(flag); }); diff --git a/SHADE_Engine/src/Graphics/MiddleEnd/Particles/SHParticleEmitterComponent.cpp b/SHADE_Engine/src/Graphics/MiddleEnd/Particles/SHParticleEmitterComponent.cpp index 74eb3727..392e18a5 100644 --- a/SHADE_Engine/src/Graphics/MiddleEnd/Particles/SHParticleEmitterComponent.cpp +++ b/SHADE_Engine/src/Graphics/MiddleEnd/Particles/SHParticleEmitterComponent.cpp @@ -124,6 +124,16 @@ namespace SHADE customUpdateShaderID = id; } + void SHParticleEmitterComponent::SetCustomVertexShaderAssetID(AssetID id) noexcept + { + customVertexShaderID = id; + } + + void SHParticleEmitterComponent::SetCustomFragmentShaderAssetID(AssetID id) noexcept + { + customFragmentShaderID = id; + } + void SHParticleEmitterComponent::SetMinSize(float size) noexcept { cpuEmitterData.lifeAndSizeRange.z = size; @@ -139,6 +149,16 @@ namespace SHADE cpuEmitterData.sizeDecayMult = decay; } + void SHParticleEmitterComponent::SetCustomVertexShader(Handle shaderModule) noexcept + { + customVertexShader = shaderModule; + } + + void SHParticleEmitterComponent::SetCustomFragmentShader(Handle shaderModule) noexcept + { + customFragmentShader = shaderModule; + } + void SHParticleEmitterComponent::SetCustomUpdateShader(Handle shaderModule) noexcept { customUpdateShader = shaderModule; @@ -156,11 +176,45 @@ namespace SHADE cpuEmitterData.colorTint.z = tint.z; } + void SHParticleEmitterComponent::SetColorDecayRGB(SHVec3 const& decay) noexcept + { + cpuEmitterData.colorDecay.x = decay.x; + cpuEmitterData.colorDecay.y = decay.y; + cpuEmitterData.colorDecay.z = decay.z; + } + + void SHParticleEmitterComponent::SetColorDecayAlpha(float alpha) noexcept + { + cpuEmitterData.colorDecay.w = alpha; + } + void SHParticleEmitterComponent::SetColorTintAlpha(float alpha) noexcept { cpuEmitterData.colorTint.w = alpha; } + void SHParticleEmitterComponent::SetColorTintRange(SHVec4 const& tintRange) noexcept + { + cpuEmitterData.colorTintRange = tintRange; + } + + void SHParticleEmitterComponent::SetColorTintRangeRGB(SHVec3 const& tintRange) noexcept + { + cpuEmitterData.colorTintRange.x = tintRange.x; + cpuEmitterData.colorTintRange.y = tintRange.y; + cpuEmitterData.colorTintRange.z = tintRange.z; + } + + void SHParticleEmitterComponent::SetColorTintRangeAlpha(float alpha) noexcept + { + cpuEmitterData.colorTintRange.w = alpha; + } + + void SHParticleEmitterComponent::SetColorDecay(SHVec4 const& decay) noexcept + { + cpuEmitterData.colorDecay = decay; + } + uint32_t SHParticleEmitterComponent::GetEmissionCount(void) const noexcept { return emissionCount; @@ -242,6 +296,16 @@ namespace SHADE return customUpdateShaderID; } + AssetID SHParticleEmitterComponent::GetCustomVertexShaderAssetID(void) const noexcept + { + return customVertexShaderID; + } + + AssetID SHParticleEmitterComponent::GetCustomFragmentShaderAssetID(void) const noexcept + { + return customFragmentShaderID; + } + float SHParticleEmitterComponent::GetMinSize(void) const noexcept { return cpuEmitterData.lifeAndSizeRange.z; @@ -263,6 +327,16 @@ namespace SHADE return customUpdateShader; } + Handle SHParticleEmitterComponent::GetCustomVertexShader(void) const noexcept + { + return customVertexShader; + } + + Handle SHParticleEmitterComponent::GetCustomFragmentShader(void) const noexcept + { + return customFragmentShader; + } + SHVec4 const& SHParticleEmitterComponent::GetColorTint(void) const noexcept { return cpuEmitterData.colorTint; @@ -273,9 +347,39 @@ namespace SHADE return SHVec3 (cpuEmitterData.colorTint.x, cpuEmitterData.colorTint.y, cpuEmitterData.colorTint.z); } + SHVec3 SHParticleEmitterComponent::GetColorDecayRGB(void) const noexcept + { + return SHVec3(cpuEmitterData.colorDecay.x, cpuEmitterData.colorDecay.y, cpuEmitterData.colorDecay.z); + } + + float SHParticleEmitterComponent::GetColorDecayAlpha(void) const noexcept + { + return cpuEmitterData.colorDecay.w; + } + float SHParticleEmitterComponent::GetColorTintAlpha(void) const noexcept { return cpuEmitterData.colorTint.w; } + SHVec4 const& SHParticleEmitterComponent::GetColorTintRange(void) const noexcept + { + return cpuEmitterData.colorTintRange; + } + + SHVec3 SHParticleEmitterComponent::GetColorTintRangeRGB(void) const noexcept + { + return SHVec3(cpuEmitterData.colorTintRange.x, cpuEmitterData.colorTintRange.y, cpuEmitterData.colorTintRange.z); + } + + float SHParticleEmitterComponent::GetColorTintRangeAlpha(void) const noexcept + { + return cpuEmitterData.colorTintRange.w; + } + + SHVec4 const& SHParticleEmitterComponent::GetColorDecay(void) const noexcept + { + return cpuEmitterData.colorDecay; + } + } \ No newline at end of file diff --git a/SHADE_Engine/src/Graphics/MiddleEnd/Particles/SHParticleEmitterComponent.h b/SHADE_Engine/src/Graphics/MiddleEnd/Particles/SHParticleEmitterComponent.h index 47791c44..d32ac2fc 100644 --- a/SHADE_Engine/src/Graphics/MiddleEnd/Particles/SHParticleEmitterComponent.h +++ b/SHADE_Engine/src/Graphics/MiddleEnd/Particles/SHParticleEmitterComponent.h @@ -46,6 +46,12 @@ namespace SHADE //! Color tint to assign to particles SHVec4 colorTint; + //! Color tint range to assign to particles + SHVec4 colorTintRange; + + //! Color decay for particle + SHVec4 colorDecay; + //! Size decay for particles float sizeDecayMult; @@ -77,6 +83,9 @@ namespace SHADE //! Color tinting for particle SHVec4 colorTint; + //! Color tinting for particle + SHVec4 colorDecay; + //! Life of the particle float life; @@ -106,7 +115,7 @@ namespace SHADE Handle particleData; //! Freelist data - Handle freelistData; + Handle freelistData; //! Indices data Handle indicesData; @@ -124,6 +133,16 @@ namespace SHADE //! Internally the system will bind this pipeline when it detects that this is not a null handle Handle customUpdatePipeline; + //! Custom vertex shader + Handle customVertexShader; + + //! Custom fragment shader + Handle customFragmentShader; + + //! Custom graphics pipeline for drawing particles (created + //! from the VS and FS above). + Handle customGraphicsPipeline; + //! Emitter's data on the CPU side. To be copied to GPU. GPUEmitterStruct cpuEmitterData; @@ -145,6 +164,12 @@ namespace SHADE //! Custom update shaders, similarly with textures, will be identified through their AssetID AssetID customUpdateShaderID; + //! Custom vertex shaders, similarly with textures, will be identified through their AssetID + AssetID customVertexShaderID; + + //! Custom fragment shaders, similarly with textures, will be identified through their AssetID + AssetID customFragmentShaderID; + public: void OnCreate(void) override final; void OnDestroy(void) override final; @@ -168,41 +193,63 @@ namespace SHADE void SetMinSize (float size) noexcept; void SetMaxSize (float size) noexcept; void SetSizeDecayMult (float decay) noexcept; + void SetCustomVertexShader (Handle shaderModule) noexcept; + void SetCustomFragmentShader (Handle shaderModule) noexcept; void SetCustomUpdateShader (Handle shaderModule) noexcept; void SetColorTint (SHVec4 tint) noexcept; void SetColorTintRGB (SHVec3 tint) noexcept; void SetColorTintAlpha (float alpha) noexcept; + void SetColorTintRange (SHVec4 const& tintRange) noexcept; + void SetColorTintRangeRGB (SHVec3 const& tintRange) noexcept; + void SetColorTintRangeAlpha (float alpha) noexcept; - uint32_t GetEmissionCount (void) const noexcept; - bool GetPassive (void) const noexcept; - float GetEmissionInterval (void) const noexcept; - float GetMinLife (void) const noexcept; - float GetMaxLife (void) const noexcept; - SHVec4 const& GetAngularRangesAndOffsets (void) const noexcept; - SHVec2 GetAngularRanges (void) const noexcept; - SHVec2 GetAngularOffsets (void) const noexcept; - SHVec3 GetAcceleration (void) const noexcept; - float GetMinSpeed (void) const noexcept; - float GetMaxSpeed (void) const noexcept; - float GetRotationSpeed (void) const noexcept; - float GetRotationDecay (void) const noexcept; - uint32_t GetTextureIndex (void) const noexcept; - float GetMinSize (void) const noexcept; - float GetMaxSize (void) const noexcept; - float GetSizeDecayMult (void) const noexcept; - Handle GetCustomUpdateShader (void) const noexcept; - SHVec4 const& GetColorTint (void) const noexcept; - SHVec3 GetColorTintRGB (void) const noexcept; - float GetColorTintAlpha (void) const noexcept; + void SetColorDecay (SHVec4 const& decay) noexcept; + void SetColorDecayRGB (SHVec3 const& decay) noexcept; + void SetColorDecayAlpha (float alpha) noexcept; + + uint32_t GetEmissionCount (void) const noexcept; + bool GetPassive (void) const noexcept; + float GetEmissionInterval (void) const noexcept; + float GetMinLife (void) const noexcept; + float GetMaxLife (void) const noexcept; + SHVec4 const& GetAngularRangesAndOffsets (void) const noexcept; + SHVec2 GetAngularRanges (void) const noexcept; + SHVec2 GetAngularOffsets (void) const noexcept; + SHVec3 GetAcceleration (void) const noexcept; + float GetMinSpeed (void) const noexcept; + float GetMaxSpeed (void) const noexcept; + float GetRotationSpeed (void) const noexcept; + float GetRotationDecay (void) const noexcept; + uint32_t GetTextureIndex (void) const noexcept; + float GetMinSize (void) const noexcept; + float GetMaxSize (void) const noexcept; + float GetSizeDecayMult (void) const noexcept; + Handle GetCustomUpdateShader (void) const noexcept; + Handle GetCustomVertexShader (void) const noexcept; + Handle GetCustomFragmentShader (void) const noexcept; + SHVec4 const& GetColorTint (void) const noexcept; + SHVec3 GetColorTintRGB (void) const noexcept; + float GetColorTintAlpha (void) const noexcept; + SHVec4 const& GetColorTintRange (void) const noexcept; + SHVec3 GetColorTintRangeRGB (void) const noexcept; + float GetColorTintRangeAlpha (void) const noexcept; + SHVec4 const& GetColorDecay (void) const noexcept; + SHVec3 GetColorDecayRGB (void) const noexcept; + float GetColorDecayAlpha (void) const noexcept; /*-----------------------------------------------------------------------*/ /* NON-INTERFACE FUNCTIONS */ /*-----------------------------------------------------------------------*/ void SetTextureAssetID(AssetID id) noexcept; void SetCustomUpdateShaderAssetID(AssetID id) noexcept; + void SetCustomVertexShaderAssetID(AssetID id) noexcept; + void SetCustomFragmentShaderAssetID (AssetID id) noexcept; AssetID GetTextureAssetID(void) const noexcept; AssetID GetCustomUpdateShaderAssetID(void) const noexcept; + AssetID GetCustomVertexShaderAssetID(void) const noexcept; + AssetID GetCustomFragmentShaderAssetID(void) const noexcept; + friend class SHParticleSubSystem; diff --git a/SHADE_Engine/src/Graphics/MiddleEnd/Particles/SHParticleSubSystem.cpp b/SHADE_Engine/src/Graphics/MiddleEnd/Particles/SHParticleSubSystem.cpp index d99832a5..92405264 100644 --- a/SHADE_Engine/src/Graphics/MiddleEnd/Particles/SHParticleSubSystem.cpp +++ b/SHADE_Engine/src/Graphics/MiddleEnd/Particles/SHParticleSubSystem.cpp @@ -268,10 +268,73 @@ namespace SHADE return customUpdatePipelineCache.at (customUpdateShader).customPipeline; } - void SHParticleSubSystem::Init(Handle device, Handle inDescPool, Handle compatibleRenderpass, Handle subpass, Handle VS, Handle FS, Handle emitCS, Handle defaultUpdateCS) noexcept + Handle SHParticleSubSystem::GetCustomGraphicsPipeline(Handle customVS, Handle customFS) noexcept + { + if (!customVS || !customFS) + return {}; + + if (!customGraphicsPipelineCache.contains(std::make_pair(customVS, customFS))) + { + SHPipelineLayoutParams plParams + { + .shaderModules = {customVS, customFS}, + .predefinedDescSetLayouts = SHGraphicsPredefinedData::GetSystemData(SHGraphicsPredefinedData::SystemType::PARTICLE_RENEDERING).descSetLayouts + }; + + auto pipelineLayout = logicalDevice->CreatePipelineLayout(plParams); + auto newPipeline = logicalDevice->CreateGraphicsPipeline(pipelineLayout, nullptr, renderpass, subpass); + + SHColorBlendState colorBlendState{}; + colorBlendState.logic_op_enable = VK_FALSE; + colorBlendState.logic_op = vk::LogicOp::eCopy; + + auto const& subpassColorReferences = subpass->GetColorAttachmentReferences(); + colorBlendState.attachments.reserve(subpassColorReferences.size()); + + + for (auto& att : subpassColorReferences) + { + colorBlendState.attachments.push_back(vk::PipelineColorBlendAttachmentState + { + .blendEnable = SHVkUtil::IsBlendCompatible(subpass->GetFormatFromAttachmentReference(att.attachment)), + .srcColorBlendFactor = vk::BlendFactor::eSrcAlpha, + .dstColorBlendFactor = vk::BlendFactor::eOneMinusSrcAlpha, + .colorBlendOp = vk::BlendOp::eAdd, + .srcAlphaBlendFactor = vk::BlendFactor::eSrcAlpha, + .dstAlphaBlendFactor = vk::BlendFactor::eOneMinusSrcAlpha, + .alphaBlendOp = vk::BlendOp::eAdd, + .colorWriteMask = vk::ColorComponentFlagBits::eR | vk::ColorComponentFlagBits::eG | vk::ColorComponentFlagBits::eB | vk::ColorComponentFlagBits::eA, + } + ); + } + + newPipeline->GetPipelineState().SetColorBlenState(colorBlendState); + + // Sets the input assembly state for rendering particles + SHInputAssemblyState inputAssemblyState{}; + inputAssemblyState.topology = vk::PrimitiveTopology::eTriangleFan; + newPipeline->GetPipelineState().SetInputAssemblyState(inputAssemblyState); + + newPipeline->ConstructPipeline(); + + if (!newPipeline) + return {}; + + auto customUpdateShaderData = CustomPipeline{ newPipeline, pipelineLayout }; + + customGraphicsPipelineCache.emplace(std::make_pair(customVS, customFS), customUpdateShaderData); + } + + return customGraphicsPipelineCache.at(std::make_pair(customVS, customFS)).customPipeline; + + } + + void SHParticleSubSystem::Init(Handle device, Handle inDescPool, Handle compatibleRenderpass, Handle compatibleSubpass, Handle VS, Handle FS, Handle emitCS, Handle defaultUpdateCS) noexcept { descPool = inDescPool; logicalDevice = device; + renderpass = compatibleRenderpass; + subpass = compatibleSubpass; /*-----------------------------------------------------------------------*/ /* INITIALIZE ALL PIPELINES */ @@ -499,12 +562,22 @@ namespace SHADE auto& emitters = SHComponentManager::GetDense(); auto const& mappings = SHGraphicsPredefinedData::GetMappings(SHGraphicsPredefinedData::SystemType::PARTICLE_RENEDERING); - // bind the pipeline for updating - cmdBuffer->BindPipeline(renderingPipelineData.pipeline); - // TODO: Issue barrier for output particle data. Semaphore should also be issued outside in SHGraphicsSystem for (auto& emitter : emitters) { + if (emitter.customVertexShader && emitter.customFragmentShader) + { + if (!emitter.customGraphicsPipeline) + emitter.customGraphicsPipeline = GetCustomGraphicsPipeline(emitter.customVertexShader, emitter.customFragmentShader); + + cmdBuffer->BindPipeline(emitter.customGraphicsPipeline); + } + else + { + // bind the pipeline for updating + cmdBuffer->BindPipeline(renderingPipelineData.pipeline); + } + if (emitter.isActive) { // bind the descriptor sets required for emitting particles diff --git a/SHADE_Engine/src/Graphics/MiddleEnd/Particles/SHParticleSubSystem.h b/SHADE_Engine/src/Graphics/MiddleEnd/Particles/SHParticleSubSystem.h index a0675da6..2288a5bb 100644 --- a/SHADE_Engine/src/Graphics/MiddleEnd/Particles/SHParticleSubSystem.h +++ b/SHADE_Engine/src/Graphics/MiddleEnd/Particles/SHParticleSubSystem.h @@ -82,7 +82,14 @@ namespace SHADE //! Desc pool for particle component desc set allocation Handle descPool; + //! Renderpass the system draws its particles in + Handle renderpass; + + //! Subpass the system draws its particles in + Handle subpass; + std::unordered_map, CustomPipeline> customUpdatePipelineCache; + std::unordered_map, Handle>, CustomPipeline> customGraphicsPipelineCache; void InitializeComponent (SHParticleEmitterComponent& comp) noexcept; @@ -92,10 +99,11 @@ namespace SHADE void PreparePrePostUpdateBarriers (std::vector& preUpdateBarriers, std::vector& postUpdateBarriers, SHParticleEmitterComponent const& emitter, uint32_t const EMITTER_INDEX, uint32_t const FRAME_INDEX) noexcept; - Handle GetCustomUpdatePipeline (Handle customUpdateShader) noexcept; + Handle GetCustomUpdatePipeline(Handle customUpdateShader) noexcept; + Handle GetCustomGraphicsPipeline(Handle customVS, Handle customFS) noexcept; public: - void Init(Handle device, Handle inDescPool, Handle compatibleRenderpass, Handle subpass, Handle VS, Handle FS, Handle emitCS, Handle defaultUpdateCS) noexcept; + void Init(Handle device, Handle inDescPool, Handle compatibleRenderpass, Handle compatibleSubpass, Handle VS, Handle FS, Handle emitCS, Handle defaultUpdateCS) noexcept; void Run(Handle cmdBuffer, uint32_t frameIndex, Handle waitFence = {}) noexcept; void ResetInstanceCounts (Handle cmdBuffer, uint32_t frameIndex) noexcept; diff --git a/SHADE_Engine/src/Serialization/SHYAMLConverters.h b/SHADE_Engine/src/Serialization/SHYAMLConverters.h index de57e45d..0df15b5b 100644 --- a/SHADE_Engine/src/Serialization/SHYAMLConverters.h +++ b/SHADE_Engine/src/Serialization/SHYAMLConverters.h @@ -518,8 +518,12 @@ namespace YAML static constexpr std::string_view ROTATION_SPEED_TAG = "Rotation Speed"; static constexpr std::string_view ROTATION_DECAY_TAG = "Rotation Decay"; static constexpr std::string_view TEXTURE_ASSET_ID_TAG = "Texture Asset ID"; + static constexpr std::string_view CUSTOM_VERTEX_SHADER_ASSET_ID_TAG = "Custom Vertex Shader Asset ID"; + static constexpr std::string_view CUSTOM_FRAGMENT_SHADER_ASSET_ID_TAG = "Custom Fragment Shader Asset ID"; static constexpr std::string_view CUSTOM_UPDATE_SHADER_ASSET_ID_TAG = "Custom Update Shader Asset ID"; static constexpr std::string_view COLOR_TINT_TAG = "Color Tint"; + static constexpr std::string_view COLOR_TINT_RANGE_TAG = "Color Tint Range"; + static constexpr std::string_view COLOR_DECAY_TAG = "Color Decay"; static constexpr std::string_view ACCELERATION_TAG = "Acceleration"; static YAML::Node encode(SHParticleEmitterComponent const& rhs) @@ -539,8 +543,12 @@ namespace YAML node[ROTATION_SPEED_TAG.data()] = rhs.GetRotationSpeed(); node[ROTATION_DECAY_TAG.data()] = rhs.GetRotationDecay(); node[TEXTURE_ASSET_ID_TAG.data()] = rhs.GetTextureAssetID(); + node[CUSTOM_VERTEX_SHADER_ASSET_ID_TAG.data()] = rhs.GetCustomVertexShaderAssetID(); + node[CUSTOM_FRAGMENT_SHADER_ASSET_ID_TAG.data()] = rhs.GetCustomFragmentShaderAssetID(); node[CUSTOM_UPDATE_SHADER_ASSET_ID_TAG.data()] = rhs.GetCustomUpdateShaderAssetID(); node[COLOR_TINT_TAG.data()] = rhs.GetColorTint(); + node[COLOR_TINT_RANGE_TAG.data()] = rhs.GetColorTintRange(); + node[COLOR_DECAY_TAG.data()] = rhs.GetColorDecay(); node[ACCELERATION_TAG.data()] = rhs.GetAcceleration(); return node; @@ -591,6 +599,12 @@ namespace YAML if (node[COLOR_TINT_TAG.data()].IsDefined()) rhs.SetColorTint(node[COLOR_TINT_TAG.data()].as()); + if (node[COLOR_TINT_RANGE_TAG.data()].IsDefined()) + rhs.SetColorTintRange(node[COLOR_TINT_RANGE_TAG.data()].as()); + + if (node[COLOR_DECAY_TAG.data()].IsDefined()) + rhs.SetColorDecay(node[COLOR_DECAY_TAG.data()].as()); + if (node[ACCELERATION_TAG.data()].IsDefined()) rhs.SetAcceleration(node[ACCELERATION_TAG.data()].as()); @@ -624,6 +638,31 @@ namespace YAML rhs.SetCustomUpdateShader(shaderModule); rhs.SetCustomUpdateShaderAssetID(id); } + + if (node[CUSTOM_VERTEX_SHADER_ASSET_ID_TAG.data()].IsDefined()) + { + AssetID id = node[CUSTOM_VERTEX_SHADER_ASSET_ID_TAG.data()].as(); + + Handle shaderModule = SHResourceManager::LoadOrGet(id); + SHResourceManager::FinaliseChanges(); + //gfxSystem->BuildTextures(); + + rhs.SetCustomVertexShader(shaderModule); + rhs.SetCustomVertexShaderAssetID(id); + } + + if (node[CUSTOM_FRAGMENT_SHADER_ASSET_ID_TAG.data()].IsDefined()) + { + AssetID id = node[CUSTOM_FRAGMENT_SHADER_ASSET_ID_TAG.data()].as(); + + Handle shaderModule = SHResourceManager::LoadOrGet(id); + SHResourceManager::FinaliseChanges(); + //gfxSystem->BuildTextures(); + + rhs.SetCustomFragmentShader(shaderModule); + rhs.SetCustomFragmentShaderAssetID(id); + } + return true; }