Elo system update
This commit is contained in:
@@ -5,6 +5,7 @@ using System.Threading.Tasks;
|
||||
using Fusion;
|
||||
using Fusion.Sockets;
|
||||
using UnityEngine;
|
||||
using OnlyScove.Scripts;
|
||||
|
||||
namespace Hallucinate.UI
|
||||
{
|
||||
@@ -42,7 +43,6 @@ namespace Hallucinate.UI
|
||||
{
|
||||
OnJoinStartedEvent?.Invoke();
|
||||
|
||||
// Sử dụng SessionProperties để lưu mật khẩu
|
||||
var customProps = new Dictionary<string, SessionProperty>();
|
||||
if (!string.IsNullOrEmpty(password))
|
||||
{
|
||||
@@ -88,13 +88,6 @@ namespace Hallucinate.UI
|
||||
|
||||
public void OnPlayerJoined(NetworkRunner runner, PlayerRef player)
|
||||
{
|
||||
if (runner.IsServer)
|
||||
{
|
||||
Vector2 spawnPosition = (player == runner.LocalPlayer) ? new Vector2(-8, 0) : new Vector2(8, 0);
|
||||
var networkPlayerObject = runner.Spawn(_playerPrefab, spawnPosition, Quaternion.identity, player);
|
||||
_spawnedCharacters.Add(player, networkPlayerObject);
|
||||
}
|
||||
|
||||
if (player == runner.LocalPlayer)
|
||||
{
|
||||
var pdm = FindFirstObjectByType<_PlayerDataManager>();
|
||||
@@ -104,12 +97,21 @@ namespace Hallucinate.UI
|
||||
{
|
||||
Name = LocalPlayerProfile.Name,
|
||||
Role = LocalPlayerProfile.Role,
|
||||
IsReady = false
|
||||
};
|
||||
pdm.RPC_UpdatePlayerMetaData(player, metaData);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public void StartGame()
|
||||
{
|
||||
if (_runner.IsServer)
|
||||
{
|
||||
_runner.LoadScene("Main Scene");
|
||||
}
|
||||
}
|
||||
|
||||
public void OnPlayerLeft(NetworkRunner runner, PlayerRef player)
|
||||
{
|
||||
if (_spawnedCharacters.TryGetValue(player, out NetworkObject networkObject))
|
||||
@@ -132,8 +134,27 @@ namespace Hallucinate.UI
|
||||
|
||||
public void OnInput(NetworkRunner runner, NetworkInput input)
|
||||
{
|
||||
var data = new _PlayerInputData();
|
||||
data.direction = Input.GetAxis("Vertical");
|
||||
var data = new PlayerInputData();
|
||||
|
||||
// Try to get input from the local player's InputReader
|
||||
if (PlayerStateMachine.Local != null && PlayerStateMachine.Local.Input != null)
|
||||
{
|
||||
var inputReader = PlayerStateMachine.Local.Input;
|
||||
data.Direction = inputReader.MoveInput;
|
||||
data.sprint = inputReader.IsSprintHeld;
|
||||
|
||||
if (PlayerStateMachine.Local.Cam != null)
|
||||
{
|
||||
data.rot = PlayerStateMachine.Local.Cam.PlanarRotation;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Fallback to basic input if player not spawned or InputReader missing
|
||||
data.Direction = new Vector2(Input.GetAxis("Horizontal"), Input.GetAxis("Vertical"));
|
||||
data.sprint = Input.GetKey(KeyCode.LeftShift);
|
||||
}
|
||||
|
||||
input.Set(data);
|
||||
}
|
||||
|
||||
@@ -149,7 +170,31 @@ namespace Hallucinate.UI
|
||||
public void OnObjectEnterAOI(NetworkRunner runner, NetworkObject obj, PlayerRef player) { }
|
||||
public void OnCustomAuthenticationResponse(NetworkRunner runner, Dictionary<string, object> data) { }
|
||||
public void OnHostMigration(NetworkRunner runner, HostMigrationToken hostMigrationToken) { }
|
||||
public void OnSceneLoadDone(NetworkRunner runner) { }
|
||||
|
||||
public void OnSceneLoadDone(NetworkRunner runner)
|
||||
{
|
||||
string currentSceneName = UnityEngine.SceneManagement.SceneManager.GetActiveScene().name;
|
||||
|
||||
if (runner.IsServer && currentSceneName == "Main Scene")
|
||||
{
|
||||
foreach (var player in runner.ActivePlayers)
|
||||
{
|
||||
Vector2 spawnPosition = (player == runner.LocalPlayer) ? new Vector2(-8, 0) : new Vector2(8, 0);
|
||||
var networkPlayerObject = runner.Spawn(_playerPrefab, spawnPosition, Quaternion.identity, player);
|
||||
_spawnedCharacters.Add(player, networkPlayerObject);
|
||||
}
|
||||
}
|
||||
|
||||
if (currentSceneName == "Main Scene")
|
||||
{
|
||||
if (UIManager.Instance != null) UIManager.Instance.OnGameStarted();
|
||||
}
|
||||
else if (currentSceneName == "Lobby" || currentSceneName == "Menu")
|
||||
{
|
||||
if (UIManager.Instance != null) UIManager.Instance.OnBackToMenu();
|
||||
}
|
||||
}
|
||||
|
||||
public void OnSceneLoadStart(NetworkRunner runner) { }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user