|
|
|
using UnityEngine;
|
|
|
|
using Unity.Netcode;
|
|
|
|
using Unity.BossRoom.Gameplay.GameplayObjects.Character;
|
|
|
|
|
|
|
|
public class PlayerScoreComponent : NetworkBehaviour
|
|
|
|
{
|
|
|
|
public int CurrentScore { get; private set; }
|
|
|
|
public ServerCharacter serverCharacter;
|
|
|
|
|
|
|
|
public override void OnNetworkSpawn()
|
|
|
|
{
|
|
|
|
if (IsServer)
|
|
|
|
{
|
|
|
|
Debug.Log($"[PlayerScoreComponent] Initializing score for Player {OwnerClientId}");
|
|
|
|
ScoreManager.Instance?.InitializePlayerScoreServerRpc(OwnerClientId, serverCharacter.uIStateDisplayHandler.m_UIState.playerName);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
public void UpdateScore(int newScore)
|
|
|
|
{
|
|
|
|
CurrentScore = newScore;
|
|
|
|
Debug.Log($"[PlayerScoreComponent] Player {OwnerClientId} score updated to {newScore}.");
|
|
|
|
UpdateScoreUI();
|
|
|
|
}
|
|
|
|
|
|
|
|
private void UpdateScoreUI()
|
|
|
|
{
|
|
|
|
// Update the player's score display in the UI.
|
|
|
|
Debug.Log($"[PlayerScoreComponent] Updated score UI for Player {OwnerClientId}: {CurrentScore}");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//using UnityEngine;
|
|
|
|
//using Unity.Netcode;
|
|
|
|
//using Unity.BossRoom.Gameplay.GameplayObjects.Character;
|
|
|
|
|
|
|
|
//public class PlayerScoreComponent : NetworkBehaviour
|
|
|
|
//{
|
|
|
|
// public int CurrentScore { get; private set; }
|
|
|
|
// public ServerCharacter serverCharacter;
|
|
|
|
// public int m_index;
|
|
|
|
// public PlayerItem playerItem;
|
|
|
|
// public override void OnNetworkSpawn()
|
|
|
|
// {
|
|
|
|
// if (IsOwner && IsClient)
|
|
|
|
// {
|
|
|
|
// Debug.Log($"[PlayerScoreComponent] Requesting score initialization for Player {OwnerClientId}");
|
|
|
|
// ScoreManager.Instance?.InitializePlayerScore(OwnerClientId,serverCharacter.uIStateDisplayHandler.m_UIState.playerName);
|
|
|
|
// }
|
|
|
|
// // For the server player (host), ensure the PlayerScoreComponent is registered properly
|
|
|
|
// if (IsServer && OwnerClientId == NetworkManager.Singleton.LocalClientId)
|
|
|
|
// {
|
|
|
|
// ScoreManager.Instance?.InitializePlayerScore(OwnerClientId, serverCharacter.uIStateDisplayHandler.m_UIState.playerName);
|
|
|
|
// }
|
|
|
|
// serverCharacter=GetComponent<ServerCharacter>();
|
|
|
|
// }
|
|
|
|
|
|
|
|
// public void UpdateScore(int newScore)
|
|
|
|
// {
|
|
|
|
// CurrentScore = newScore;
|
|
|
|
// Debug.Log($"[PlayerScoreComponent] Player {OwnerClientId} score updated to {newScore}.");
|
|
|
|
// UpdateScoreUI();
|
|
|
|
// }
|
|
|
|
|
|
|
|
// private void UpdateScoreUI()
|
|
|
|
// {
|
|
|
|
// // Update the player's score display in the UI.
|
|
|
|
// Debug.Log($"[PlayerScoreComponent] Updated score UI for Player {OwnerClientId}: {CurrentScore}");
|
|
|
|
// }
|
|
|
|
// //private void OnDestroy()
|
|
|
|
// //{
|
|
|
|
// // Destroy(playerItem.gameObject);
|
|
|
|
// //}
|
|
|
|
//}
|