diff --git a/Assets/Scenes/GamePlayer.unity b/Assets/Scenes/GamePlayer.unity index 76fd824..0980f46 100644 --- a/Assets/Scenes/GamePlayer.unity +++ b/Assets/Scenes/GamePlayer.unity @@ -654,6 +654,190 @@ MonoBehaviour: invert: 0 addMore: {r: 0, g: 0, b: 0, a: 0} reverseAdd: 0 +--- !u!1 &116559983 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 116559984} + - component: {fileID: 116559988} + - component: {fileID: 116559987} + - component: {fileID: 116559986} + - component: {fileID: 116559989} + - component: {fileID: 116559985} + m_Layer: 5 + m_Name: LevelText + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!224 &116559984 +RectTransform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 116559983} + 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: 1811565639} + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} + m_AnchorMin: {x: 1, y: 0} + m_AnchorMax: {x: 1, y: 0} + m_AnchoredPosition: {x: -260, y: 85} + m_SizeDelta: {x: 500, y: 150} + m_Pivot: {x: 0.5, y: 0.5} +--- !u!114 &116559985 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 116559983} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 73b30df2b3a7144b99b75ce70168fd50, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::CustomColorObject + type: 4 + invert: 0 + addMore: {r: 0, g: 0, b: 0, a: 0} + reverseAdd: 0 +--- !u!114 &116559986 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 116559983} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 8e4353c3e16b539839e7f8d301ca5e38, type: 3} + m_Name: + m_EditorClassIdentifier: + uiName: LevelText + canDrag: 0 +--- !u!114 &116559987 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 116559983} + 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: 'Level: 0 + + XP: 0/0 (0%)' + m_isRightToLeft: 0 + m_fontAsset: {fileID: 11400000, guid: 4fd546dd0900395408d2de20f5025882, type: 2} + m_sharedMaterial: {fileID: -1476194838487357290, guid: 4fd546dd0900395408d2de20f5025882, type: 2} + m_fontSharedMaterials: [] + m_fontMaterial: {fileID: 0} + m_fontMaterials: [] + m_fontColor32: + serializedVersion: 2 + rgba: 4294967295 + m_fontColor: {r: 1, g: 1, b: 1, 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: 36 + m_fontSizeBase: 36 + m_fontWeight: 400 + m_enableAutoSizing: 1 + m_fontSizeMin: 1 + m_fontSizeMax: 36 + m_fontStyle: 0 + m_HorizontalAlignment: 4 + m_VerticalAlignment: 1024 + m_textAlignment: 65535 + m_characterSpacing: 0 + m_characterHorizontalScale: 1 + m_wordSpacing: 0 + m_lineSpacing: 0 + m_lineSpacingMax: 0 + m_paragraphSpacing: 0 + m_charWidthMaxAdj: 0 + m_TextWrappingMode: 0 + m_wordWrappingRatios: 0.4 + m_overflowMode: 0 + m_linkedTextComponent: {fileID: 0} + parentLinkedComponent: {fileID: 0} + m_enableKerning: 0 + m_ActiveFontFeatures: 6e72656b + m_enableExtraPadding: 0 + checkPaddingRequired: 0 + m_isRichText: 1 + m_EmojiFallbackSupport: 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 &116559988 +CanvasRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 116559983} + m_CullTransparentMesh: 1 +--- !u!114 &116559989 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 116559983} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9213dca44899f70ffb449db66c6d1764, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::IgnoreRaycast --- !u!1 &129477182 GameObject: m_ObjectHideFlags: 0 @@ -844,8 +1028,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 141.875, y: -17.505} - m_SizeDelta: {x: 199.75, y: 35.01} + m_AnchoredPosition: {x: 141.88, y: -17.505} + m_SizeDelta: {x: 199.76, y: 35.01} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &145624682 MonoBehaviour: @@ -2014,8 +2198,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 84.7, y: -17.505} - m_SizeDelta: {x: 85.4, y: 35.01} + m_AnchoredPosition: {x: 84.705, y: -17.505} + m_SizeDelta: {x: 85.41, y: 35.01} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &431733395 MonoBehaviour: @@ -3222,6 +3406,7 @@ MonoBehaviour: backgroundMusic: {fileID: 1625416039} overlayRender: {fileID: 450099081} berryParent: {fileID: 157908646} + levelText: {fileID: 116559987} mobileButtons: {fileID: 872476494} pauseButton: {fileID: 1577031227} restartButton: {fileID: 34767206} @@ -5093,8 +5278,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 268.63, y: -50} - m_SizeDelta: {x: 127.399994, y: 35.01} + m_AnchoredPosition: {x: 268.625, y: -50} + m_SizeDelta: {x: 127.41, y: 35.01} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1050845825 MonoBehaviour: @@ -5863,7 +6048,7 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 100.42501, y: -50} + m_AnchoredPosition: {x: 100.415, y: -50} m_SizeDelta: {x: 179.01, y: 35.01} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1203494972 @@ -6310,6 +6495,7 @@ GameObject: - component: {fileID: 1527994351} - component: {fileID: 1527994350} - component: {fileID: 1527994352} + - component: {fileID: 1527994354} - component: {fileID: 1527994353} m_Layer: 5 m_Name: CoinsText @@ -6467,6 +6653,18 @@ MonoBehaviour: invert: 0 addMore: {r: 0, g: 0, b: 0, a: 0} reverseAdd: 0 +--- !u!114 &1527994354 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1527994348} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9213dca44899f70ffb449db66c6d1764, type: 3} + m_Name: + m_EditorClassIdentifier: Assembly-CSharp::IgnoreRaycast --- !u!1 &1536856147 GameObject: m_ObjectHideFlags: 0 @@ -7402,8 +7600,8 @@ RectTransform: m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} m_AnchorMin: {x: 0, y: 1} m_AnchorMax: {x: 0, y: 1} - m_AnchoredPosition: {x: 468.20502, y: -50} - m_SizeDelta: {x: 241.75, y: 35.01} + m_AnchoredPosition: {x: 468.21002, y: -50} + m_SizeDelta: {x: 241.76, y: 35.01} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1629369750 MonoBehaviour: @@ -7622,9 +7820,9 @@ RectTransform: - {fileID: 1960803694} m_Father: {fileID: 302151017} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} - m_AnchorMin: {x: 1, y: 0} - m_AnchorMax: {x: 1, y: 0} - m_AnchoredPosition: {x: -97.5, y: 47.5} + m_AnchorMin: {x: 1, y: 1} + m_AnchorMax: {x: 1, y: 1} + m_AnchoredPosition: {x: -97.5, y: -47.5} m_SizeDelta: {x: 175, y: 75} m_Pivot: {x: 0.5, y: 0.5} --- !u!114 &1639562821 @@ -7917,6 +8115,7 @@ RectTransform: - {fileID: 1606868531} - {fileID: 497996346} - {fileID: 1527994349} + - {fileID: 116559984} - {fileID: 449518475} m_Father: {fileID: 0} m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/Assets/Scripts/GamePlayer.cs b/Assets/Scripts/GamePlayer.cs index 74b8162..910ee83 100644 --- a/Assets/Scripts/GamePlayer.cs +++ b/Assets/Scripts/GamePlayer.cs @@ -1,4 +1,5 @@ -using System.Linq; +using System; +using System.Linq; using System.Numerics; using TMPro; using UnityEngine; @@ -40,6 +41,7 @@ public class GamePlayer : MonoBehaviour [SerializeField] private SpriteRenderer overlayRender; private float lastMoveTime; [SerializeField] private GameObject berryParent; + [SerializeField] private TMP_Text levelText; [SerializeField] private GameObject mobileButtons; [SerializeField] private Button pauseButton; @@ -324,7 +326,7 @@ public class GamePlayer : MonoBehaviour { nextSpawnTime = Time.time + 1f / spawnRate; } - float spawnProbability = Random.value; + float spawnProbability = UnityEngine.Random.value; if (!pausePanel.activeSelf) { GameObject newBerry = new("Berry"); @@ -375,7 +377,7 @@ public class GamePlayer : MonoBehaviour spriteRenderer.sortingOrder = -5; float screenWidth = Camera.main.orthographicSize * 2 * Camera.main.aspect; - float spawnPositionX = Random.Range(-screenWidth / 2.17f, screenWidth / 2.17f); + float spawnPositionX = UnityEngine.Random.Range(-screenWidth / 2.17f, screenWidth / 2.17f); newBerry.transform.position = new UnityEngine.Vector3(spawnPositionX, Camera.main.orthographicSize + 1f, 0f); Rigidbody2D rb = newBerry.AddComponent(); @@ -561,7 +563,7 @@ public class GamePlayer : MonoBehaviour () => DoSpeedyBerry(randomBerry), () => DoAntiBerry(randomBerry) }; - funcs[Random.Range(0, funcs.Length)](); + funcs[UnityEngine.Random.Range(0, funcs.Length)](); } if (speedyLeft > 0) { @@ -674,6 +676,8 @@ public class GamePlayer : MonoBehaviour if (Application.isMobilePlatform) restartButton.interactable = score != 0; if (DiscordRPCHandler.Instance != null) DiscordRPCHandler.Instance.UpdateRPC("Playing in normal mode", $"Score: {Tools.FormatWithCommas(score)} | High Score: {Tools.FormatWithCommas(highscore)}"); + var (_, level, currentXpInLevel, totalXpForLevel, percentDone) = Tools.GetLevelInfo(); + levelText.text = $"Level: {level}\nXP: {currentXpInLevel}/{totalXpForLevel} ({Math.Floor(percentDone)}%)"; } void CheckIfGrounded()