diff --git a/RunningLateGame/Assets/Scenes/Playgrounds/Playground.unity b/RunningLateGame/Assets/Scenes/Playgrounds/Playground.unity index ad855be..04b3138 100644 --- a/RunningLateGame/Assets/Scenes/Playgrounds/Playground.unity +++ b/RunningLateGame/Assets/Scenes/Playgrounds/Playground.unity @@ -122,154 +122,6 @@ NavMeshSettings: debug: m_Flags: 0 m_NavMeshData: {fileID: 0} ---- !u!1001 &1120089 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - serializedVersion: 3 - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 974238578668270704, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_Layer - value: 6 - objectReference: {fileID: 0} - - target: {fileID: 974238578668270716, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_Actions - value: - objectReference: {fileID: -944628639613478452, guid: 4419d82f33d36e848b3ed5af4c8da37e, - type: 3} - - target: {fileID: 974238578668270716, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_Enabled - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 2119775930974504096, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_LocalPosition.x - value: -11.310009 - objectReference: {fileID: 0} - - target: {fileID: 2119775930974504096, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_LocalPosition.y - value: 14.179999 - objectReference: {fileID: 0} - - target: {fileID: 2119775930974504096, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_LocalPosition.z - value: -37.019993 - objectReference: {fileID: 0} - - target: {fileID: 2119775930974504096, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_LocalRotation.w - value: -0.9914804 - objectReference: {fileID: 0} - - target: {fileID: 2119775930974504096, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2119775930974504096, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_LocalRotation.y - value: 0.13025612 - objectReference: {fileID: 0} - - target: {fileID: 2119775930974504096, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 2119775930974504096, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 2119775930974504096, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: -374.969 - objectReference: {fileID: 0} - - target: {fileID: 2119775930974504096, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 3128949090649374765, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_TagString - value: Player - objectReference: {fileID: 0} - - target: {fileID: 3203261902030644824, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_LocalPosition.x - value: 0.20000017 - objectReference: {fileID: 0} - - target: {fileID: 3203261902030644824, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_LocalPosition.y - value: 0.4449997 - objectReference: {fileID: 0} - - target: {fileID: 3203261902030644824, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_LocalPosition.z - value: -3.9999988 - objectReference: {fileID: 0} - - target: {fileID: 5542111180780342640, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_BackGroundColor.a - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 5542111180780342640, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_BackGroundColor.b - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542111180780342640, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_BackGroundColor.g - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542111180780342640, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_BackGroundColor.r - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 5542111180780342642, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_TagString - value: MainCamera - objectReference: {fileID: 0} - - target: {fileID: 5542111180780342647, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_LocalPosition.x - value: 0.20000017 - objectReference: {fileID: 0} - - target: {fileID: 5542111180780342647, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_LocalPosition.y - value: 0.4449997 - objectReference: {fileID: 0} - - target: {fileID: 5542111180780342647, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_LocalPosition.z - value: -3.9999988 - objectReference: {fileID: 0} - - target: {fileID: 8047161636021232021, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - propertyPath: m_Name - value: NestedParentArmature_Unpack - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_RemovedGameObjects: [] - m_AddedGameObjects: [] - m_AddedComponents: - - targetCorrespondingSourceObject: {fileID: 974238578668270704, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - insertIndex: -1 - addedObject: {fileID: 491771526} - m_SourcePrefab: {fileID: 100100000, guid: c708a3b79cd542b42bbfedb17e213bc1, type: 3} --- !u!1 &13596640 GameObject: m_ObjectHideFlags: 0 @@ -7350,29 +7202,6 @@ Mesh: offset: 0 size: 0 path: ---- !u!1 &491771518 stripped -GameObject: - m_CorrespondingSourceObject: {fileID: 974238578668270704, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - m_PrefabInstance: {fileID: 1120089} - m_PrefabAsset: {fileID: 0} ---- !u!114 &491771526 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 491771518} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 4995ad0b66292c144ab3819605824571, type: 3} - m_Name: - m_EditorClassIdentifier: - playerPosition: {fileID: 1013448445} - interactableDistance: 2 - raycastLayers: - serializedVersion: 2 - m_Bits: 439 --- !u!43 &554144876 Mesh: m_ObjectHideFlags: 0 @@ -9164,12 +8993,6 @@ Mesh: offset: 0 size: 0 path: ---- !u!4 &1013448445 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 5542111180780342647, guid: c708a3b79cd542b42bbfedb17e213bc1, - type: 3} - m_PrefabInstance: {fileID: 1120089} - m_PrefabAsset: {fileID: 0} --- !u!1 &1060921175 GameObject: m_ObjectHideFlags: 0 @@ -25892,6 +25715,8 @@ MonoBehaviour: m_EditorClassIdentifier: guiInteractionPromptObject: {fileID: 1226619922} guiHudObject: {fileID: 618797798} + guiCompletedMenuObject: {fileID: 395649654} + player: {fileID: 1934526679} --- !u!4 &1766444915 Transform: m_ObjectHideFlags: 0 @@ -26807,6 +26632,80 @@ MonoBehaviour: sourceAsset: {fileID: 9197481963319205126, guid: b5ee53c3e1d1258499a4641d355c972a, type: 3} m_SortingOrder: 0 +--- !u!1001 &1934526678 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + serializedVersion: 3 + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1276608354021537599, guid: fede53ad5812a1046bf12a85cacb875a, + type: 3} + propertyPath: m_LocalPosition.x + value: -10.63 + objectReference: {fileID: 0} + - target: {fileID: 1276608354021537599, guid: fede53ad5812a1046bf12a85cacb875a, + type: 3} + propertyPath: m_LocalPosition.y + value: 14.54 + objectReference: {fileID: 0} + - target: {fileID: 1276608354021537599, guid: fede53ad5812a1046bf12a85cacb875a, + type: 3} + propertyPath: m_LocalPosition.z + value: -37.36 + objectReference: {fileID: 0} + - target: {fileID: 1276608354021537599, guid: fede53ad5812a1046bf12a85cacb875a, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1276608354021537599, guid: fede53ad5812a1046bf12a85cacb875a, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1276608354021537599, guid: fede53ad5812a1046bf12a85cacb875a, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1276608354021537599, guid: fede53ad5812a1046bf12a85cacb875a, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1276608354021537599, guid: fede53ad5812a1046bf12a85cacb875a, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1276608354021537599, guid: fede53ad5812a1046bf12a85cacb875a, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1276608354021537599, guid: fede53ad5812a1046bf12a85cacb875a, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 7550015751290207618, guid: fede53ad5812a1046bf12a85cacb875a, + type: 3} + propertyPath: m_Name + value: player + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_RemovedGameObjects: [] + m_AddedGameObjects: [] + m_AddedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: fede53ad5812a1046bf12a85cacb875a, type: 3} +--- !u!1 &1934526679 stripped +GameObject: + m_CorrespondingSourceObject: {fileID: 7550015751290207618, guid: fede53ad5812a1046bf12a85cacb875a, + type: 3} + m_PrefabInstance: {fileID: 1934526678} + m_PrefabAsset: {fileID: 0} --- !u!43 &2033145775 Mesh: m_ObjectHideFlags: 0 @@ -27146,7 +27045,7 @@ SceneRoots: - {fileID: 438254297} - {fileID: 567431775} - {fileID: 1656492132} - - {fileID: 1120089} + - {fileID: 1934526678} - {fileID: 1060921176} - {fileID: 596429548} - {fileID: 897146492} diff --git a/RunningLateGame/Assets/Scripts/GameManager.cs b/RunningLateGame/Assets/Scripts/GameManager.cs index 729a83b..64d16b0 100644 --- a/RunningLateGame/Assets/Scripts/GameManager.cs +++ b/RunningLateGame/Assets/Scripts/GameManager.cs @@ -56,6 +56,11 @@ public enum DisplayState /// public GameObject player; + /// + /// color for the stopwatch when the player is running late + /// + private readonly Color _colorRunningLateRed = new(193, 39, 45); + /// /// float to keep track of the elapsed play/run/speeder time /// @@ -149,12 +154,23 @@ private void Start() private void Update() { if (Paused) return; - _elapsedRunTime += Time.deltaTime; - var minutes = _elapsedRunTime / 60; - var seconds = _elapsedRunTime % 60; - var milliseconds = _elapsedRunTime * 1000 % 1000; - _uiLabelStopwatch.text = $"{minutes:00}:{seconds:00}.{milliseconds:000}"; + + var displayedElapsedRunTime = _elapsedRunTime; + var stopwatchPrefix = ""; + + if (_elapsedRunTime > 299.9999999999f) + { + stopwatchPrefix = "-"; + displayedElapsedRunTime -= 10f; + _uiLabelStopwatch.style.color = _colorRunningLateRed; + } + + var minutes = displayedElapsedRunTime / 60; + var seconds = displayedElapsedRunTime % 60; + var milliseconds = displayedElapsedRunTime * 1000 % 1000; + + _uiLabelStopwatch.text = $"{stopwatchPrefix}{minutes:00}:{seconds:00}.{milliseconds:000}"; } /// @@ -459,6 +475,7 @@ public void SetInteractionPrompt(string prompt) /// public void ClearInteractionPrompt() { + _uiLabelInteractionPrompt.text = ""; _uiLabelInteractionPrompt.visible = false; } @@ -480,8 +497,8 @@ public void ProperlyEndRun() // scoring parameters const float maxScore = 1000f; - const float maxTimeForMaxScore = 15f; // 2.5 minutes - const float maxTimeForMinScore = 180f; // 5 minutes + const float maxTimeForMaxScore = 120f; // 2.5 minutes + const float maxTimeForMinScore = 300f; // 5 minutes var score = _elapsedRunTime switch { diff --git a/RunningLateGame/Assets/Scripts/Player.cs b/RunningLateGame/Assets/Scripts/Player.cs index 8cbabd3..ebec258 100644 --- a/RunningLateGame/Assets/Scripts/Player.cs +++ b/RunningLateGame/Assets/Scripts/Player.cs @@ -74,9 +74,21 @@ private void Update() if (!_raycast) return; + var interactable = _hit.collider.GetComponent(); + if (!interactable) + { + // Debug.Log("not looking at an interactable object"); + GameManager.Instance.ClearInteractionPrompt(); + return; + } + // show an interaction prompt if we're looking at an interactable object - var prompt = _hit.collider.GetComponent()?.interactionPrompt; - if (prompt != "") Debug.Log(prompt); + var prompt = interactable.interactionPrompt; + // Debug.Log(prompt); + if (prompt != "") + GameManager.Instance.SetInteractionPrompt(prompt); + else + GameManager.Instance.ClearInteractionPrompt(); } ///