From ae6687c8a49654670f16ea27e10da1e2595ae620 Mon Sep 17 00:00:00 2001 From: naomi-rc Date: Sun, 15 May 2022 16:01:00 -0400 Subject: [PATCH] add time controller and temporary add score --- Assets/Scenes/Naomi_HighScoreMenu.unity | 2 +- Assets/Scenes/Naomi_alert.unity | 446 +++++++++++++++++++++++- Assets/Scripts/HighScoreManager.cs | 42 ++- Assets/Scripts/TimeController.cs | 43 +++ Assets/Scripts/TimeController.cs.meta | 11 + 5 files changed, 530 insertions(+), 14 deletions(-) create mode 100644 Assets/Scripts/TimeController.cs create mode 100644 Assets/Scripts/TimeController.cs.meta diff --git a/Assets/Scenes/Naomi_HighScoreMenu.unity b/Assets/Scenes/Naomi_HighScoreMenu.unity index b09f080..74e9157 100644 --- a/Assets/Scenes/Naomi_HighScoreMenu.unity +++ b/Assets/Scenes/Naomi_HighScoreMenu.unity @@ -1596,7 +1596,7 @@ MonoBehaviour: m_OnCullStateChanged: m_PersistentCalls: m_Calls: [] - m_text: Time + m_text: Time (s) m_isRightToLeft: 0 m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} m_sharedMaterial: {fileID: 2100000, guid: e73a58f6e2794ae7b1b7e50b7fb811b0, type: 2} diff --git a/Assets/Scenes/Naomi_alert.unity b/Assets/Scenes/Naomi_alert.unity index 32ba573..c7f04e1 100644 --- a/Assets/Scenes/Naomi_alert.unity +++ b/Assets/Scenes/Naomi_alert.unity @@ -953,6 +953,86 @@ Transform: m_Father: {fileID: 157775446} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &358421133 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 358421136} + - component: {fileID: 358421135} + - component: {fileID: 358421134} + m_Layer: 5 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &358421134 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 358421133} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, 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_FontData: + m_Font: {fileID: 10102, guid: 0000000000000000e000000000000000, type: 0} + m_FontSize: 16 + m_FontStyle: 1 + m_BestFit: 0 + m_MinSize: 0 + m_MaxSize: 82 + m_Alignment: 0 + m_AlignByGeometry: 0 + m_RichText: 1 + m_HorizontalOverflow: 0 + m_VerticalOverflow: 0 + m_LineSpacing: 1 + m_Text: New Text +--- !u!222 &358421135 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 358421133} + m_CullTransparentMesh: 1 +--- !u!224 &358421136 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 358421133} + 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: 936756933} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 99} + m_SizeDelta: {x: 277.7569, y: 98.1751} + m_Pivot: {x: 0.5, y: 0.5} --- !u!1 &372736630 GameObject: m_ObjectHideFlags: 0 @@ -2022,6 +2102,17 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 691100310} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!114 &700705836 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 6969840675499469968, guid: 486166ffed264a842ab4bc0affec38c4, type: 3} + m_PrefabInstance: {fileID: 1575226027} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 62899f850307741f2a39c98a8b639597, type: 3} + m_Name: + m_EditorClassIdentifier: --- !u!4 &720696128 stripped Transform: m_CorrespondingSourceObject: {fileID: 2532163286317640485, guid: 8363e42890b0ee54388a1163acec5f14, type: 3} @@ -3322,6 +3413,8 @@ RectTransform: m_Children: - {fileID: 1050733192} - {fileID: 1540017204} + - {fileID: 1560046535} + - {fileID: 358421136} m_Father: {fileID: 0} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -4274,11 +4367,87 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1091733479} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1156723848 stripped +--- !u!1 &1149109591 GameObject: - m_CorrespondingSourceObject: {fileID: 3701006520152938729, guid: a4e8f1f5394b65e42b322001962ce4cd, type: 3} - m_PrefabInstance: {fileID: 3701006519159811169} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1149109593} + - component: {fileID: 1149109592} + - component: {fileID: 1149109595} + - component: {fileID: 1149109594} + m_Layer: 0 + m_Name: GameManager + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1149109592 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1149109591} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da0be35ca0d6da5469b4cfb8738252e9, type: 3} + m_Name: + m_EditorClassIdentifier: + gameManager: {fileID: 1149109594} + timeController: {fileID: 1149109595} +--- !u!4 &1149109593 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1149109591} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 615.16223, y: 311.46265, z: 2.689764} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 25 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1149109594 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1149109591} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: cbbe9406db76ed447bdc7c36883ee139, type: 3} + m_Name: + m_EditorClassIdentifier: + controls: {fileID: 700705836} + cannonList: [] + uiController: {fileID: 0} + worldSwitcher: {fileID: 0} + state: 0 + points: 0 + k__BackingField: 0 + IDLayerList: +--- !u!114 &1149109595 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1149109591} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 82c299c9980a87243891df181952e8b9, type: 3} + m_Name: + m_EditorClassIdentifier: + timeCounter: {fileID: 358421134} --- !u!95 &1156723849 stripped Animator: m_CorrespondingSourceObject: {fileID: 3701006520152938728, guid: a4e8f1f5394b65e42b322001962ce4cd, type: 3} @@ -5324,6 +5493,140 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1556790003} m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1560046534 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1560046535} + - component: {fileID: 1560046538} + - component: {fileID: 1560046537} + - component: {fileID: 1560046536} + m_Layer: 5 + m_Name: Button + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1560046535 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1560046534} + 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: 1932127448} + m_Father: {fileID: 936756933} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 0.5, y: 0.5} + m_AnchorMax: {x: 0.5, y: 0.5} + m_AnchoredPosition: {x: 0, y: 0} + m_SizeDelta: {x: 160, y: 30} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &1560046536 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1560046534} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Navigation: + m_Mode: 3 + m_WrapAround: 0 + m_SelectOnUp: {fileID: 0} + m_SelectOnDown: {fileID: 0} + m_SelectOnLeft: {fileID: 0} + m_SelectOnRight: {fileID: 0} + m_Transition: 1 + m_Colors: + m_NormalColor: {r: 1, g: 1, b: 1, a: 1} + m_HighlightedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_PressedColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 1} + m_SelectedColor: {r: 0.9607843, g: 0.9607843, b: 0.9607843, a: 1} + m_DisabledColor: {r: 0.78431374, g: 0.78431374, b: 0.78431374, a: 0.5019608} + m_ColorMultiplier: 1 + m_FadeDuration: 0.1 + m_SpriteState: + m_HighlightedSprite: {fileID: 0} + m_PressedSprite: {fileID: 0} + m_SelectedSprite: {fileID: 0} + m_DisabledSprite: {fileID: 0} + m_AnimationTriggers: + m_NormalTrigger: Normal + m_HighlightedTrigger: Highlighted + m_PressedTrigger: Pressed + m_SelectedTrigger: Selected + m_DisabledTrigger: Disabled + m_Interactable: 1 + m_TargetGraphic: {fileID: 1560046537} + m_OnClick: + m_PersistentCalls: + m_Calls: + - m_Target: {fileID: 1149109592} + m_TargetAssemblyTypeName: HighScoreManager, Assembly-CSharp + m_MethodName: TempGameOver + 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 &1560046537 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1560046534} + 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: 10905, guid: 0000000000000000f000000000000000, type: 0} + m_Type: 1 + 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 &1560046538 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1560046534} + m_CullTransparentMesh: 1 --- !u!1001 &1575226027 PrefabInstance: m_ObjectHideFlags: 0 @@ -16928,6 +17231,141 @@ Transform: m_Father: {fileID: 416476323} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1932127447 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1932127448} + - component: {fileID: 1932127450} + - component: {fileID: 1932127449} + m_Layer: 5 + m_Name: Text (TMP) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &1932127448 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1932127447} + 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: 1560046535} + m_RootOrder: 0 + 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 &1932127449 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1932127447} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f4688fdb7df04437aeb418b961361dc5, 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_text: Button + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_sharedMaterial: {fileID: 2180264, guid: 8f586378b4e144a9851e7b34d9b748ee, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4281479730 + m_fontColor: {r: 0.19607843, g: 0.19607843, b: 0.19607843, a: 1} + m_enableVertexGradient: 0 + m_colorMode: 3 + m_fontColorGradient: + topLeft: {r: 1, g: 1, b: 1, a: 1} + topRight: {r: 1, g: 1, b: 1, a: 1} + bottomLeft: {r: 1, g: 1, b: 1, a: 1} + bottomRight: {r: 1, g: 1, b: 1, a: 1} + m_fontColorGradientPreset: {fileID: 0} + m_spriteAsset: {fileID: 0} + m_tintAllSprites: 0 + m_StyleSheet: {fileID: 0} + m_TextStyleHashCode: -1183493901 + m_overrideHtmlColors: 0 + m_faceColor: + serializedVersion: 2 + rgba: 4294967295 + m_fontSize: 24 + m_fontSizeBase: 24 + m_fontWeight: 400 + m_enableAutoSizing: 0 + m_fontSizeMin: 18 + m_fontSizeMax: 72 + m_fontStyle: 0 + m_HorizontalAlignment: 2 + m_VerticalAlignment: 512 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_enableWordWrapping: 1 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 1 + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_parseCtrlCharacters: 1 + m_isOrthographic: 1 + m_isCullingEnabled: 0 + m_horizontalMapping: 0 + m_verticalMapping: 0 + m_uvLineOffset: 0 + m_geometrySortingOrder: 0 + m_IsTextObjectScaleStatic: 0 + m_VertexBufferAutoSizeReduction: 0 + m_useMaxVisibleDescender: 1 + m_pageToDisplay: 1 + m_margin: {x: 0, y: 0, z: 0, w: 0} + m_isUsingLegacyAnimationComponent: 0 + m_isVolumetricText: 0 + m_hasFontAssetChanged: 0 + m_baseMaterial: {fileID: 0} + m_maskOffset: {x: 0, y: 0, z: 0, w: 0} +--- !u!222 &1932127450 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1932127447} + m_CullTransparentMesh: 1 --- !u!1 &1939726338 GameObject: m_ObjectHideFlags: 0 @@ -17775,7 +18213,7 @@ PrefabInstance: - target: {fileID: 2532163286317640484, guid: 8363e42890b0ee54388a1163acec5f14, type: 3} propertyPath: EnemyAlert value: - objectReference: {fileID: 1156723848} + objectReference: {fileID: 0} - target: {fileID: 2532163286317640484, guid: 8363e42890b0ee54388a1163acec5f14, type: 3} propertyPath: spawnPoints.Array.data[0] value: diff --git a/Assets/Scripts/HighScoreManager.cs b/Assets/Scripts/HighScoreManager.cs index d9941b3..76236f3 100644 --- a/Assets/Scripts/HighScoreManager.cs +++ b/Assets/Scripts/HighScoreManager.cs @@ -9,22 +9,21 @@ public class HighScoreManager : MonoBehaviour private Transform entryTemplate; private List highScoreEntryList; private List highScoreEntryTransformList; + [SerializeField] GameManager gameManager; + [SerializeField] TimeController timeController; + //To add new score: AddHighScoreEntry(10000, "60"); private void Awake() { entryContainer = transform.Find("EntryContainer"); entryTemplate = entryContainer.Find("EntryTemplate"); entryTemplate.gameObject.SetActive(false); - - highScoreEntryList = new List() - { - new HighScoreEntry{score = 1000, time = "60"}, - new HighScoreEntry{score = 9000, time = "60"}, - new HighScoreEntry{score = 3000, time = "60"}, - new HighScoreEntry{score = 8000, time = "60"}, - }; - highScoreEntryList.Sort((s1, s2) => s1.score.CompareTo(s2.score)); + + string jsonString = PlayerPrefs.GetString("highscoreTable"); + HighScores highScores = JsonUtility.FromJson(jsonString); + highScoreEntryList = highScores.highscoreEntryList; + highScoreEntryList.Sort((s2, s1) => s1.score.CompareTo(s2.score)); highScoreEntryTransformList = new List(); foreach(HighScoreEntry highScoreEntry in highScoreEntryList) @@ -48,11 +47,36 @@ public class HighScoreManager : MonoBehaviour transformList.Add(entryTransform); } + + private void AddHighScoreEntry(int score, string time) + { + HighScoreEntry highScoreEntry = new HighScoreEntry { score = score, time = time }; + string jsonString = PlayerPrefs.GetString("highscoreTable"); + HighScores highScores = JsonUtility.FromJson(jsonString); + highScores.highscoreEntryList.Add(highScoreEntry); + + string json = JsonUtility.ToJson(highScores); + PlayerPrefs.SetString("highscoreTable", json); + PlayerPrefs.Save(); + } + + private class HighScores + { + public List highscoreEntryList; + } + + [System.Serializable] private class HighScoreEntry { public int score; public string time; } + + public void TempGameOver() + { + AddHighScoreEntry((int)gameManager.GetPoints(), timeController.GetTime()); + Debug.Log("Added entry"); + } } diff --git a/Assets/Scripts/TimeController.cs b/Assets/Scripts/TimeController.cs new file mode 100644 index 0000000..27ec59b --- /dev/null +++ b/Assets/Scripts/TimeController.cs @@ -0,0 +1,43 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; +using UnityEngine.UI; + +public class TimeController : MonoBehaviour +{ + public Text timeCounter; + private float startTime; + private bool finishedGame; + + void Start() + { + startTime = Time.time; + timeCounter.color = Color.white; + finishedGame = false; + timeCounter.text = "Time 00.00.00"; + } + + void Update() + { + if (finishedGame) + return; + float time = Time.time - startTime; + float minutesValue = ((int)time / 60); + string minutes = minutesValue < 10 ? $"0{minutesValue}" : minutesValue.ToString(); + float secondsValue = (time % 60); + string seconds = (secondsValue < 10) ? $"0{secondsValue.ToString("f2")}" : secondsValue.ToString("f2"); + timeCounter.text = "Time " + minutes + "." + seconds; + } + + public string GetTime() + { + return timeCounter.text; + } + + + public void Finish() + { + finishedGame = true; + timeCounter.color = Color.yellow; + } +} diff --git a/Assets/Scripts/TimeController.cs.meta b/Assets/Scripts/TimeController.cs.meta new file mode 100644 index 0000000..d388fd9 --- /dev/null +++ b/Assets/Scripts/TimeController.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 82c299c9980a87243891df181952e8b9 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: