네트워크 멀티플레이 대응
This commit is contained in:
@@ -45,7 +45,7 @@ namespace Northbound
|
||||
|
||||
public override void OnNetworkSpawn()
|
||||
{
|
||||
if (IsServer)
|
||||
if (IsOwner)
|
||||
{
|
||||
_currentResources.Value = maxResources;
|
||||
_lastRechargeTime = Time.time;
|
||||
@@ -54,7 +54,7 @@ namespace Northbound
|
||||
|
||||
private void Update()
|
||||
{
|
||||
if (!IsServer)
|
||||
if (!IsOwner)
|
||||
return;
|
||||
|
||||
// 자원 충전 로직
|
||||
@@ -88,7 +88,7 @@ namespace Northbound
|
||||
{
|
||||
if (client.PlayerObject != null)
|
||||
{
|
||||
var playerInventory = client.PlayerObject.GetComponent<PlayerResourceInventory>();
|
||||
var playerInventory = client.PlayerObject.GetComponent<PlayerInventory>();
|
||||
if (playerInventory != null)
|
||||
{
|
||||
// 플레이어가 받을 수 있는 공간이 없으면 상호작용 불가
|
||||
@@ -120,10 +120,10 @@ namespace Northbound
|
||||
if (playerObject == null)
|
||||
return;
|
||||
|
||||
var playerInventory = playerObject.GetComponent<PlayerResourceInventory>();
|
||||
var playerInventory = playerObject.GetComponent<PlayerInventory>();
|
||||
if (playerInventory == null)
|
||||
{
|
||||
Debug.LogWarning($"플레이어 {playerId}에게 PlayerResourceInventory 컴포넌트가 없습니다.");
|
||||
Debug.LogWarning($"플레이어 {playerId}에게 PlayerInventory 컴포넌트가 없습니다.");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -147,8 +147,8 @@ namespace Northbound
|
||||
_currentResources.Value -= gatheredAmount;
|
||||
_lastGatheringTime = Time.time;
|
||||
|
||||
// 플레이어에게 자원 추가
|
||||
playerInventory.AddResourceServerRpc(gatheredAmount);
|
||||
// 플레이어에게 자원 추가 (RPC로 owner에게 요청)
|
||||
playerInventory.AddResourcesRpc(gatheredAmount);
|
||||
|
||||
Debug.Log($"플레이어 {playerId}가 {gatheredAmount} {resourceName}을(를) 채집했습니다. 남은 자원: {_currentResources.Value}");
|
||||
|
||||
|
||||
Reference in New Issue
Block a user