From 8c74ec85d3955d16756c949ff5d391eff1c8c281 Mon Sep 17 00:00:00 2001 From: Glence Date: Thu, 2 Mar 2023 17:33:02 +0800 Subject: [PATCH] Done with level preview --- Assets/Scenes/Level1.shade | 184 +++++++------ Assets/Scenes/Level2.shade | 245 ++++++++++++------ .../Gameplay/Player/SC_PickAndThrow.cs | 4 +- .../Gameplay/Player/SC_PlayerController.cs | 4 +- .../Gameplay/Player/SC_ThirdPersonCamera.cs | 2 +- Assets/Scripts/Gameplay/SC_GameManager.cs | 8 +- Assets/Scripts/Gameplay/SC_PreviewLevel.cs | 177 ++++++++++--- Assets/Scripts/UI/EasingHelper.cs | 4 +- Assets/Scripts/UI/SC_PauseMenu.cs | 2 +- Assets/Scripts/UI/SC_SceneFadeInOut.cs | 1 - Assets/Scripts/UI/SC_StealFoodPopUp.cs | 4 +- .../Serialization/SHSerializationHelper.hpp | 6 +- 12 files changed, 431 insertions(+), 210 deletions(-) diff --git a/Assets/Scenes/Level1.shade b/Assets/Scenes/Level1.shade index 1dd30cd9..cd5ba82e 100644 --- a/Assets/Scenes/Level1.shade +++ b/Assets/Scenes/Level1.shade @@ -4118,8 +4118,9 @@ Scale: {x: 60, y: 60, z: 60} IsActive: true Text Renderer Component: - Text: My name is Brandon. + Text: "Score: 0" Font: 176667660 + Color: {x: 1, y: 1, z: 1, w: 1} IsActive: true Scripts: ~ - EID: 206 @@ -4133,8 +4134,9 @@ Scale: {x: 60, y: 60, z: 60} IsActive: true Text Renderer Component: - Text: My name is Brandon. + Text: "Time Left: 200" Font: 176667660 + Color: {x: 1, y: 1, z: 1, w: 1} IsActive: true Scripts: ~ - EID: 238 @@ -4150,6 +4152,7 @@ Text Renderer Component: Text: "" Font: 176667660 + Color: {x: 1, y: 1, z: 1, w: 1} IsActive: true Scripts: ~ - EID: 236 @@ -4163,7 +4166,7 @@ winScene: 86098106 loseScene: 91685359 currGameState: 0 - totalItemCount: 0 + totalItemCount: 4 Score: 0 timer: 200 scoreText: 237 @@ -4184,8 +4187,8 @@ NumberOfChildren: 0 Components: Transform Component: - Translate: {x: 0.406909943, y: 0.100000001, z: -2} - Rotate: {x: -0, y: 0, z: -0} + Translate: {x: 2.13981342, y: 0.0490087792, z: -1.96055627} + Rotate: {x: 0, y: -1.53675354, z: 0} Scale: {x: 1, y: 1, z: 1} IsActive: true Renderable Component: @@ -4292,8 +4295,8 @@ NumberOfChildren: 0 Components: Transform Component: - Translate: {x: 3.71994686, y: 1.14058578, z: -9.35119247} - Rotate: {x: -0, y: 0, z: -0} + Translate: {x: 3.71994758, y: 1.0997268, z: -9.35119152} + Rotate: {x: 4.18975469e-06, y: -1.08915871e-11, z: -5.03928231e-06} Scale: {x: 1, y: 1, z: 1} IsActive: true Renderable Component: @@ -4335,7 +4338,7 @@ dontReturn: false soundDistance: 10 highlightSpeed: 200 - highlightThickness: 600 + highlightThickness: 120 highlightLowerClamp: 0.25 - EID: 227 Name: Mesh_Cheese @@ -4343,8 +4346,8 @@ NumberOfChildren: 0 Components: Transform Component: - Translate: {x: 3.22328258, y: 1.08429813, z: -0.57395637} - Rotate: {x: -0, y: 0, z: -0} + Translate: {x: 3.22328258, y: 1.02709854, z: -0.57395637} + Rotate: {x: 5.62993963e-09, y: -7.03049191e-17, z: -1.92319405e-08} Scale: {x: 1, y: 1, z: 1} IsActive: true Renderable Component: @@ -4386,7 +4389,7 @@ dontReturn: false soundDistance: 10 highlightSpeed: 200 - highlightThickness: 600 + highlightThickness: 50 highlightLowerClamp: 0.25 - EID: 65778 Name: Mesh_Apple @@ -4394,8 +4397,8 @@ NumberOfChildren: 0 Components: Transform Component: - Translate: {x: -2.5, y: 0.778462529, z: -5} - Rotate: {x: -0, y: 0, z: -0} + Translate: {x: -2.50000072, y: 0.799999774, z: -5.00000095} + Rotate: {x: -4.09249949e-08, y: 1.40052995e-13, z: 2.95086267e-08} Scale: {x: 1, y: 1, z: 1} IsActive: true Renderable Component: @@ -4437,7 +4440,7 @@ dontReturn: false soundDistance: 10 highlightSpeed: 200 - highlightThickness: 600 + highlightThickness: 60 highlightLowerClamp: 0.25 - EID: 216 Name: Mesh_Apple @@ -4445,8 +4448,8 @@ NumberOfChildren: 0 Components: Transform Component: - Translate: {x: -2.5, y: 0.778462529, z: -4.28408813} - Rotate: {x: -0, y: 0, z: -0} + Translate: {x: -2.50000072, y: 0.799999893, z: -4.28408909} + Rotate: {x: -5.83341553e-08, y: 7.48974247e-14, z: 1.10461471e-08} Scale: {x: 1, y: 1, z: 1} IsActive: true Renderable Component: @@ -4488,7 +4491,7 @@ dontReturn: false soundDistance: 10 highlightSpeed: 200 - highlightThickness: 600 + highlightThickness: 60 highlightLowerClamp: 0.25 - EID: 229 Name: ====ScoreZonePool==== @@ -4503,7 +4506,7 @@ Components: Transform Component: Translate: {x: -7.47360849, y: 1.4327563, z: -2.44241929} - Rotate: {x: -0, y: 0, z: -0} + Rotate: {x: -0, y: 0, z: 0} Scale: {x: 1, y: 1, z: 1} IsActive: true RigidBody Component: @@ -4565,7 +4568,7 @@ Components: Transform Component: Translate: {x: 1.97487497, y: 1.3500793, z: -10.195508} - Rotate: {x: -0, y: 0, z: -0} + Rotate: {x: -0, y: 0, z: 0} Scale: {x: 1, y: 1, z: 1} IsActive: true RigidBody Component: @@ -4626,8 +4629,8 @@ NumberOfChildren: 1 Components: Transform Component: - Translate: {x: -5.47656059, y: 1.4327563, z: -2.44241929} - Rotate: {x: -0, y: 0, z: -0} + Translate: {x: -5.47656107, y: 1.4327563, z: -2.44241929} + Rotate: {x: -0, y: 0, z: 0} Scale: {x: 1, y: 1, z: 1} IsActive: true RigidBody Component: @@ -4689,7 +4692,7 @@ Components: Transform Component: Translate: {x: 6.09239721, y: 1.4327563, z: -6.03106117} - Rotate: {x: -0, y: 0, z: -0} + Rotate: {x: -0, y: 0, z: 0} Scale: {x: 1, y: 1, z: 1} IsActive: true RigidBody Component: @@ -4751,7 +4754,7 @@ Components: Transform Component: Translate: {x: 6.09239721, y: 1.4327563, z: -3.94262314} - Rotate: {x: -0, y: 0, z: -0} + Rotate: {x: -0, y: 0, z: 0} Scale: {x: 1, y: 1, z: 1} IsActive: true RigidBody Component: @@ -4901,7 +4904,7 @@ Components: Transform Component: Translate: {x: -8, y: 1.142977, z: -4} - Rotate: {x: -0, y: 1.57079637, z: -0} + Rotate: {x: -0, y: 1.57079649, z: 0} Scale: {x: 0.999999881, y: 1, z: 0.999999881} IsActive: true Renderable Component: @@ -4963,6 +4966,10 @@ rayHeight: 0.100000001 aimingFOV: 50 defaultFOV: 45 + - Type: StateMachine + Enabled: true + currentStateName: Idle State + currentAnimName: "" - EID: 65733 Name: HoldingPoint IsActive: true @@ -4981,13 +4988,13 @@ Components: Transform Component: Translate: {x: 0, y: -2.98023224e-08, z: 4.76837158e-07} - Rotate: {x: 0, y: 4.71238899, z: 2.23517329e-08} + Rotate: {x: -0.173316926, y: 3.1415925, z: 2.23517329e-08} Scale: {x: 1, y: 1, z: 1} IsActive: true Camera Component: - Position: {x: 2.12735963, y: 0.362327784, z: 7.98933029} - Pitch: 0 - Yaw: 360 + Position: {x: -8.9091711, y: 2.05214882, z: -4} + Pitch: -9.93032837 + Yaw: 270 Roll: 1.28065994e-06 Width: 1920 Near: 0.00999999978 @@ -4998,7 +5005,7 @@ Camera Arm Component: Arm Pitch: 45 Arm Yaw: -90 - Arm Length: 1 + Arm Length: 3 Look At Camera Origin: true Target Offset: {x: 0, y: 0.75, z: 0} Camera Collision: true @@ -5121,52 +5128,26 @@ IsActive: true NumberOfChildren: 3 Components: ~ - Scripts: ~ + Scripts: + - Type: SHADE_Scripting.UI.PreviewLevel + Enabled: true + endPoint1: [-5.5, 1.5, -2] + endPoint2: [1, 1.5, -7.5] + endPoint3: [2.5, 1.5, -3] + playerCamera: 65730 + duration: 3 - EID: 453 Name: PreviewLevel1 IsActive: true NumberOfChildren: 0 Components: Transform Component: - Translate: {x: -7.59216642, y: 1.49918437, z: -1.37255788} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 1, y: 1, z: 1} - IsActive: true - Scripts: ~ -- EID: 452 - Name: PreviewLevel2 - IsActive: true - NumberOfChildren: 0 - Components: - Transform Component: - Translate: {x: -3.13806891, y: 1.33345056, z: -7.42731333} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 1, y: 1, z: 1} - IsActive: true - Scripts: ~ -- EID: 451 - Name: PreviewLevel3 - IsActive: true - NumberOfChildren: 0 - Components: - Transform Component: - Translate: {x: 4.74025965, y: 1.62911224, z: -7.82088184} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 1, y: 1, z: 1} - IsActive: true - Scripts: ~ -- EID: 459 - Name: PreviewLevelCamera - IsActive: true - NumberOfChildren: 0 - Components: - Transform Component: - Translate: {x: 0, y: 0, z: 0} + Translate: {x: -7.5, y: 1.5, z: -2} Rotate: {x: 0, y: 0, z: 0} Scale: {x: 1, y: 1, z: 1} IsActive: true Camera Component: - Position: {x: 0, y: 0, z: 0} + Position: {x: -5.5, y: 1.5, z: -2} Pitch: 0 Yaw: 0 Roll: 0 @@ -5177,16 +5158,60 @@ FOV: 90 IsActive: true Scripts: ~ +- EID: 452 + Name: PreviewLevel2 + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: -1.5, y: 1.5, z: -7.5} + Rotate: {x: 0, y: -3.14159274, z: 0} + Scale: {x: 1, y: 1, z: 1} + IsActive: true + Camera Component: + Position: {x: -0.24528563, y: 1.5, z: -7.5} + Pitch: 0 + Yaw: -180 + Roll: 0 + Width: 1920 + Near: 0.00999999978 + Far: 10000 + Perspective: true + FOV: 90 + IsActive: true + Scripts: ~ +- EID: 451 + Name: PreviewLevel3 + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: 2.5, y: 1.5, z: -7.5} + Rotate: {x: 0, y: 4.71238899, z: 0} + Scale: {x: 1, y: 1, z: 1} + IsActive: true + Camera Component: + Position: {x: 2.5, y: 1.5, z: -7.5} + Pitch: 0 + Yaw: 270 + Roll: 0 + Width: 1920 + Near: 0.00999999978 + Far: 10000 + Perspective: true + FOV: 90 + IsActive: true + Scripts: ~ - EID: 458 Name: PauseCanvas - IsActive: true + IsActive: false NumberOfChildren: 4 Components: Canvas Component: Canvas Width: 1920 Canvas Height: 1080 Scale by canvas width: false - IsActive: true + IsActive: false Scripts: ~ - EID: 457 Name: ResumeButton @@ -5203,9 +5228,9 @@ Material: 129340704 IsActive: true Button Component: - Default Texture: 52901020 - Hovered Texture: 62235279 - Clicked Texture: 64722619 + Default Texture: 63979907 + Hovered Texture: 51379325 + Clicked Texture: 66788278 IsActive: true UI Component: Canvas ID: 458 @@ -5228,9 +5253,9 @@ Material: 129340704 IsActive: true Button Component: - Default Texture: 66477839 - Hovered Texture: 65045286 - Clicked Texture: 58607560 + Default Texture: 61602036 + Hovered Texture: 58910810 + Clicked Texture: 57786063 IsActive: true UI Component: Canvas ID: 458 @@ -5253,9 +5278,9 @@ Material: 129340704 IsActive: true Button Component: - Default Texture: 55782622 - Hovered Texture: 58972174 - Clicked Texture: 55224464 + Default Texture: 64806384 + Hovered Texture: 58347825 + Clicked Texture: 63234380 IsActive: true UI Component: Canvas ID: 458 @@ -5276,6 +5301,7 @@ Text Renderer Component: Text: Game Pause Font: 176667660 + Color: {x: 1, y: 1, z: 1, w: 1} IsActive: false UI Component: Canvas ID: 458 @@ -5302,7 +5328,7 @@ Transform Component: Translate: {x: 0, y: 0, z: 0.100000001} Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 1920, y: 1080, z: 1} + Scale: {x: 2500, y: 1080, z: 1} IsActive: true Renderable Component: Mesh: 141771688 @@ -5317,5 +5343,5 @@ - Type: SHADE_Scripting.UI.SceneFadeInOut Enabled: true alphaValue: 1 - fadeInTime: 0.300000012 - fadeOutTime: 0.300000012 \ No newline at end of file + fadeInTime: 0.5 + fadeOutTime: 0.5 \ No newline at end of file diff --git a/Assets/Scenes/Level2.shade b/Assets/Scenes/Level2.shade index 2ecbec7d..3989fa4a 100644 --- a/Assets/Scenes/Level2.shade +++ b/Assets/Scenes/Level2.shade @@ -2025,9 +2025,9 @@ NumberOfChildren: 5 Components: Transform Component: - Translate: {x: 1.65356398, y: 0.333341181, z: 5.9183445} - Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 0.999979734, y: 1, z: 0.999979734} + Translate: {x: 1.62003577, y: 0.241820931, z: 5.90758133} + Rotate: {x: -0, y: 0, z: -0} + Scale: {x: 1, y: 1, z: 1} IsActive: true Renderable Component: Mesh: 134305891 @@ -2039,7 +2039,7 @@ Angular Drag: 0.100000001 Use Gravity: true Interpolate: false - Sleeping Enabled: true + Sleeping Enabled: false Freeze Position X: false Freeze Position Y: false Freeze Position Z: false @@ -2080,21 +2080,21 @@ NumberOfChildren: 0 Components: Transform Component: - Translate: {x: 0.0218036175, y: 5.38527966e-05, z: 0.202852726} - Rotate: {x: 0, y: 3.6088712e-09, z: 1.97286229e-16} + Translate: {x: 0, y: 0, z: 0} + Rotate: {x: 0, y: 0, z: 0} Scale: {x: 1, y: 1, z: 1} IsActive: false Renderable Component: - Mesh: 144023586 - Material: 122370915 + Mesh: 0 + Material: 0 IsActive: false RigidBody Component: Type: Dynamic Drag: 0.00999999978 Angular Drag: 0.100000001 Use Gravity: true - Interpolate: false - Sleeping Enabled: true + Interpolate: true + Sleeping Enabled: false Freeze Position X: false Freeze Position Y: false Freeze Position Z: false @@ -2125,57 +2125,6 @@ highlightSpeed: 300 highlightThickness: 250 highlightLowerClamp: 0.25 -- EID: 524 - Name: Piece2 - IsActive: false - NumberOfChildren: 0 - Components: - Transform Component: - Translate: {x: 0.0812162161, y: 0.0825212598, z: -0.0991339684} - Rotate: {x: 0, y: 3.6088712e-09, z: 1.97286229e-16} - Scale: {x: 1, y: 1, z: 1} - IsActive: false - Renderable Component: - Mesh: 142132679 - Material: 122370915 - IsActive: false - RigidBody Component: - Type: Dynamic - Drag: 0.00999999978 - Angular Drag: 0.100000001 - Use Gravity: true - Interpolate: false - Sleeping Enabled: true - Freeze Position X: false - Freeze Position Y: false - Freeze Position Z: false - Freeze Rotation X: false - Freeze Rotation Y: false - Freeze Rotation Z: false - IsActive: false - Collider Component: - Colliders: - - Is Trigger: false - Collision Tag: 2 - Type: Box - Half Extents: {x: 0.300000012, y: 0.200000003, z: 0.200000003} - Friction: 0.400000006 - Bounciness: 0 - Density: 1 - Position Offset: {x: 0, y: 0, z: 0} - Rotation Offset: {x: 0, y: 0, z: -0.34906584} - IsActive: false - Scripts: - - Type: Item - Enabled: true - Score: 50 - currCategory: 1 - density: 3 - dontReturn: false - soundDistance: 10 - highlightSpeed: 300 - highlightThickness: 250 - highlightLowerClamp: 0.25 - EID: 525 Name: Piece3 IsActive: false @@ -2329,6 +2278,57 @@ highlightSpeed: 300 highlightThickness: 250 highlightLowerClamp: 0.25 +- EID: 524 + Name: Piece2 + IsActive: false + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: -1.62003577, y: -0.241820931, z: -5.90758133} + Rotate: {x: 0, y: 0, z: 0} + Scale: {x: 1, y: 1, z: 1} + IsActive: false + Renderable Component: + Mesh: 142132679 + Material: 122370915 + IsActive: false + RigidBody Component: + Type: Dynamic + Drag: 0.00999999978 + Angular Drag: 0.100000001 + Use Gravity: true + Interpolate: false + Sleeping Enabled: true + Freeze Position X: false + Freeze Position Y: false + Freeze Position Z: false + Freeze Rotation X: false + Freeze Rotation Y: false + Freeze Rotation Z: false + IsActive: false + Collider Component: + Colliders: + - Is Trigger: false + Collision Tag: 2 + Type: Box + Half Extents: {x: 0.300000012, y: 0.200000003, z: 0.200000003} + Friction: 0.400000006 + Bounciness: 0 + Density: 1 + Position Offset: {x: 0, y: 0, z: 0} + Rotation Offset: {x: 0, y: 0, z: -0.34906584} + IsActive: false + Scripts: + - Type: Item + Enabled: true + Score: 50 + currCategory: 1 + density: 3 + dontReturn: false + soundDistance: 10 + highlightSpeed: 300 + highlightThickness: 250 + highlightLowerClamp: 0.25 - EID: 131228 Name: Watermelon IsActive: true @@ -3449,7 +3449,7 @@ - Type: PauseMenu Enabled: true resumeBtn: 8 - retryBtn: 461 + retryBtn: 459 quitBtn: 0 canvas: 10 - EID: 199 @@ -3476,6 +3476,7 @@ Text Renderer Component: Text: My name is Brandon. Font: 174412429 + Color: {x: 1, y: 1, z: 1, w: 1} IsActive: true UI Component: Canvas ID: 199 @@ -3483,7 +3484,7 @@ Clicked: false IsActive: true Scripts: ~ -- EID: 522 +- EID: 521 Name: Score BG IsActive: true NumberOfChildren: 0 @@ -3516,6 +3517,7 @@ Text Renderer Component: Text: My name is Brandon. Font: 176667660 + Color: {x: 1, y: 1, z: 1, w: 1} IsActive: true UI Component: Canvas ID: 199 @@ -3536,6 +3538,7 @@ Text Renderer Component: Text: X2 Font: 174412429 + Color: {x: 1, y: 1, z: 1, w: 1} IsActive: true UI Component: Canvas ID: 199 @@ -3548,7 +3551,7 @@ maxSize: 1 minSize: 0.300000012 minAlpha: 0.300000012 -- EID: 523 +- EID: 520 Name: Multiplier BG IsActive: true NumberOfChildren: 0 @@ -5763,7 +5766,7 @@ Rotation Offset: {x: 0, y: 0, z: 0} IsActive: false Scripts: ~ -- EID: 520 +- EID: 461 Name: Piece3 IsActive: false NumberOfChildren: 0 @@ -5804,7 +5807,7 @@ Rotation Offset: {x: 0, y: 0, z: 0} IsActive: false Scripts: ~ -- EID: 521 +- EID: 460 Name: Piece4 IsActive: false NumberOfChildren: 0 @@ -6107,7 +6110,7 @@ Components: Transform Component: Translate: {x: 0, y: -300, z: 0} - Rotate: {x: 0, y: 0, z: 0} + Rotate: {x: -4.5, y: 2, z: -2.5} Scale: {x: 400, y: 100, z: 500} IsActive: true Renderable Component: @@ -6133,7 +6136,7 @@ onReleaseSound: event:/Music/player_undetected hoverScale: 1.10000002 clickScale: 0.899999976 -- EID: 461 +- EID: 459 Name: RetryButton IsActive: true NumberOfChildren: 0 @@ -6179,6 +6182,7 @@ Text Renderer Component: Text: Game Pause Font: 176667660 + Color: {x: 1, y: 1, z: 1, w: 1} IsActive: false UI Component: Canvas ID: 10 @@ -11908,7 +11912,7 @@ Rotation Offset: {x: 0, y: 0, z: 0} IsActive: true Scripts: ~ -- EID: 460 +- EID: 458 Name: Exterior IsActive: true NumberOfChildren: 5 @@ -14587,7 +14591,7 @@ Material: 131956078 IsActive: true Scripts: ~ -- EID: 458 +- EID: 174 Name: Exterior_Bush01 IsActive: true NumberOfChildren: 0 @@ -14602,7 +14606,7 @@ Material: 131956078 IsActive: true Scripts: ~ -- EID: 459 +- EID: 173 Name: Exterior_Bush02 IsActive: true NumberOfChildren: 0 @@ -14617,7 +14621,7 @@ Material: 131956078 IsActive: true Scripts: ~ -- EID: 174 +- EID: 172 Name: TweenManager IsActive: true NumberOfChildren: 0 @@ -14625,7 +14629,7 @@ Scripts: - Type: SHADE_Scripting.UI.TweenManager Enabled: true -- EID: 172 +- EID: 548 Name: StealFoodCanvas IsActive: true NumberOfChildren: 1 @@ -14636,7 +14640,7 @@ Scale by canvas width: false IsActive: true Scripts: ~ -- EID: 173 +- EID: 549 Name: StealFoodLogo IsActive: true NumberOfChildren: 0 @@ -14651,7 +14655,7 @@ Material: 127459277 IsActive: true UI Component: - Canvas ID: 172 + Canvas ID: 548 Hovered: false Clicked: false IsActive: true @@ -14664,7 +14668,7 @@ rotationAmt: 1800 scaleAmtX: 538 scaleAmtY: 377 -- EID: 548 +- EID: 550 Name: TransitionCanvas IsActive: true NumberOfChildren: 1 @@ -14675,7 +14679,7 @@ Scale by canvas width: false IsActive: true Scripts: ~ -- EID: 549 +- EID: 551 Name: Transition IsActive: true NumberOfChildren: 0 @@ -14683,14 +14687,14 @@ Transform Component: Translate: {x: 0, y: 0, z: 0.100000001} Rotate: {x: 0, y: 0, z: 0} - Scale: {x: 1920, y: 1080, z: 1} + Scale: {x: 2500, y: 1080, z: 1} IsActive: true Renderable Component: Mesh: 141771688 Material: 120016136 IsActive: true UI Component: - Canvas ID: 548 + Canvas ID: 550 Hovered: false Clicked: false IsActive: true @@ -14700,11 +14704,90 @@ alphaValue: 1 fadeInTime: 0.5 fadeOutTime: 0.5 -- EID: 172 +- EID: 552 Name: TweenManager IsActive: true NumberOfChildren: 0 Components: ~ Scripts: - Type: SHADE_Scripting.UI.TweenManager - Enabled: true \ No newline at end of file + Enabled: true +- EID: 553 + Name: CameraPoints + IsActive: true + NumberOfChildren: 3 + Components: ~ + Scripts: + - Type: SHADE_Scripting.UI.PreviewLevel + Enabled: true + endPoint1: [-3.5, 1.5, -4.5] + endPoint2: [0, 2, 4.5] + endPoint3: [1.14999998, 2.20000005, 2] + playerCamera: 4 + duration: 3 +- EID: 554 + Name: PreviewLevel1 + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: -5, y: 1.5, z: -3} + Rotate: {x: 0, y: -2.3561945, z: 0} + Scale: {x: 1, y: 1, z: 1} + IsActive: true + Camera Component: + Position: {x: -5.5, y: 1.5, z: -2} + Pitch: 0 + Yaw: -135 + Roll: 0 + Width: 1920 + Near: 0.00999999978 + Far: 10000 + Perspective: true + FOV: 90 + IsActive: true + Scripts: ~ +- EID: 555 + Name: PreviewLevel2 + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: 3, y: 2, z: 4.5} + Rotate: {x: -0.5497787, y: 0, z: 0} + Scale: {x: 1, y: 1, z: 1} + IsActive: true + Camera Component: + Position: {x: -0.24528563, y: 1.5, z: -7.5} + Pitch: -31.5 + Yaw: 0 + Roll: 0 + Width: 1920 + Near: 0.00999999978 + Far: 10000 + Perspective: true + FOV: 90 + IsActive: true + Scripts: ~ +- EID: 556 + Name: PreviewLevel3 + IsActive: true + NumberOfChildren: 0 + Components: + Transform Component: + Translate: {x: 1.29999995, y: 2.20000005, z: -4} + Rotate: {x: -0.34906584, y: -1.57079637, z: 0} + Scale: {x: 1, y: 1, z: 1} + IsActive: true + Camera Component: + Position: {x: 2.5, y: 1.5, z: -7.5} + Pitch: -20 + Yaw: -90 + Roll: 0 + Width: 1920 + Near: 0.00999999978 + Far: 10000 + Perspective: true + FOV: 90 + IsActive: true + Scripts: ~ \ No newline at end of file diff --git a/Assets/Scripts/Gameplay/Player/SC_PickAndThrow.cs b/Assets/Scripts/Gameplay/Player/SC_PickAndThrow.cs index 1dcc0394..e23e9ff1 100644 --- a/Assets/Scripts/Gameplay/Player/SC_PickAndThrow.cs +++ b/Assets/Scripts/Gameplay/Player/SC_PickAndThrow.cs @@ -59,7 +59,7 @@ public class PickAndThrow : Script } protected override void update() { - if (GameManager.Instance.GamePause || GameManager.Instance.stealFoodPopUp) + if (GameManager.Instance.GamePause || !GameManager.Instance.stealFoodPopUpDone) { return; } @@ -142,7 +142,7 @@ public class PickAndThrow : Script protected override void fixedUpdate() { - if (GameManager.Instance.GamePause || GameManager.Instance.stealFoodPopUp) + if (GameManager.Instance.GamePause || !GameManager.Instance.stealFoodPopUpDone) { return; } diff --git a/Assets/Scripts/Gameplay/Player/SC_PlayerController.cs b/Assets/Scripts/Gameplay/Player/SC_PlayerController.cs index 9781f466..d3cc3f66 100644 --- a/Assets/Scripts/Gameplay/Player/SC_PlayerController.cs +++ b/Assets/Scripts/Gameplay/Player/SC_PlayerController.cs @@ -139,7 +139,7 @@ public class PlayerController : Script protected override void update() { - if (GameManager.Instance.GamePause || GameManager.Instance.stealFoodPopUp) + if (GameManager.Instance.GamePause || !GameManager.Instance.stealFoodPopUpDone) { return; } @@ -189,7 +189,7 @@ public class PlayerController : Script protected override void fixedUpdate() { - if (GameManager.Instance.GamePause || GameManager.Instance.stealFoodPopUp) + if (GameManager.Instance.GamePause || !GameManager.Instance.stealFoodPopUpDone) { return; } diff --git a/Assets/Scripts/Gameplay/Player/SC_ThirdPersonCamera.cs b/Assets/Scripts/Gameplay/Player/SC_ThirdPersonCamera.cs index d135b32f..71cb31a4 100644 --- a/Assets/Scripts/Gameplay/Player/SC_ThirdPersonCamera.cs +++ b/Assets/Scripts/Gameplay/Player/SC_ThirdPersonCamera.cs @@ -41,7 +41,7 @@ namespace SHADE_Scripting protected override void update() { - if (GameManager.Instance.GamePause || GameManager.Instance.stealFoodPopUp) + if (GameManager.Instance.GamePause || !GameManager.Instance.stealFoodPopUpDone) { return; } diff --git a/Assets/Scripts/Gameplay/SC_GameManager.cs b/Assets/Scripts/Gameplay/SC_GameManager.cs index a5906fea..f9f453f4 100644 --- a/Assets/Scripts/Gameplay/SC_GameManager.cs +++ b/Assets/Scripts/Gameplay/SC_GameManager.cs @@ -41,7 +41,8 @@ public class GameManager : Script public static GameManager Instance { get; private set; } public bool GamePause { get; set; } - public bool stealFoodPopUp { get; set; } + public bool stealFoodPopUpDone { get; set; } + public bool PreviewLevelDone { get; set; } public bool itemShatter { get; set; } @@ -65,7 +66,8 @@ public class GameManager : Script fontScalar = new Vector3(multiplierFont / maxMultiplierDuration, multiplierFont / maxMultiplierDuration , multiplierFont / maxMultiplierDuration); itemShatter = false; GamePause = false; - stealFoodPopUp = true; + stealFoodPopUpDone = false; + PreviewLevelDone = false; AudioHandler.audioClipHandlers["BGMWin"] = Audio.CreateAudioClip("event:/Music/stingers/game_win"); AudioHandler.audioClipHandlers["BGMLose"] = Audio.CreateAudioClip("event:/Music/stingers/game_lose"); @@ -98,7 +100,7 @@ public class GameManager : Script protected override void update() { - if (GamePause || stealFoodPopUp) + if (GamePause || !stealFoodPopUpDone) { return; } diff --git a/Assets/Scripts/Gameplay/SC_PreviewLevel.cs b/Assets/Scripts/Gameplay/SC_PreviewLevel.cs index c2e690a1..7efee8c9 100644 --- a/Assets/Scripts/Gameplay/SC_PreviewLevel.cs +++ b/Assets/Scripts/Gameplay/SC_PreviewLevel.cs @@ -3,45 +3,156 @@ using System; using System.Collections.Generic; using System.Linq; -public class PreviewLevel : Script + +namespace SHADE_Scripting.UI { - public GameObject previewLevelPoints; - private List listOfpreviewLevelPoints; - - private Transform tran; - - public Vector3 endPoint1; - public Vector3 endPoint2; - public Vector3 endPoint3; - public float duration = 3.0f; - - private bool point1Done; - private bool point2Done; - private bool point3Done; - - protected override void awake() + public class PreviewLevel : Script { - //GetComponent().SetMainCamera(); + private List listOfCamera; - if (previewLevelPoints) - listOfpreviewLevelPoints = previewLevelPoints.GetComponentsInChildren().ToList(); - else - Debug.LogError("MISSING PREVIEW POINTS"); + public Vector3 endPoint1; + public Vector3 endPoint2; + public Vector3 endPoint3; - if(listOfpreviewLevelPoints.Count == 0) - Debug.LogError("EMPTY PREVIEW POINTS"); + public GameObject playerCamera; + public float duration = 3.0f; - tran = GetComponent(); - if (!tran) - Debug.LogError("MISSING PREVIEW TRANSFORM"); - else - tran.LocalPosition = listOfpreviewLevelPoints[0].LocalPosition; + private bool point1Done = false; + private bool point2Done = false; + private bool point3Done = false; + + private bool reset2 = true; + private bool reset3 = true; + + private bool skip = false; + [NonSerialized] + private TweenThreadVec3 moveToEndPoint1; + [NonSerialized] + private TweenThreadVec3 moveToEndPoint2; + [NonSerialized] + private TweenThreadVec3 moveToEndPoint3; + + protected override void awake() + { + listOfCamera = GameObject.GetComponentsInChildren().ToList(); + + if (listOfCamera.Count == 0) + Debug.LogError("EMPTY PREVIEW POINTS"); + + listOfCamera[0].SetMainCamera(); + + moveToEndPoint1 = TweenManager.CreateTweenThreadVec3(duration, listOfCamera[0].GetComponent().LocalPosition, endPoint1, EASING_METHOD.EASE_IN_SINE); + moveToEndPoint2 = TweenManager.CreateTweenThreadVec3(duration, listOfCamera[1].GetComponent().LocalPosition, endPoint2, EASING_METHOD.EASE_IN_SINE); + moveToEndPoint3 = TweenManager.CreateTweenThreadVec3(duration, listOfCamera[2].GetComponent().LocalPosition, endPoint3, EASING_METHOD.EASE_IN_SINE); + + + } + + protected override void update() + { + if (!SceneFadeInOut.Instance.FadeOutFinished() && !point1Done) + { + moveToEndPoint1.Reset(); + return; + } + + if (Input.GetKeyUp(Input.KeyCode.Space)) + { + skip = true; + point1Done = true; + SceneFadeInOut.Instance.CallFadeIn(); + SceneFadeInOut.Instance.alphaValue = 0.01f; + } + + if (skip && SceneFadeInOut.Instance.FadeInFinished()) + { + playerCamera.GetComponent().SetMainCamera(); + SceneFadeInOut.Instance.CallFadeOut(); + } + + if (skip && SceneFadeInOut.Instance.FadeOutFinished()) + { + GameManager.Instance.PreviewLevelDone = true; + } + + + if (!skip) + { + if (!point1Done) + { + listOfCamera[0].GetComponent().LocalPosition = moveToEndPoint1.GetValue(); + if (moveToEndPoint1.IsCompleted()) + { + point1Done = true; + SceneFadeInOut.Instance.CallFadeIn(); + SceneFadeInOut.Instance.alphaValue = 0.01f; + } + } + + if (SceneFadeInOut.Instance.FadeInFinished() && point1Done) + { + listOfCamera[1].SetMainCamera(); + SceneFadeInOut.Instance.CallFadeOut(); + } + + if (SceneFadeInOut.Instance.FadeOutFinished() && point1Done) + { + if (!point2Done) + { + if (reset2) + { + moveToEndPoint2.Reset(); + reset2 = false; + } + listOfCamera[1].GetComponent().LocalPosition = moveToEndPoint2.GetValue(); + if (moveToEndPoint2.IsCompleted()) + { + point2Done = true; + SceneFadeInOut.Instance.CallFadeIn(); + SceneFadeInOut.Instance.alphaValue = 0.01f; + } + } + } + + if (SceneFadeInOut.Instance.FadeInFinished() && point2Done) + { + listOfCamera[2].SetMainCamera(); + SceneFadeInOut.Instance.CallFadeOut(); + } + + if (SceneFadeInOut.Instance.FadeOutFinished() && point2Done) + { + if (!point3Done) + { + if (reset3) + { + moveToEndPoint3 = TweenManager.CreateTweenThreadVec3(duration, listOfCamera[2].GetComponent().LocalPosition, endPoint3, EASING_METHOD.EASE_IN_SINE); + reset3 = false; + } + listOfCamera[2].GetComponent().LocalPosition = moveToEndPoint3.GetValue(); + if (moveToEndPoint3.IsCompleted()) + { + point3Done = true; + SceneFadeInOut.Instance.CallFadeIn(); + SceneFadeInOut.Instance.alphaValue = 0.01f; + } + } + } + + if (SceneFadeInOut.Instance.FadeInFinished() && point3Done) + { + playerCamera.GetComponent().SetMainCamera(); + SceneFadeInOut.Instance.CallFadeOut(); + } + + if (SceneFadeInOut.Instance.FadeOutFinished() && point3Done) + { + GameManager.Instance.PreviewLevelDone = true; + } + } + + } } - - protected override void update() - { - } - } diff --git a/Assets/Scripts/UI/EasingHelper.cs b/Assets/Scripts/UI/EasingHelper.cs index d0480f7a..0b434833 100644 --- a/Assets/Scripts/UI/EasingHelper.cs +++ b/Assets/Scripts/UI/EasingHelper.cs @@ -52,12 +52,12 @@ namespace SHADE_Scripting.UI private static float EaseInSine(float value) { - return (float)(1.0f - Math.Cos((value * Math.PI) / 2.0f)); + return (float)(1.0f - Math.Cos((value * Math.PI / 2.0f))); } private static float EaseOutSine(float value) { - return (float)(Math.Sin(value * Math.PI) / 2.0f); + return (float)(Math.Sin(value * Math.PI / 2.0f)); } diff --git a/Assets/Scripts/UI/SC_PauseMenu.cs b/Assets/Scripts/UI/SC_PauseMenu.cs index 0293bb69..c92965d8 100644 --- a/Assets/Scripts/UI/SC_PauseMenu.cs +++ b/Assets/Scripts/UI/SC_PauseMenu.cs @@ -88,7 +88,7 @@ public class PauseMenu : Script protected override void update() { - if (Input.GetKeyDown(Input.KeyCode.Escape) && !GameManager.Instance.GamePause && !GameManager.Instance.stealFoodPopUp) + if (Input.GetKeyDown(Input.KeyCode.Escape) && !GameManager.Instance.GamePause && GameManager.Instance.stealFoodPopUpDone) { GameManager.Instance.GamePause = true; AudioHandler.PauseAllSounds(true); diff --git a/Assets/Scripts/UI/SC_SceneFadeInOut.cs b/Assets/Scripts/UI/SC_SceneFadeInOut.cs index 4224474b..15047e49 100644 --- a/Assets/Scripts/UI/SC_SceneFadeInOut.cs +++ b/Assets/Scripts/UI/SC_SceneFadeInOut.cs @@ -65,7 +65,6 @@ namespace SHADE_Scripting.UI if (alphaValue >= 1.0f) { alphaValue = 1.0f; - GameObject.Parent.SetActive(false); } } diff --git a/Assets/Scripts/UI/SC_StealFoodPopUp.cs b/Assets/Scripts/UI/SC_StealFoodPopUp.cs index f7f8b75a..6991ed32 100644 --- a/Assets/Scripts/UI/SC_StealFoodPopUp.cs +++ b/Assets/Scripts/UI/SC_StealFoodPopUp.cs @@ -51,7 +51,7 @@ namespace SHADE_Scripting.UI //538x377 protected override void update() { - if (!SceneFadeInOut.Instance.FadeOutFinished()) + if (!GameManager.Instance.PreviewLevelDone) { rot.Reset(); scaleX.Reset(); @@ -86,7 +86,7 @@ namespace SHADE_Scripting.UI if (scaleOutX.IsCompleted() && scaleOutY.IsCompleted()) { GameObject.SetActive(false); - GameManager.Instance.stealFoodPopUp = false; + GameManager.Instance.stealFoodPopUpDone = true; } } } diff --git a/SHADE_Engine/src/Serialization/SHSerializationHelper.hpp b/SHADE_Engine/src/Serialization/SHSerializationHelper.hpp index a4936528..35e27132 100644 --- a/SHADE_Engine/src/Serialization/SHSerializationHelper.hpp +++ b/SHADE_Engine/src/Serialization/SHSerializationHelper.hpp @@ -207,10 +207,10 @@ namespace SHADE if constexpr (YAML::HasYAMLConv()) { auto component = SHComponentManager::GetComponent_s(eid); - if (componentsNode.IsNull() || !component) + if (!component) return false; auto componentNode = GetComponentNode(componentsNode, eid); - if (componentNode.IsNull() || !componentNode.IsDefined()) + if (!componentNode.IsDefined()) return false; if (componentNode[IsActive.data()].IsDefined()) component->isActive = componentNode[IsActive.data()].as(); @@ -220,7 +220,7 @@ namespace SHADE else { ComponentType* component = SHComponentManager::GetComponent_s(eid); - if (componentsNode.IsNull() && !component) + if (!component) return false; auto rttrType = rttr::type::get(); auto componentNode = componentsNode[rttrType.get_name().data()];