This commit is contained in:
SepComet
2026-03-25 13:41:15 +08:00
commit aeca7a346c
131 changed files with 12998 additions and 0 deletions
+68
View File
@@ -0,0 +1,68 @@
using UnityEngine;
using UnityEngine.Events;
using UnityEngine.UI;
public class MainUI : MonoBehaviour
{
public static MainUI Instance;
[SerializeField] private Text _serverPositionText;
[SerializeField] private Text _clientPositionText;
[SerializeField] private Text _serverTickText;
[SerializeField] private Text _startTickOffsetText;
[SerializeField] private Text _clientTickText;
public UnityAction<Vector3> OnServerPosChanged;
public UnityAction<Vector3> OnClientPosChanged;
public UnityAction<long> OnServerTickChanged;
public UnityAction<long> OnStartTickOffsetChanged;
public UnityAction<long> OnClientTickChanged;
private void Awake()
{
Instance = this;
}
private void Start()
{
OnServerPosChanged += UpdateServerPositionText;
OnClientPosChanged += UpdateClientPositionText;
OnServerTickChanged += UpdateServerTickText;
OnClientTickChanged += UpdateClientTickText;
OnStartTickOffsetChanged += UpdateStartTickOffsetText;
}
private void OnDisable()
{
OnServerPosChanged -= UpdateServerPositionText;
OnClientPosChanged -= UpdateClientPositionText;
OnServerTickChanged -= UpdateServerTickText;
OnClientTickChanged -= UpdateClientTickText;
OnStartTickOffsetChanged -= UpdateStartTickOffsetText;
}
private void UpdateServerPositionText(Vector3 pos)
{
_serverPositionText.text = "服务端位置:" + pos.ToString();
}
private void UpdateClientPositionText(Vector3 pos)
{
_clientPositionText.text = "客户端位置:" + pos.ToString();
}
private void UpdateServerTickText(long tick)
{
_serverTickText.text = "服务器Tick:" + tick;
}
private void UpdateStartTickOffsetText(long tick)
{
_startTickOffsetText.text = "初始Tick差:" + tick;
}
private void UpdateClientTickText(long tick)
{
_clientTickText.text = "客户端Tick:" + tick;
}
}
+11
View File
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 747bc5518e5dcfd429160d8425ae5200
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+44
View File
@@ -0,0 +1,44 @@
using UnityEngine;
using UnityEngine.UI;
public class PlayerUI : MonoBehaviour
{
[SerializeField] private Canvas _canvas;
[SerializeField] private Text _text;
private Player _master;
private Camera _mainCamera;
private bool _isVisible = true;
public void Init(Player master)
{
_canvas = this.transform.GetComponent<Canvas>();
_mainCamera = Camera.main;
this._master = master;
this._text.text = _master.PlayerId;
}
private void FixedUpdate()
{
if (_isVisible)
{
if (_mainCamera == null)
{
_mainCamera = Camera.main;
}
if (_mainCamera != null)
{
_canvas.transform.LookAt(_mainCamera.transform);
}
}
}
private void OnBecameVisible()
{
_isVisible = true;
}
private void OnBecameInvisible()
{
_isVisible = false;
}
}
+11
View File
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 03b1c6f9985e8ee43a27a9dfbafa1de8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:
+25
View File
@@ -0,0 +1,25 @@
using System;
using UnityEngine;
using UnityEngine.UI;
public class StartUI : MonoBehaviour
{
[SerializeField] private InputField _playerIdInputField;
[SerializeField] private InputField _speedInputField;
[SerializeField] private Button _button;
public void Login()
{
if (_playerIdInputField == null || _speedInputField == null)
{
Debug.LogError("_inputField is null");
return;
}
string id = _playerIdInputField.text;
int speed = Convert.ToInt32(_speedInputField.text);
MasterManager.Instance.LocalPlayerId = id;
NetworkManager.Instance.SendLoginRequest(id, speed);
}
}
+11
View File
@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 8070d0d289bda324c9d3fd88c0582a53
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant: