You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
HighGroundRoyaleNetcode/Assets/Scripts/Gameplay/PlayerScoreComponent.cs

38 lines
1.3 KiB
C#

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 index;
public override void OnNetworkSpawn()
{
if (IsOwner && IsClient)
{
Debug.Log($"[PlayerScoreComponent] Requesting score initialization for Player {OwnerClientId}");
ScoreManager.Instance?.InitializePlayerScoreServerRpc(OwnerClientId);
}
// For the server player (host), ensure the PlayerScoreComponent is registered properly
if (IsServer && OwnerClientId == NetworkManager.Singleton.LocalClientId)
{
ScoreManager.Instance?.InitializePlayerScoreServerRpc(OwnerClientId);
}
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}");
}
}