Got scores the render

This commit is contained in:
2026-01-23 11:15:27 +00:00
parent ec84295699
commit 41515e4859
5 changed files with 199 additions and 3 deletions

View File

@@ -0,0 +1,81 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &4257747560028142092
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 8122599798421347575}
- component: {fileID: 4215216227097602698}
- component: {fileID: 8193573978652401978}
m_Layer: 5
m_Name: ExampleEntry
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &8122599798421347575
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4257747560028142092}
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: 0}
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: 500, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &4215216227097602698
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4257747560028142092}
m_CullTransparentMesh: 1
--- !u!114 &8193573978652401978
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4257747560028142092}
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: 0.19607843, g: 0.19607843, b: 0.19607843, 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: 12800000, guid: 76f1829e461ec70459be88ac25ce8be0, type: 3}
m_FontSize: 30
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 3
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: NEW TEXT - 88

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 2ed0ef16e79afea49b7a28fc81483677
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -1053,6 +1053,41 @@ MonoBehaviour:
m_VerticalOverflow: 1
m_LineSpacing: 1
m_Text:
--- !u!1 &6379508702057918853
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5125531201255756849}
m_Layer: 5
m_Name: Entries
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5125531201255756849
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6379508702057918853}
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: 9211929347905050682}
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: 100, y: 100}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!1 &6630605910866455705
GameObject:
m_ObjectHideFlags: 0
@@ -1201,7 +1236,7 @@ GameObject:
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
m_IsActive: 0
--- !u!224 &9211929347905050682
RectTransform:
m_ObjectHideFlags: 0
@@ -1219,6 +1254,7 @@ RectTransform:
- {fileID: 8803843352571052312}
- {fileID: 409311184415245482}
- {fileID: 6952955741488584038}
- {fileID: 5125531201255756849}
m_Father: {fileID: 834552907522022778}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0.5, y: 0.5}

View File

@@ -511,6 +511,30 @@ Canvas:
m_SortingLayerID: 0
m_SortingOrder: 0
m_TargetDisplay: 0
--- !u!114 &607967473 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 4797822364417701868, guid: e29ce1fe47a855c4e907d4312c9e9d6e,
type: 3}
m_PrefabInstance: {fileID: 1758685209}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: d199490a83bb2b844b9695cbf13b01ef, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!114 &675660038 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 2841827207845239115, guid: e29ce1fe47a855c4e907d4312c9e9d6e,
type: 3}
m_PrefabInstance: {fileID: 1758685209}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 4e29b1a8efbd4b44bb3f3716e73f07ff, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1001 &739366992
PrefabInstance:
m_ObjectHideFlags: 0
@@ -825,6 +849,11 @@ MonoBehaviour:
<ScoreText>k__BackingField: {fileID: 880466088}
<FinalScoreText>k__BackingField: {fileID: 1758685210}
<Spawner>k__BackingField: {fileID: 447617108}
<LeaderboardObject>k__BackingField: {fileID: 1758685211}
<LeaderboardEntryPrefab>k__BackingField: {fileID: 4257747560028142092, guid: 2ed0ef16e79afea49b7a28fc81483677,
type: 3}
<PlayerTextNameInput>k__BackingField: {fileID: 607967473}
<IDRKWhatToCallThis>k__BackingField: {fileID: 675660038}
--- !u!4 &1003288350 stripped
Transform:
m_CorrespondingSourceObject: {fileID: 4417313079524746681, guid: c0a03ce6c4f39224299267b83719ceb7,
@@ -1144,6 +1173,12 @@ MonoBehaviour:
m_Script: {fileID: 11500000, guid: 5f7201a12d95ffc409449d95f23cf332, type: 3}
m_Name:
m_EditorClassIdentifier:
--- !u!1 &1758685211 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 6379508702057918853, guid: e29ce1fe47a855c4e907d4312c9e9d6e,
type: 3}
m_PrefabInstance: {fileID: 1758685209}
m_PrefabAsset: {fileID: 0}
--- !u!1 &1909908769
GameObject:
m_ObjectHideFlags: 0

View File

@@ -1,4 +1,5 @@
using System.Collections.Generic;
using System.Linq;
using InterfaceOff.MainMenu;
using UnityEngine;
using UnityEngine.UI;
@@ -17,6 +18,11 @@ namespace InterfaceOff.WorldScene
[field: SerializeField] private Text ScoreText { get; set; }
[field: SerializeField] private Text FinalScoreText { get; set; }
[field: SerializeField] private WindowSpawner Spawner { get; set; }
[field: SerializeField] private GameObject LeaderboardObject { get; set; }
[field: SerializeField] private GameObject LeaderboardEntryPrefab { get; set; }
[field: SerializeField] private InputField PlayerTextNameInput { get; set; }
[field: SerializeField] private Button IDRKWhatToCallThis { get; set; }
private static List<PlayerScore> PlayerScores { get; } = new();
private static ScoreTracker Instance { get; set; }
@@ -35,7 +41,34 @@ namespace InterfaceOff.WorldScene
return Instance.Score;
}
private void Awake() => Instance = this;
private void RepaintLeaderboard()
{
foreach (Transform child in LeaderboardObject.transform)
{
Destroy(child.gameObject);
}
PlayerScore[] scores = PlayerScores
.OrderByDescending(playerScore => playerScore.Score)
.Take(10)
.ToArray();
for (int idx = 0; idx < scores.Length; idx++)
{
GameObject go = Instantiate(LeaderboardEntryPrefab, LeaderboardObject.transform);
RectTransform rect = go.GetComponent<RectTransform>();
Text entryText = go.GetComponent<Text>();
entryText.text = $"[{scores[idx].PlayerName}] - {scores[idx].Score}";
rect.anchoredPosition = new Vector2(0, 220 - ((idx + 1) * 40));
}
}
private void Awake()
{
RepaintLeaderboard();
Instance = this;
}
private void Update()
{
@@ -64,8 +97,12 @@ namespace InterfaceOff.WorldScene
StoredCurrentScore = true;
PlayerScores.Add(score);
RepaintLeaderboard();
PlayerTextNameInput.interactable = false;
IDRKWhatToCallThis.interactable = false;
Debug.Log($"Added score [{score.PlayerName} | {score.Score}]");
Debug.Log($"Added score [{score.PlayerName} | {score.Score:F1}]");
}
}