很多更新,服务端连接,新UI和系统

This commit is contained in:
2026-04-17 20:09:41 +08:00
parent 85dfff28dd
commit e0bc0bbf08
910 changed files with 65191 additions and 1291 deletions
@@ -0,0 +1,46 @@
using UnityEngine;
public class rankingList : MonoBehaviour
{
[Header("prefab")]
public GameObject rkl_prefab;
public Transform rkl_parent;
private GameObject currentInstance;
public void Open(string songId, string songName)
{
if (rkl_prefab == null || rkl_parent == null)
{
Debug.LogWarning("[rankingList] Missing prefab or parent reference.");
return;
}
if (currentInstance == null)
{
currentInstance = Instantiate(rkl_prefab, rkl_parent);
}
var listPrefab = currentInstance.GetComponent<rankingListPrefab>();
if (listPrefab == null)
{
Debug.LogWarning("[rankingList] rankingListPrefab component missing.");
return;
}
listPrefab.Bind(songId, songName, this);
}
public void NotifyClosed(rankingListPrefab prefab)
{
if (prefab == null)
{
return;
}
if (currentInstance == prefab.gameObject)
{
currentInstance = null;
}
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: 83b124015738c654aa6d26ea238726fd
@@ -0,0 +1,313 @@
using System;
using System.Globalization;
using System.Threading.Tasks;
using GameServer.Client;
using UnityEngine;
using UnityEngine.UI;
public class rankingListPrefab : MonoBehaviour
{
private const string RoomRankingServerText = "根据房间成绩动态排名,所在服务端:雅莉梦璃高新产业园";
[Header("shutbutton")]
public Button shutbutton;
[Header("texts")]
public Text titleText;
public Text yourPositionText;
public Text versionandServer;
public Text rankingListType;
[Header("objs")]
public GameObject sv;
public Text emptyText;
[Header("RK Prefabs")]
public GameObject rkPrefab;
public GameObject rkParent;
[Header("sprite List")]
public Sprite[] btmSprites;
private string currentSongId;
private string currentSongName;
private rankingList owner;
private bool isLoading;
private bool isRoomRanking;
private LeaderboardData roomRankingData;
private string roomRankingLocalSteamId;
private void Awake()
{
if (shutbutton != null)
{
shutbutton.onClick.AddListener(HandleCloseClicked);
}
}
private void OnDestroy()
{
if (shutbutton != null)
{
shutbutton.onClick.RemoveListener(HandleCloseClicked);
}
}
public void Bind(string songId, string songName, rankingList sourceOwner)
{
currentSongId = songId;
currentSongName = songName;
owner = sourceOwner;
isRoomRanking = false;
roomRankingData = null;
roomRankingLocalSteamId = null;
if (titleText != null)
{
titleText.text = string.IsNullOrWhiteSpace(currentSongName) ? currentSongId : currentSongName;
}
ApplyListMeta(null);
if (!isLoading)
{
_ = RefreshAsync();
}
}
public void BindRoomRanking(string songId, string songName, LeaderboardData data, string localSteamId)
{
currentSongId = songId;
currentSongName = songName;
owner = null;
isRoomRanking = true;
roomRankingData = data;
roomRankingLocalSteamId = localSteamId;
if (titleText != null)
{
titleText.text = string.IsNullOrWhiteSpace(currentSongName) ? currentSongId : currentSongName;
}
ApplyListMeta(roomRankingData);
ClearRows();
if (roomRankingData == null || roomRankingData.rankings == null || roomRankingData.rankings.Count == 0)
{
SetEmptyState(true, "房间排行榜暂无数据");
return;
}
RenderRows(roomRankingData);
}
private async Task RefreshAsync()
{
isLoading = true;
ClearRows();
try
{
ApplyListMeta(null);
NetworkManager nm = NetworkManager.Instance;
if (nm == null)
{
SetEmptyState(true, "排行榜服务不可用");
return;
}
LeaderboardData data = null;
LeaderboardCacheService cache = LeaderboardCacheService.Instance;
if (cache != null && cache.TryGetCached(currentSongId, out LeaderboardData cached))
{
data = cached;
}
else
{
SetEmptyState(false, "正在拉取排行榜...");
data = await nm.GetLeaderboard(currentSongId);
}
if (data == null || data.rankings == null || data.rankings.Count == 0)
{
SetEmptyState(true, "排行榜暂无数据");
return;
}
RenderRows(data);
}
catch (Exception ex)
{
Debug.LogWarning($"[rankingListPrefab] Failed to load leaderboard: {ex.Message}");
SetEmptyState(true, "拉取排行榜失败");
}
finally
{
isLoading = false;
}
}
private void RenderRows(LeaderboardData data)
{
SetEmptyState(false, string.Empty);
ApplyListMeta(data);
for (int i = 0; i < data.rankings.Count; i++)
{
GameObject rowObj = Instantiate(rkPrefab, rkParent.transform);
rkPrefab row = rowObj.GetComponent<rkPrefab>();
if (row == null)
{
continue;
}
LeaderboardEntry entry = data.rankings[i];
string formattedSubmitTime = FormatSubmitTime(entry);
if (isRoomRanking)
{
row.BindRoomRanking(entry, ResolveRankSprite(entry.rank), formattedSubmitTime);
}
else
{
row.Bind(entry, ResolveRankSprite(entry.rank), formattedSubmitTime);
}
}
}
private void HandleCloseClicked()
{
owner?.NotifyClosed(this);
Destroy(gameObject);
}
private void ClearRows()
{
if (rkParent == null)
{
return;
}
for (int i = rkParent.transform.childCount - 1; i >= 0; i--)
{
Destroy(rkParent.transform.GetChild(i).gameObject);
}
}
private void SetEmptyState(bool showEmpty, string message)
{
if (sv != null)
{
sv.SetActive(!showEmpty);
}
if (emptyText != null)
{
emptyText.gameObject.SetActive(showEmpty);
if (!string.IsNullOrEmpty(message))
{
emptyText.text = message;
}
}
}
private Sprite ResolveRankSprite(int rank)
{
if (btmSprites == null || btmSprites.Length == 0)
{
return null;
}
if (rank <= 1 && btmSprites.Length > 3)
{
return btmSprites[3];
}
if (rank == 2 && btmSprites.Length > 2)
{
return btmSprites[2];
}
if (rank == 3 && btmSprites.Length > 1)
{
return btmSprites[1];
}
return btmSprites[0];
}
private void ApplyListMeta(LeaderboardData data)
{
if (rankingListType != null)
{
rankingListType.text = isRoomRanking ? "房间排行榜" : "世界排行榜";
}
if (versionandServer != null)
{
versionandServer.text = isRoomRanking ? RoomRankingServerText : string.Empty;
}
if (yourPositionText == null)
{
return;
}
if (!isRoomRanking)
{
yourPositionText.text = string.Empty;
return;
}
if (data == null || data.rankings == null || data.rankings.Count == 0 || string.IsNullOrWhiteSpace(roomRankingLocalSteamId))
{
yourPositionText.text = "您的得分为--,目前排名第<color=green>--</color>位";
return;
}
LeaderboardEntry localEntry = null;
for (int i = 0; i < data.rankings.Count; i++)
{
LeaderboardEntry entry = data.rankings[i];
if (entry != null && string.Equals(entry.steam_id, roomRankingLocalSteamId, StringComparison.Ordinal))
{
localEntry = entry;
break;
}
}
if (localEntry == null)
{
yourPositionText.text = "您的得分为--,目前排名第<color=green>--</color>位";
return;
}
yourPositionText.text =
$"您的得分为{localEntry.total_score},目前排名第<color=green>{localEntry.rank}</color>位";
}
private static string FormatSubmitTime(LeaderboardEntry entry)
{
if (entry == null)
{
return string.Empty;
}
if (entry.achieved_at_unix > 0)
{
long unix = entry.achieved_at_unix;
if (unix > 9999999999L)
{
return DateTimeOffset.FromUnixTimeMilliseconds(unix).ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss");
}
return DateTimeOffset.FromUnixTimeSeconds(unix).ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss");
}
if (DateTimeOffset.TryParse(entry.achieved_at, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal, out DateTimeOffset parsed))
{
return parsed.ToLocalTime().ToString("yyyy-MM-dd HH:mm:ss");
}
return entry.achieved_at ?? string.Empty;
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: c406acddc1ad54a4c8d456483456a7c4
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 5fbb630ba1ffa8349874f453d1c120dd
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:
@@ -0,0 +1,120 @@
using GameServer.Client;
using UnityEngine;
using UnityEngine.UI;
public class rkPrefab : MonoBehaviour
{
[SerializeField] private Image buttom_image;
[SerializeField] private Text listID;
[SerializeField] private Image userProfile;
[SerializeField] private Text this_username;
[SerializeField] private Text this_submitTime;
[SerializeField] private Text this_totalScore;
[SerializeField] private Text this_keepOnTime;
public void Bind(LeaderboardEntry entry, Sprite backgroundSprite, string formattedSubmitTime)
{
BindInternal(entry, backgroundSprite, formattedSubmitTime, false);
}
public void BindRoomRanking(LeaderboardEntry entry, Sprite backgroundSprite, string formattedSubmitTime)
{
BindInternal(entry, backgroundSprite, formattedSubmitTime, true);
}
private void BindInternal(LeaderboardEntry entry, Sprite backgroundSprite, string formattedSubmitTime, bool isRoomRanking)
{
if (entry == null)
{
return;
}
if (buttom_image != null)
{
buttom_image.sprite = backgroundSprite;
}
if (listID != null)
{
listID.text = entry.rank.ToString();
}
if (this_username != null)
{
string displayName = string.IsNullOrWhiteSpace(entry.display_name) ? entry.steam_id : entry.display_name;
this_username.text = TruncateToFit(this_username, displayName);
}
if (this_submitTime != null)
{
this_submitTime.text = formattedSubmitTime;
}
if (this_totalScore != null)
{
this_totalScore.text = entry.total_score.ToString();
}
if (this_keepOnTime != null)
{
this_keepOnTime.text = isRoomRanking
? (!string.IsNullOrWhiteSpace(entry.room_status_text) ? entry.room_status_text : "-")
: entry.keep_on_time.ToString();
}
if (userProfile != null)
{
userProfile.enabled = false;
}
}
private static string TruncateToFit(Text targetText, string source)
{
if (targetText == null || string.IsNullOrEmpty(source))
{
return source ?? string.Empty;
}
RectTransform rect = targetText.rectTransform;
if (rect == null || rect.rect.width <= 0f)
{
return source;
}
float maxWidth = rect.rect.width;
if (GetPreferredWidth(targetText, source) <= maxWidth)
{
return source;
}
const string ellipsis = "...";
if (GetPreferredWidth(targetText, ellipsis) > maxWidth)
{
return string.Empty;
}
int low = 0;
int high = source.Length;
while (low < high)
{
int mid = (low + high + 1) / 2;
string candidate = source.Substring(0, mid) + ellipsis;
if (GetPreferredWidth(targetText, candidate) <= maxWidth)
{
low = mid;
}
else
{
high = mid - 1;
}
}
return low <= 0 ? ellipsis : source.Substring(0, low) + ellipsis;
}
private static float GetPreferredWidth(Text targetText, string content)
{
TextGenerationSettings settings = targetText.GetGenerationSettings(Vector2.zero);
return targetText.cachedTextGeneratorForLayout.GetPreferredWidth(content, settings) / targetText.pixelsPerUnit;
}
}
@@ -0,0 +1,2 @@
fileFormatVersion: 2
guid: a68b021f8f1d43e44b0e699730f4ae24
@@ -0,0 +1,748 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1 &1202919405991223948
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4976417934945737035}
- component: {fileID: 9185173812383798283}
- component: {fileID: 8404339670641418553}
m_Layer: 0
m_Name: pf
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4976417934945737035
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1202919405991223948}
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: 7842164961978205412}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 25, y: 25}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &9185173812383798283
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1202919405991223948}
m_CullTransparentMesh: 1
--- !u!114 &8404339670641418553
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1202919405991223948}
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: 0}
m_Type: 0
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!1 &3848673281551182841
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3188298257810125285}
- component: {fileID: 8831211814588387856}
- component: {fileID: 6687610922055607062}
m_Layer: 0
m_Name: darkness_
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3188298257810125285
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3848673281551182841}
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: 3437894634699126015}
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: 1000, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8831211814588387856
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3848673281551182841}
m_CullTransparentMesh: 1
--- !u!114 &6687610922055607062
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 3848673281551182841}
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: 0, g: 0, b: 0, a: 0.19607843}
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: 21300000, guid: 28c51f93b6260224c867f45f411a0e85, type: 3}
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: 4
--- !u!1 &4172849104164265243
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 4493109035153815242}
- component: {fileID: 6334112776472291744}
- component: {fileID: 6017697758774510118}
m_Layer: 0
m_Name: listID
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &4493109035153815242
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4172849104164265243}
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: 7842164961978205412}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 41.976, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &6334112776472291744
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4172849104164265243}
m_CullTransparentMesh: 1
--- !u!114 &6017697758774510118
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4172849104164265243}
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: 12800000, guid: dfa10de3e2846524089b5073175cd151, type: 3}
m_FontSize: 18
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 40
m_Alignment: 3
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 100
--- !u!1 &4305534998678093432
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 1293959345365494561}
- component: {fileID: 548801232753630885}
- component: {fileID: 8887470777961154685}
m_Layer: 0
m_Name: score
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &1293959345365494561
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4305534998678093432}
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: 7842164961978205412}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 241.959, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &548801232753630885
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4305534998678093432}
m_CullTransparentMesh: 1
--- !u!114 &8887470777961154685
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4305534998678093432}
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: 12800000, guid: 8b8373b0af11dca46b89be60dbe469f8, type: 3}
m_FontSize: 27
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 2000000
--- !u!1 &4439332187331332072
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6871938979269133948}
- component: {fileID: 5903337530726148902}
m_Layer: 0
m_Name: rkPrefab
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6871938979269133948
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4439332187331332072}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 18.954}
m_LocalScale: {x: 1, y: 1, z: 1}
m_ConstrainProportionsScale: 0
m_Children:
- {fileID: 3437894634699126015}
m_Father: {fileID: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 1}
m_AnchorMax: {x: 0, y: 1}
m_AnchoredPosition: {x: 541.5, y: -25}
m_SizeDelta: {x: 1000, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &5903337530726148902
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4439332187331332072}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a68b021f8f1d43e44b0e699730f4ae24, type: 3}
m_Name:
m_EditorClassIdentifier:
buttom_image: {fileID: 7594135340296542596}
listID: {fileID: 6017697758774510118}
userProfile: {fileID: 8404339670641418553}
this_username: {fileID: 2645129040745221173}
this_submitTime: {fileID: 1919077852137188376}
this_totalScore: {fileID: 8887470777961154685}
this_keepOnTime: {fileID: 540623326675905706}
--- !u!1 &4457460548878136444
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5568417350009506155}
- component: {fileID: 7014127935405271411}
- component: {fileID: 2645129040745221173}
m_Layer: 0
m_Name: username
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5568417350009506155
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4457460548878136444}
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: 7842164961978205412}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 318.323, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7014127935405271411
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4457460548878136444}
m_CullTransparentMesh: 1
--- !u!114 &2645129040745221173
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4457460548878136444}
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: 12800000, guid: dfa10de3e2846524089b5073175cd151, type: 3}
m_FontSize: 18
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: "\u73A9\u5BB6\u7684\u540D\u5B57\u662F12123"
--- !u!1 &4773289945334786799
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 6823984430671628200}
- component: {fileID: 8464744113657138046}
- component: {fileID: 1919077852137188376}
m_Layer: 0
m_Name: reachTime
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &6823984430671628200
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4773289945334786799}
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: 7842164961978205412}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 229.827, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &8464744113657138046
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4773289945334786799}
m_CullTransparentMesh: 1
--- !u!114 &1919077852137188376
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 4773289945334786799}
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: 12800000, guid: dfa10de3e2846524089b5073175cd151, type: 3}
m_FontSize: 18
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 1970-01-01 20:00:00
--- !u!1 &5987634680367655613
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 3437894634699126015}
- component: {fileID: 986241107719408709}
- component: {fileID: 7594135340296542596}
m_Layer: 0
m_Name: btm
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &3437894634699126015
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5987634680367655613}
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: 3188298257810125285}
- {fileID: 7842164961978205412}
m_Father: {fileID: 6871938979269133948}
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: 1000, y: 40}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &986241107719408709
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5987634680367655613}
m_CullTransparentMesh: 1
--- !u!114 &7594135340296542596
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 5987634680367655613}
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: 21300000, guid: 28c51f93b6260224c867f45f411a0e85, type: 3}
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: 4
--- !u!1 &6495147886401793472
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 5377276848171797507}
- component: {fileID: 7773371341055247645}
- component: {fileID: 540623326675905706}
m_Layer: 0
m_Name: howmany
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &5377276848171797507
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6495147886401793472}
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: 7842164961978205412}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
m_AnchorMin: {x: 0, y: 0}
m_AnchorMax: {x: 0, y: 0}
m_AnchoredPosition: {x: 0, y: 0}
m_SizeDelta: {x: 127.685, y: 35}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!222 &7773371341055247645
CanvasRenderer:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6495147886401793472}
m_CullTransparentMesh: 1
--- !u!114 &540623326675905706
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 6495147886401793472}
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: 12800000, guid: 8b8373b0af11dca46b89be60dbe469f8, type: 3}
m_FontSize: 24
m_FontStyle: 0
m_BestFit: 0
m_MinSize: 0
m_MaxSize: 40
m_Alignment: 4
m_AlignByGeometry: 0
m_RichText: 1
m_HorizontalOverflow: 0
m_VerticalOverflow: 0
m_LineSpacing: 1
m_Text: 2000000
--- !u!1 &8179976138021131847
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 7842164961978205412}
- component: {fileID: 7314414461183110699}
m_Layer: 0
m_Name: hori
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!224 &7842164961978205412
RectTransform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8179976138021131847}
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: 4493109035153815242}
- {fileID: 4976417934945737035}
- {fileID: 5568417350009506155}
- {fileID: 6823984430671628200}
- {fileID: 1293959345365494561}
- {fileID: 5377276848171797507}
m_Father: {fileID: 3437894634699126015}
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: -44.5, y: 0}
m_SizeDelta: {x: 888.204, y: 30}
m_Pivot: {x: 0.5, y: 0.5}
--- !u!114 &7314414461183110699
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 8179976138021131847}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 30649d3a9faa99c48a7b1166b86bf2a0, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Padding:
m_Left: 0
m_Right: 0
m_Top: 0
m_Bottom: 0
m_ChildAlignment: 3
m_Spacing: 0
m_ChildForceExpandWidth: 1
m_ChildForceExpandHeight: 1
m_ChildControlWidth: 0
m_ChildControlHeight: 0
m_ChildScaleWidth: 0
m_ChildScaleHeight: 0
m_ReverseArrangement: 0
@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 5d56483f68516d94e9277bbac63f8525
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant: