Merge pull request #390 from SHADE-DP/SP3-20-UI-System

Gameplay UI on Level 2.
This commit is contained in:
XiaoQiDigipen 2023-03-04 12:42:42 +08:00 committed by GitHub
commit e197097d7c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 195 additions and 58 deletions

View File

@ -2085,8 +2085,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
@ -2182,8 +2182,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:
@ -2195,8 +2195,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
@ -3477,6 +3477,7 @@
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: 199
@ -3505,19 +3506,40 @@
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
UI Component:
Canvas ID: 199
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: 199
@ -3539,6 +3561,7 @@
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: 199
@ -3551,7 +3574,7 @@
maxSize: 1
minSize: 0.300000012
minAlpha: 0.300000012
- EID: 520
- EID: 519
Name: Multiplier BG
IsActive: true
NumberOfChildren: 0
@ -5725,7 +5748,7 @@
Rotation Offset: {x: 0, y: 0, z: 0}
IsActive: false
Scripts: ~
- EID: 519
- EID: 461
Name: Piece2
IsActive: false
NumberOfChildren: 0
@ -5766,7 +5789,7 @@
Rotation Offset: {x: 0, y: 0, z: 0}
IsActive: false
Scripts: ~
- EID: 461
- EID: 460
Name: Piece3
IsActive: false
NumberOfChildren: 0
@ -5807,7 +5830,7 @@
Rotation Offset: {x: 0, y: 0, z: 0}
IsActive: false
Scripts: ~
- EID: 460
- EID: 459
Name: Piece4
IsActive: false
NumberOfChildren: 0
@ -6061,14 +6084,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
@ -6136,7 +6159,7 @@
onReleaseSound: event:/Music/player_undetected
hoverScale: 1.10000002
clickScale: 0.899999976
- EID: 459
- EID: 458
Name: RetryButton
IsActive: true
NumberOfChildren: 0
@ -6183,6 +6206,7 @@
Text: Game Pause
Font: 176667660
Color: {x: 1, y: 1, z: 1, w: 1}
Text Size: {x: 1, y: 1, z: 1}
IsActive: false
UI Component:
Canvas ID: 10
@ -11912,7 +11936,7 @@
Rotation Offset: {x: 0, y: 0, z: 0}
IsActive: true
Scripts: ~
- EID: 458
- EID: 457
Name: Exterior
IsActive: true
NumberOfChildren: 5
@ -14576,7 +14600,7 @@
Material: 131956078
IsActive: true
Scripts: ~
- EID: 457
- EID: 174
Name: Exterior_Bush02
IsActive: true
NumberOfChildren: 0
@ -14591,7 +14615,7 @@
Material: 131956078
IsActive: true
Scripts: ~
- EID: 174
- EID: 173
Name: Exterior_Bush01
IsActive: true
NumberOfChildren: 0
@ -14606,7 +14630,7 @@
Material: 131956078
IsActive: true
Scripts: ~
- EID: 173
- EID: 172
Name: Exterior_Bush02
IsActive: true
NumberOfChildren: 0
@ -14621,7 +14645,7 @@
Material: 131956078
IsActive: true
Scripts: ~
- EID: 172
- EID: 548
Name: TweenManager
IsActive: true
NumberOfChildren: 0
@ -14629,7 +14653,7 @@
Scripts:
- Type: SHADE_Scripting.UI.TweenManager
Enabled: true
- EID: 548
- EID: 549
Name: StealFoodCanvas
IsActive: true
NumberOfChildren: 1
@ -14640,7 +14664,7 @@
Scale by canvas width: false
IsActive: true
Scripts: ~
- EID: 549
- EID: 550
Name: StealFoodLogo
IsActive: true
NumberOfChildren: 0
@ -14655,7 +14679,7 @@
Material: 127459277
IsActive: true
UI Component:
Canvas ID: 548
Canvas ID: 549
Hovered: false
Clicked: false
IsActive: true
@ -14668,7 +14692,7 @@
rotationAmt: 1800
scaleAmtX: 538
scaleAmtY: 377
- EID: 550
- EID: 551
Name: TransitionCanvas
IsActive: true
NumberOfChildren: 1
@ -14679,7 +14703,7 @@
Scale by canvas width: false
IsActive: true
Scripts: ~
- EID: 551
- EID: 552
Name: Transition
IsActive: true
NumberOfChildren: 0
@ -14694,7 +14718,7 @@
Material: 120016136
IsActive: true
UI Component:
Canvas ID: 550
Canvas ID: 551
Hovered: false
Clicked: false
IsActive: true
@ -14704,7 +14728,7 @@
alphaValue: 1
fadeInTime: 0.5
fadeOutTime: 0.5
- EID: 552
- EID: 553
Name: TweenManager
IsActive: true
NumberOfChildren: 0
@ -14712,7 +14736,7 @@
Scripts:
- Type: SHADE_Scripting.UI.TweenManager
Enabled: true
- EID: 553
- EID: 554
Name: CameraPoints
IsActive: true
NumberOfChildren: 3
@ -14725,7 +14749,7 @@
endPoint3: [1.14999998, 2.20000005, 2]
playerCamera: 4
duration: 3
- EID: 554
- EID: 555
Name: PreviewLevel1
IsActive: true
NumberOfChildren: 0
@ -14747,7 +14771,7 @@
FOV: 90
IsActive: true
Scripts: ~
- EID: 555
- EID: 556
Name: PreviewLevel2
IsActive: true
NumberOfChildren: 0
@ -14769,7 +14793,7 @@
FOV: 90
IsActive: true
Scripts: ~
- EID: 556
- EID: 557
Name: PreviewLevel3
IsActive: true
NumberOfChildren: 0

View File

@ -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

View File

@ -76,9 +76,9 @@ public class GameManager : Script
goingToLose = false;
if (scoreText)
scoreText.GetComponent<TextRenderable>().Text = $"Score: {Score}";
scoreText.GetComponent<TextRenderable>().Text = $"{Score}";
if (timeText)
timeText.GetComponent<TextRenderable>().Text = $"Time Left: {timer.ToString("0")}";
timeText.GetComponent<TextRenderable>().Text = $"{timer.ToString("0")}";
}
protected override void start()
@ -105,7 +105,7 @@ public class GameManager : Script
if (GamePause || !stealFoodPopUpDone)
{
Input.SetMouseCentering(false);
//Application.IsCursorVisible = true;
Application.IsCursorVisible = true;
return;
}
@ -117,12 +117,10 @@ public class GameManager : Script
if(scoreText)
scoreText.GetComponent<TextRenderable>().Text = $"{Score}";
if(timeText)
timeText.GetComponent<TextRenderable>().Text = $"Time Left: {timer.ToString("0")}";
timeText.GetComponent<TextRenderable>().Text = $"{timer.ToString("0.00")}";
if (itemScored)
{
//multiplierText.GetComponent<TextRenderable>().Text = $"X {currMultiplierCombo}";
//multiplierText.GetComponent<Transform>().LocalScale -= fontScalar * Time.DeltaTimeF;
currMultiplierDuration += Time.DeltaTimeF;
if (currMultiplierDuration >= maxMultiplierDuration)
@ -197,7 +195,6 @@ public class GameManager : Script
totalItemCount -= 1;
itemScored = true;
currMultiplierDuration = 0;
//multiplierText.GetComponent<Transform>().LocalScale = new Vector3(multiplierFont, multiplierFont, multiplierFont);
if (currMultiplierCombo < maxMultiplierCombo)
currMultiplierCombo += 1;

View File

@ -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) );
}

View File

@ -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();
}

View File

@ -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()

View File

@ -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<Transform>();
if (transform != null)
@ -43,8 +46,29 @@ namespace SHADE_Scripting.UI
protected override void update()
{
Transform transform = GetComponent<Transform>();
if (transform != null && showMultiplier == true)
{
if(!sizeInvertThread.IsCompleted())
{
transform.LocalScale = defaultScale * sizeInvertThread.GetValue();
Renderable rend = GetComponentInChildren<Renderable>();
if(rend)
{
rend.Material.SetProperty<float>("data.alpha", 1.0f);
}
TextRenderable text = GetComponent<TextRenderable>();
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<Renderable>().Material.SetProperty<float>("data.alpha",alphaThread.GetValue());
Renderable rend = GetComponentInChildren<Renderable>();
if (rend)
{
rend.Material.SetProperty<float>("data.alpha", alphaThread.GetValue());
}
TextRenderable text = GetComponent<TextRenderable>();
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<TextRenderable>().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;

View File

@ -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<Transform>();
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<Transform>();
if(thread != null && transform != null)
{
transform.LocalPosition = new Vector3( transform.LocalPosition.x ,thread.GetValue() , transform.LocalPosition.z);
}
}
}
}

View File

@ -0,0 +1,3 @@
Name: SC_ScrollingCredits
ID: 159139676
Type: 9

View File

@ -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));
}
}

View File

@ -60,6 +60,13 @@ namespace SHADE
FontAsset get();
void set(FontAsset value);
}
property Color TextColor
{
Color get();
void set(Color value);
}
};
}

View File

@ -22,6 +22,7 @@ namespace SHADE
: Component(entity)
{}
/*-----------------------------------------------------------------------------------*/
/* Properties */
/*-----------------------------------------------------------------------------------*/

View File

@ -77,7 +77,7 @@ namespace SHADE
}
void Application::IsCursorVisible::set(bool value)
{
SHWindow::SetMouseVisible(value);
//SHWindow::SetMouseVisible(value);
}
/*---------------------------------------------------------------------------------*/
/* Usage Functions */

View File

@ -149,7 +149,7 @@ namespace SHADE
void Input::SetMouseCentering(bool state)
{
SHInputManager::SetMouseCentering(state);
//SHInputManager::SetMouseCentering(state);
}
bool Input::GetMouseCentering()