Files
Northbound/Assets/Scripts/CoreResourceManager.cs
dal4segno aa086a7a2b 자원 채집 및 반환 기능
텍스트 기능 및 폰트 추가
2026-01-26 02:29:07 +09:00

67 lines
1.7 KiB
C#

using Unity.Netcode;
using UnityEngine;
namespace Northbound
{
/// <summary>
/// Core의 자원을 관리하고 다른 시스템에서 접근할 수 있도록 하는 매니저
/// </summary>
public class CoreResourceManager : MonoBehaviour
{
private static CoreResourceManager _instance;
public static CoreResourceManager Instance => _instance;
[Header("References")]
public Core mainCore; // 메인 코어 참조
private void Awake()
{
if (_instance != null && _instance != this)
{
Destroy(gameObject);
return;
}
_instance = this;
}
/// <summary>
/// 자원을 사용할 수 있는지 확인
/// </summary>
public bool CanAfford(int cost)
{
if (mainCore == null)
{
Debug.LogWarning("메인 코어가 설정되지 않았습니다.");
return false;
}
return mainCore.CanConsumeResource(cost);
}
/// <summary>
/// 자원을 소비
/// </summary>
public void SpendResources(int amount)
{
if (mainCore == null)
{
Debug.LogWarning("메인 코어가 설정되지 않았습니다.");
return;
}
mainCore.ConsumeResourceServerRpc(amount);
}
/// <summary>
/// 현재 자원량 가져오기
/// </summary>
public int GetCurrentResources()
{
if (mainCore == null)
return 0;
return mainCore.TotalResources;
}
}
}