diff --git a/Assets/Scenes/Level2.shade b/Assets/Scenes/Level2.shade index 9ae69bef..dfe5d1b7 100644 --- a/Assets/Scenes/Level2.shade +++ b/Assets/Scenes/Level2.shade @@ -2091,8 +2091,8 @@ Scale: {x: 1, y: 1, z: 1} IsActive: false Renderable Component: - Mesh: 0 - Material: 0 + Mesh: 144023586 + Material: 122370915 IsActive: false RigidBody Component: Type: Dynamic @@ -2188,8 +2188,8 @@ NumberOfChildren: 0 Components: Transform Component: - Translate: {x: -0.230162144, y: -0.0580062866, z: -0.00789308548} - 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: @@ -2201,8 +2201,8 @@ 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 @@ -3520,18 +3520,18 @@ IsActive: true Scripts: ~ - EID: 206 - Name: Timer + Name: Timer Text IsActive: true - NumberOfChildren: 0 + NumberOfChildren: 1 Components: Transform Component: - Translate: {x: 500, y: 400, z: 0.100000001} + Translate: {x: 700, y: 400, z: 0.100000001} Rotate: {x: 0, y: 0, z: 0} Scale: {x: 60, y: 60, z: 60} IsActive: true Text Renderer Component: Text: My name is Brandon. - Font: 176667660 + Font: 174412429 Color: {x: 1, y: 1, z: 1, w: 1} Text Size: {x: 1, y: 1, z: 1} IsActive: true @@ -3541,6 +3541,26 @@ 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: 199 + Hovered: false + Clicked: false + IsActive: true + Scripts: ~ - EID: 139 Name: Multiplier Text IsActive: true @@ -3568,7 +3588,7 @@ maxSize: 1 minSize: 0.300000012 minAlpha: 0.300000012 -- EID: 520 +- EID: 519 Name: Multiplier BG IsActive: true NumberOfChildren: 0 @@ -5762,7 +5782,7 @@ Rotation Offset: {x: 0, y: 0, z: 0} IsActive: false Scripts: ~ -- EID: 519 +- EID: 461 Name: Piece2 IsActive: false NumberOfChildren: 0 @@ -5803,7 +5823,7 @@ Rotation Offset: {x: 0, y: 0, z: 0} IsActive: false Scripts: ~ -- EID: 461 +- EID: 460 Name: Piece3 IsActive: false NumberOfChildren: 0 @@ -5844,7 +5864,7 @@ Rotation Offset: {x: 0, y: 0, z: 0} IsActive: false Scripts: ~ -- EID: 460 +- EID: 459 Name: Piece4 IsActive: false NumberOfChildren: 0 @@ -6098,14 +6118,14 @@ Enabled: true - EID: 10 Name: Pause Canvas - 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: 8 Name: ResumeButton @@ -6173,7 +6193,7 @@ onReleaseSound: event:/Music/player_undetected hoverScale: 1.10000002 clickScale: 0.899999976 -- EID: 459 +- EID: 458 Name: RetryButton IsActive: true NumberOfChildren: 0 @@ -11950,7 +11970,7 @@ Rotation Offset: {x: 0, y: 0, z: 0} IsActive: true Scripts: ~ -- EID: 458 +- EID: 457 Name: Exterior IsActive: true NumberOfChildren: 5 @@ -14614,7 +14634,7 @@ Material: 131956078 IsActive: true Scripts: ~ -- EID: 457 +- EID: 174 Name: Exterior_Bush02 IsActive: true NumberOfChildren: 0 @@ -14629,7 +14649,7 @@ Material: 131956078 IsActive: true Scripts: ~ -- EID: 174 +- EID: 173 Name: Exterior_Bush01 IsActive: true NumberOfChildren: 0 @@ -14644,7 +14664,7 @@ Material: 131956078 IsActive: true Scripts: ~ -- EID: 173 +- EID: 172 Name: Exterior_Bush02 IsActive: true NumberOfChildren: 0 @@ -14659,7 +14679,7 @@ Material: 131956078 IsActive: true Scripts: ~ -- EID: 172 +- EID: 548 Name: TweenManager IsActive: true NumberOfChildren: 0 @@ -14667,7 +14687,7 @@ Scripts: - Type: SHADE_Scripting.UI.TweenManager Enabled: true -- EID: 548 +- EID: 549 Name: StealFoodCanvas IsActive: true NumberOfChildren: 1 @@ -14678,7 +14698,7 @@ Scale by canvas width: false IsActive: true Scripts: ~ -- EID: 549 +- EID: 550 Name: StealFoodLogo IsActive: true NumberOfChildren: 0 @@ -14693,7 +14713,7 @@ Material: 127459277 IsActive: true UI Component: - Canvas ID: 548 + Canvas ID: 549 Hovered: false Clicked: false IsActive: true @@ -14706,7 +14726,7 @@ rotationAmt: 1800 scaleAmtX: 538 scaleAmtY: 377 -- EID: 550 +- EID: 551 Name: TransitionCanvas IsActive: true NumberOfChildren: 1 @@ -14717,7 +14737,7 @@ Scale by canvas width: false IsActive: true Scripts: ~ -- EID: 551 +- EID: 552 Name: Transition IsActive: true NumberOfChildren: 0 @@ -14732,7 +14752,7 @@ Material: 120016136 IsActive: true UI Component: - Canvas ID: 550 + Canvas ID: 551 Hovered: false Clicked: false IsActive: true @@ -14742,7 +14762,7 @@ alphaValue: 1 fadeInTime: 0.5 fadeOutTime: 0.5 -- EID: 552 +- EID: 553 Name: TweenManager IsActive: true NumberOfChildren: 0 @@ -14750,7 +14770,7 @@ Scripts: - Type: SHADE_Scripting.UI.TweenManager Enabled: true -- EID: 553 +- EID: 554 Name: CameraPoints IsActive: true NumberOfChildren: 3 @@ -14763,7 +14783,7 @@ endPoint3: [1.14999998, 2.20000005, 2] playerCamera: 4 duration: 3 -- EID: 554 +- EID: 555 Name: PreviewLevel1 IsActive: true NumberOfChildren: 0 @@ -14785,7 +14805,7 @@ FOV: 90 IsActive: true Scripts: ~ -- EID: 555 +- EID: 556 Name: PreviewLevel2 IsActive: true NumberOfChildren: 0 @@ -14807,7 +14827,7 @@ FOV: 90 IsActive: true Scripts: ~ -- EID: 556 +- EID: 557 Name: PreviewLevel3 IsActive: true NumberOfChildren: 0 diff --git a/Assets/Scenes/MainMenu.shade b/Assets/Scenes/MainMenu.shade index 1edd67b5..6e569b46 100644 --- a/Assets/Scenes/MainMenu.shade +++ b/Assets/Scenes/MainMenu.shade @@ -1100,7 +1100,11 @@ Hovered: false Clicked: false IsActive: true - Scripts: ~ + Scripts: + - Type: SHADE_Scripting.UI.ScrollingCredits + Enabled: true + endY: 4000 + duration: 20 - EID: 48 Name: BackButton IsActive: true @@ -1131,23 +1135,23 @@ canvasToActivate: 0 - EID: 49 Name: Credits Title Text - IsActive: true + IsActive: false NumberOfChildren: 0 Components: Transform Component: Translate: {x: -150, y: 400, z: 0.100000001} Rotate: {x: 0, y: 0, z: 0} Scale: {x: 100, y: 100, z: 1} - IsActive: true + IsActive: false Text Renderer Component: Text: Credits Font: 174412429 - IsActive: true + IsActive: false UI Component: Canvas ID: 46 Hovered: false Clicked: false - IsActive: true + IsActive: false Scripts: ~ - EID: 50 Name: Level Select Canvas diff --git a/Assets/Scripts/Gameplay/SC_GameManager.cs b/Assets/Scripts/Gameplay/SC_GameManager.cs index 83dae007..0b50090e 100644 --- a/Assets/Scripts/Gameplay/SC_GameManager.cs +++ b/Assets/Scripts/Gameplay/SC_GameManager.cs @@ -76,9 +76,9 @@ public class GameManager : Script goingToLose = false; if (scoreText) - scoreText.GetComponent().Text = $"Score: {Score}"; + scoreText.GetComponent().Text = $"{Score}"; if (timeText) - timeText.GetComponent().Text = $"Time Left: {timer.ToString("0")}"; + timeText.GetComponent().Text = $"{timer.ToString("0")}"; } protected override void start() @@ -101,7 +101,7 @@ public class GameManager : Script if (GamePause || !stealFoodPopUpDone) { Input.SetMouseCentering(false); - //Application.IsCursorVisible = true; + Application.IsCursorVisible = true; return; } @@ -113,12 +113,10 @@ public class GameManager : Script if(scoreText) scoreText.GetComponent().Text = $"{Score}"; if(timeText) - timeText.GetComponent().Text = $"Time Left: {timer.ToString("0")}"; + timeText.GetComponent().Text = $"{timer.ToString("0.00")}"; if (itemScored) { - //multiplierText.GetComponent().Text = $"X {currMultiplierCombo}"; - //multiplierText.GetComponent().LocalScale -= fontScalar * Time.DeltaTimeF; currMultiplierDuration += Time.DeltaTimeF; if (currMultiplierDuration >= maxMultiplierDuration) @@ -193,7 +191,6 @@ public class GameManager : Script totalItemCount -= 1; itemScored = true; currMultiplierDuration = 0; - //multiplierText.GetComponent().LocalScale = new Vector3(multiplierFont, multiplierFont, multiplierFont); if (currMultiplierCombo < maxMultiplierCombo) currMultiplierCombo += 1; @@ -201,9 +198,9 @@ public class GameManager : Script MultiplierTextFx fx = multiplierText.GetScript(); if (fx) { - fx.ShowMultiplier(currMultiplierCombo, maxMultiplierDuration); + fx.ShowMultiplier(currMultiplierCombo, maxMultiplierDuration); } - } + } } diff --git a/Assets/Scripts/UI/EasingHelper.cs b/Assets/Scripts/UI/EasingHelper.cs index 0b434833..dadae5bb 100644 --- a/Assets/Scripts/UI/EasingHelper.cs +++ b/Assets/Scripts/UI/EasingHelper.cs @@ -52,12 +52,15 @@ 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_EndScene.cs b/Assets/Scripts/UI/SC_EndScene.cs index 7d00c334..9ab50f9a 100644 --- a/Assets/Scripts/UI/SC_EndScene.cs +++ b/Assets/Scripts/UI/SC_EndScene.cs @@ -16,9 +16,9 @@ public class EndScene : Script protected override void start() { - Input.SetMouseCentering(false); Debug.Log("EndScene::Start():"); - Application.IsCursorVisible = true; + //Input.SetMouseCentering(false); + //Application.IsCursorVisible = true; SceneFadeInOut.Instance.CallFadeOut(); } diff --git a/Assets/Scripts/UI/SC_MainMenu.cs b/Assets/Scripts/UI/SC_MainMenu.cs index 16c2d593..d2caaba0 100644 --- a/Assets/Scripts/UI/SC_MainMenu.cs +++ b/Assets/Scripts/UI/SC_MainMenu.cs @@ -24,8 +24,8 @@ public class MainMenu : Script protected override void start() { - Input.SetMouseCentering(false); - Application.IsCursorVisible = true; + //Input.SetMouseCentering(false); + //Application.IsCursorVisible = true; SceneFadeInOut.Instance.CallFadeOut(); } protected override void update() diff --git a/Assets/Scripts/UI/SC_MultiplierTextFx.cs b/Assets/Scripts/UI/SC_MultiplierTextFx.cs index 1b3129ec..ccd2a4a8 100644 --- a/Assets/Scripts/UI/SC_MultiplierTextFx.cs +++ b/Assets/Scripts/UI/SC_MultiplierTextFx.cs @@ -11,6 +11,7 @@ namespace SHADE_Scripting.UI { [NonSerialized] private TweenThread sizeThread; + private TweenThread sizeInvertThread; private TweenThread alphaThread; @@ -20,6 +21,7 @@ namespace SHADE_Scripting.UI private bool showMultiplier = false; + const float sizeUpDuration = 0.1f; [NonSerialized] private Vector3 defaultScale; @@ -27,6 +29,7 @@ namespace SHADE_Scripting.UI protected override void start() { sizeThread = TweenManager.CreateTweenThread(0.0f, 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) @@ -43,8 +46,29 @@ namespace SHADE_Scripting.UI protected override void update() { 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; @@ -53,7 +77,18 @@ namespace SHADE_Scripting.UI else { transform.LocalScale = defaultScale * sizeThread.GetValue(); - GetComponentInChildren().Material.SetProperty("data.alpha",alphaThread.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); + } } } } @@ -62,9 +97,10 @@ namespace SHADE_Scripting.UI public void ShowMultiplier(int multiplier, float duration) { GetComponent().Text = $"X {multiplier}"; - sizeThread.duration = duration; - alphaThread.duration = duration; + sizeThread.duration = duration + sizeUpDuration; + alphaThread.duration = duration + sizeUpDuration; + sizeInvertThread.Reset(); sizeThread.Reset(); alphaThread.Reset(); showMultiplier = true; diff --git a/Assets/Scripts/UI/SC_ScrollingCredits.cs b/Assets/Scripts/UI/SC_ScrollingCredits.cs new file mode 100644 index 00000000..d4b362d8 --- /dev/null +++ b/Assets/Scripts/UI/SC_ScrollingCredits.cs @@ -0,0 +1,49 @@ +using System; +using SHADE; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace SHADE_Scripting.UI +{ + public class ScrollingCredits: Script + { + + public float endY = 4000.0f; + public float duration = 30.0f; + + + [NonSerialized] + TweenThread thread; + + protected override void awake() + { + base.awake(); + + } + + protected override void start() + { + base.start(); + + Transform transform = GetComponent(); + if(transform != null) + { + thread = TweenManager.CreateTweenThread(duration, transform.LocalPosition.y, endY, EASING_METHOD.EASE_IN_SINE); + } + } + + protected override void update() + { + base.update(); + + Transform transform = GetComponent(); + + if(thread != null && transform != null) + { + transform.LocalPosition = new Vector3( transform.LocalPosition.x ,thread.GetValue() , transform.LocalPosition.z); + } + } + } +} diff --git a/Assets/Scripts/UI/SC_ScrollingCredits.cs.shmeta b/Assets/Scripts/UI/SC_ScrollingCredits.cs.shmeta new file mode 100644 index 00000000..df5d7056 --- /dev/null +++ b/Assets/Scripts/UI/SC_ScrollingCredits.cs.shmeta @@ -0,0 +1,3 @@ +Name: SC_ScrollingCredits +ID: 159139676 +Type: 9 diff --git a/SHADE_Managed/src/Components/TextRenderable.cxx b/SHADE_Managed/src/Components/TextRenderable.cxx index 3eb1f3b9..c75d4556 100644 --- a/SHADE_Managed/src/Components/TextRenderable.cxx +++ b/SHADE_Managed/src/Components/TextRenderable.cxx @@ -19,6 +19,7 @@ of DigiPen Institute of Technology is prohibited. #include "Assets/NativeAsset.hxx" #include "Utility/Convert.hxx" + namespace SHADE { /*---------------------------------------------------------------------------------*/ @@ -55,4 +56,16 @@ namespace SHADE GetNativeComponent()->SetFont(value.NativeObject); } } + + Color TextRenderable::TextColor::get() + { + return Convert::ToCLI(GetNativeComponent()->GetColor()); + } + + void TextRenderable::TextColor::set(Color value) + { + GetNativeComponent()->SetColor(Convert::ToNative(value)); + } + + } diff --git a/SHADE_Managed/src/Components/TextRenderable.hxx b/SHADE_Managed/src/Components/TextRenderable.hxx index b17a919c..b65f9c59 100644 --- a/SHADE_Managed/src/Components/TextRenderable.hxx +++ b/SHADE_Managed/src/Components/TextRenderable.hxx @@ -60,6 +60,13 @@ namespace SHADE FontAsset get(); void set(FontAsset value); } + + property Color TextColor + { + Color get(); + void set(Color value); + } + }; } diff --git a/SHADE_Managed/src/Components/Transform.cxx b/SHADE_Managed/src/Components/Transform.cxx index d5b38967..3216d0f0 100644 --- a/SHADE_Managed/src/Components/Transform.cxx +++ b/SHADE_Managed/src/Components/Transform.cxx @@ -22,6 +22,7 @@ namespace SHADE : Component(entity) {} + /*-----------------------------------------------------------------------------------*/ /* Properties */ /*-----------------------------------------------------------------------------------*/ diff --git a/SHADE_Managed/src/Engine/Application.cxx b/SHADE_Managed/src/Engine/Application.cxx index ba0cb592..e5aeeb9d 100644 --- a/SHADE_Managed/src/Engine/Application.cxx +++ b/SHADE_Managed/src/Engine/Application.cxx @@ -77,7 +77,7 @@ namespace SHADE } void Application::IsCursorVisible::set(bool value) { - SHWindow::SetMouseVisible(value); + //SHWindow::SetMouseVisible(value); } /*---------------------------------------------------------------------------------*/ /* Usage Functions */ diff --git a/SHADE_Managed/src/Input/Input.cxx b/SHADE_Managed/src/Input/Input.cxx index ee628523..5b76392b 100644 --- a/SHADE_Managed/src/Input/Input.cxx +++ b/SHADE_Managed/src/Input/Input.cxx @@ -149,7 +149,7 @@ namespace SHADE void Input::SetMouseCentering(bool state) { - SHInputManager::SetMouseCentering(state); + //SHInputManager::SetMouseCentering(state); } bool Input::GetMouseCentering()