feature: Added menu functionality

This commit is contained in:
Gerard Gascón 2024-01-28 12:36:32 +01:00
parent 3b730311fc
commit 38c0bcaef4
9 changed files with 134 additions and 247 deletions

View file

@ -136,6 +136,7 @@ GameObject:
- component: {fileID: 19625094} - component: {fileID: 19625094}
- component: {fileID: 19625093} - component: {fileID: 19625093}
- component: {fileID: 19625097} - component: {fileID: 19625097}
- component: {fileID: 19625098}
m_Layer: 5 m_Layer: 5
m_Name: WinCanvas m_Name: WinCanvas
m_TagString: Untagged m_TagString: Untagged
@ -236,9 +237,24 @@ CanvasGroup:
m_GameObject: {fileID: 19625092} m_GameObject: {fileID: 19625092}
m_Enabled: 1 m_Enabled: 1
m_Alpha: 0 m_Alpha: 0
m_Interactable: 0 m_Interactable: 1
m_BlocksRaycasts: 1 m_BlocksRaycasts: 0
m_IgnoreParentGroups: 0 m_IgnoreParentGroups: 0
--- !u!114 &19625098
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 19625092}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 3ab69031478b416bb744d340062beae1, type: 3}
m_Name:
m_EditorClassIdentifier:
canvasGroup: {fileID: 19625097}
winBackground: {fileID: 1957919960}
winText: {fileID: 1331759576}
--- !u!1 &23275625 --- !u!1 &23275625
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2647,11 +2663,11 @@ RectTransform:
m_Children: [] m_Children: []
m_Father: {fileID: 361312882} m_Father: {fileID: 361312882}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 175, y: -115} m_AnchoredPosition: {x: -2.5, y: 7.5}
m_SizeDelta: {x: 125, y: 25} m_SizeDelta: {x: 125, y: 25}
m_Pivot: {x: 0, y: 1} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1331759577 --- !u!114 &1331759577
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -2806,7 +2822,7 @@ MonoBehaviour:
m_Name: m_Name:
m_EditorClassIdentifier: m_EditorClassIdentifier:
bar: {fileID: 843204721} bar: {fileID: 843204721}
numberToWin: 10 numberToWin: 5
--- !u!1 &1488949019 --- !u!1 &1488949019
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -3894,11 +3910,11 @@ RectTransform:
m_Children: [] m_Children: []
m_Father: {fileID: 361312882} m_Father: {fileID: 361312882}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1} m_AnchorMin: {x: 0.5, y: 0.5}
m_AnchorMax: {x: 0, y: 1} m_AnchorMax: {x: 0.5, y: 0.5}
m_AnchoredPosition: {x: 155, y: -85} m_AnchoredPosition: {x: 7.5, y: 3}
m_SizeDelta: {x: 185, y: 94} m_SizeDelta: {x: 185, y: 94}
m_Pivot: {x: 0, y: 1} m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1957919961 --- !u!114 &1957919961
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0

View file

@ -180,7 +180,7 @@ MonoBehaviour:
m_SelectOnDown: {fileID: 0} m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0} m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0} m_SelectOnRight: {fileID: 0}
m_Transition: 1 m_Transition: 0
m_Colors: m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1} m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
@ -204,7 +204,19 @@ MonoBehaviour:
m_TargetGraphic: {fileID: 179030657} m_TargetGraphic: {fileID: 179030657}
m_OnClick: m_OnClick:
m_PersistentCalls: m_PersistentCalls:
m_Calls: [] m_Calls:
- m_Target: {fileID: 1769819445}
m_TargetAssemblyTypeName: Flow.MainMenu, Assembly-CSharp
m_MethodName: LoadGame
m_Mode: 1
m_Arguments:
m_ObjectArgument: {fileID: 0}
m_ObjectArgumentAssemblyTypeName: UnityEngine.Object, UnityEngine
m_IntArgument: 0
m_FloatArgument: 0
m_StringArgument:
m_BoolArgument: 0
m_CallState: 2
--- !u!114 &179030657 --- !u!114 &179030657
MonoBehaviour: MonoBehaviour:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -300,7 +312,7 @@ MonoBehaviour:
m_SelectOnDown: {fileID: 0} m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0} m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0} m_SelectOnRight: {fileID: 0}
m_Transition: 1 m_Transition: 0
m_Colors: m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1} m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
@ -554,81 +566,6 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 480, y: 0} m_SizeDelta: {x: 480, y: 0}
m_Pivot: {x: 0.5, y: 0.5} m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &1536555903
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1536555904}
- component: {fileID: 1536555906}
- component: {fileID: 1536555905}
m_Layer: 5
m_Name: Background
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1536555904
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1536555903}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children: []
m_Father: {fileID: 1957123385}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 1, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &1536555905
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1536555903}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: fe87c0e1cc204ed48ad3b37840f39efc, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Material: {fileID: 0}
m_Color: {r: 1, g: 1, b: 1, a: 1}
m_RaycastTarget: 1
m_RaycastPadding: {x: 0, y: 0, z: 0, w: 0}
m_Maskable: 1
m_OnCullStateChanged:
m_PersistentCalls:
m_Calls: []
m_Sprite: {fileID: 21300000, guid: 7cee144168e83734dbfc7747fd2e6abe, type: 3}
m_Type: 0
m_PreserveAspect: 0
m_FillCenter: 1
m_FillMethod: 4
m_FillAmount: 1
m_FillClockwise: 1
m_FillOrigin: 0
m_UseSpriteMesh: 0
m_PixelsPerUnitMultiplier: 1
--- !u!222 &1536555906
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1536555903}
m_CullTransparentMesh: 1
--- !u!1 &1560325472 --- !u!1 &1560325472
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -778,7 +715,7 @@ MonoBehaviour:
m_SelectOnDown: {fileID: 0} m_SelectOnDown: {fileID: 0}
m_SelectOnLeft: {fileID: 0} m_SelectOnLeft: {fileID: 0}
m_SelectOnRight: {fileID: 0} m_SelectOnRight: {fileID: 0}
m_Transition: 1 m_Transition: 0
m_Colors: m_Colors:
m_NormalColor: {r: 1, g: 1, b: 1, a: 1} m_NormalColor: {r: 1, g: 1, b: 1, a: 1}
m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1}
@ -853,6 +790,7 @@ GameObject:
- component: {fileID: 1769819443} - component: {fileID: 1769819443}
- component: {fileID: 1769819442} - component: {fileID: 1769819442}
- component: {fileID: 1769819441} - component: {fileID: 1769819441}
- component: {fileID: 1769819445}
m_Layer: 5 m_Layer: 5
m_Name: Canvas m_Name: Canvas
m_TagString: Untagged m_TagString: Untagged
@ -943,6 +881,18 @@ RectTransform:
m_AnchoredPosition: {x: 0, y: 0} m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0} m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0} m_Pivot: {x: 0, y: 0}
--- !u!114 &1769819445
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1769819440}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 7398bc374b9e57e4fb95861c2fb07f2b, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1795360675 --- !u!1 &1795360675
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1018,121 +968,6 @@ CanvasRenderer:
m_PrefabAsset: {fileID: 0} m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1795360675} m_GameObject: {fileID: 1795360675}
m_CullTransparentMesh: 1 m_CullTransparentMesh: 1
--- !u!1 &1842845467
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1842845472}
- component: {fileID: 1842845471}
- component: {fileID: 1842845470}
- component: {fileID: 1842845469}
- component: {fileID: 1842845468}
m_Layer: 5
m_Name: Mockup
m_TagString: EditorOnly
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 0
--- !u!225 &1842845468
CanvasGroup:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1842845467}
m_Enabled: 1
m_Alpha: 0.5
m_Interactable: 1
m_BlocksRaycasts: 1
m_IgnoreParentGroups: 0
--- !u!114 &1842845469
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1842845467}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: dc42784cf147c0c48a680349fa168899, type: 3}
m_Name:
m_EditorClassIdentifier:
m_IgnoreReversedGraphics: 1
m_BlockingObjects: 0
m_BlockingMask:
serializedVersion: 2
m_Bits: 4294967295
--- !u!114 &1842845470
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1842845467}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cd44c1031e13a943bb63640046fad76, type: 3}
m_Name:
m_EditorClassIdentifier:
m_UiScaleMode: 1
m_ReferencePixelsPerUnit: 100
m_ScaleFactor: 1
m_ReferenceResolution: {x: 480, y: 270}
m_ScreenMatchMode: 0
m_MatchWidthOrHeight: 1
m_PhysicalUnit: 3
m_FallbackScreenDPI: 96
m_DefaultSpriteDPI: 96
m_DynamicPixelsPerUnit: 1
m_PresetInfoIsWorld: 0
--- !u!223 &1842845471
Canvas:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1842845467}
m_Enabled: 1
serializedVersion: 3
m_RenderMode: 0
m_Camera: {fileID: 0}
m_PlaneDistance: 100
m_PixelPerfect: 0
m_ReceivesEvents: 1
m_OverrideSorting: 0
m_OverridePixelPerfect: 0
m_SortingBucketNormalizedSize: 0
m_VertexColorAlwaysGammaSpace: 0
m_AdditionalShaderChannelsFlag: 25
m_UpdateRectTransformForStandalone: 0
m_SortingLayerID: 0
m_SortingOrder: 10
m_TargetDisplay: 0
--- !u!224 &1842845472
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1842845467}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 0, y: 0, z: 0}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1957123385}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 0, y: 0}
m_Pivot: {x: 0, y: 0}
--- !u!1 &1938195249 --- !u!1 &1938195249
GameObject: GameObject:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
@ -1201,47 +1036,10 @@ Transform:
m_Children: [] m_Children: []
m_Father: {fileID: 0} m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1957123384
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1957123385}
m_Layer: 5
m_Name: Container
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1957123385
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1957123384}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 1536555904}
m_Father: {fileID: 1842845472}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0}
m_AnchorMax: {x: 0.5, y: 1}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 480, y: 0}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1660057539 &9223372036854775807 --- !u!1660057539 &9223372036854775807
SceneRoots: SceneRoots:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
m_Roots: m_Roots:
- {fileID: 1560325475} - {fileID: 1560325475}
- {fileID: 1769819444} - {fileID: 1769819444}
- {fileID: 1842845472}
- {fileID: 1938195252} - {fileID: 1938195252}

View file

@ -0,0 +1,10 @@
using UnityEngine;
using UnityEngine.SceneManagement;
namespace Flow {
public class MainMenu : MonoBehaviour {
public void LoadGame() {
SceneManager.LoadScene(sceneBuildIndex: 1);
}
}
}

View file

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 7398bc374b9e57e4fb95861c2fb07f2b
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View file

@ -14,12 +14,19 @@ namespace Flow {
UpdateFill(); UpdateFill();
} }
public void AddProgress() { public bool AddProgress() {
_progressDone++; _progressDone++;
if (_progressDone <= numberToWin) { if (_progressDone <= numberToWin) {
UpdateFill(); UpdateFill();
} }
if (_progressDone >= numberToWin) {
FindObjectOfType<WinScreen>().Win();
return true;
}
return false;
} }
private void UpdateFill() { private void UpdateFill() {

View file

@ -0,0 +1,33 @@
using System;
using DG.Tweening;
using UnityEngine;
using UnityEngine.Serialization;
namespace Flow {
public class WinScreen : MonoBehaviour {
[SerializeField] private CanvasGroup canvasGroup;
[SerializeField] private RectTransform winBackground;
[SerializeField] private RectTransform winText;
private bool _hasWon;
public void Win() {
_hasWon = true;
canvasGroup.blocksRaycasts = true;
canvasGroup.DOFade(1f, .5f);
winBackground.localScale = new Vector3(0, 0, 1);
winText.localScale = new Vector3(0, 0, 1);
winBackground.DOScale(1f, .25f).SetDelay(.5f).SetEase(Ease.OutBack);
winText.DOScale(1f, .25f).SetDelay(.55f).SetEase(Ease.OutBack);
}
private void Update() {
if (_hasWon && Input.anyKeyDown) {
Application.Quit();
}
}
}
}

View file

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 3ab69031478b416bb744d340062beae1
timeCreated: 1706439699

View file

@ -73,12 +73,15 @@ namespace Messaging {
if (message == _currentJoke.AnswerMessage.Key) { if (message == _currentJoke.AnswerMessage.Key) {
_sendButton.Lock(); _sendButton.Lock();
bool isCorrect = _currentJokeIndex != 0; bool isCorrect = _currentJokeIndex != 0;
Coroutine routine = StartCoroutine(ShowRealTexts(isCorrect));
StartCoroutine(SendRandomJoke(routine, sendJokeDelay));
if (isCorrect) { if (isCorrect) {
FindObjectOfType<ProgressBar>().AddProgress(); if (FindObjectOfType<ProgressBar>().AddProgress())
return;
} }
Coroutine routine = StartCoroutine(ShowRealTexts(isCorrect));
StartCoroutine(SendRandomJoke(routine, sendJokeDelay));
_lives.ResetLives();
} else { } else {
_lives.Wrong(); _lives.Wrong();
if (_lives.CurrentLives == 0) { if (_lives.CurrentLives == 0) {

View file

@ -4,5 +4,11 @@
EditorBuildSettings: EditorBuildSettings:
m_ObjectHideFlags: 0 m_ObjectHideFlags: 0
serializedVersion: 2 serializedVersion: 2
m_Scenes: [] m_Scenes:
- enabled: 1
path: Assets/Scenes/Menu.unity
guid: e24cf9e8e8ef8f343a240072cb9739d5
- enabled: 1
path: Assets/Scenes/Main.unity
guid: 38ae8f12759af39408f90a5c2301dd39
m_configObjects: {} m_configObjects: {}