add time controller and temporary add score

This commit is contained in:
naomi-rc 2022-05-15 16:01:00 -04:00
parent 264797d801
commit ae6687c8a4
5 changed files with 530 additions and 14 deletions

View File

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

View File

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

View File

@ -9,22 +9,21 @@ public class HighScoreManager : MonoBehaviour
private Transform entryTemplate;
private List<HighScoreEntry> highScoreEntryList;
private List<Transform> 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<HighScoreEntry>()
{
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<HighScores>(jsonString);
highScoreEntryList = highScores.highscoreEntryList;
highScoreEntryList.Sort((s2, s1) => s1.score.CompareTo(s2.score));
highScoreEntryTransformList = new List<Transform>();
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<HighScores>(jsonString);
highScores.highscoreEntryList.Add(highScoreEntry);
string json = JsonUtility.ToJson(highScores);
PlayerPrefs.SetString("highscoreTable", json);
PlayerPrefs.Save();
}
private class HighScores
{
public List<HighScoreEntry> 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");
}
}

View File

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

View File

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