2024-06-03 18:26:03 +00:00
|
|
|
using System;
|
|
|
|
using UnityEngine;
|
|
|
|
|
2025-02-10 02:13:46 +00:00
|
|
|
namespace DDD
|
2024-06-03 18:26:03 +00:00
|
|
|
{
|
|
|
|
[Serializable]
|
2025-02-10 02:13:46 +00:00
|
|
|
public class InventoryItemSlot
|
2024-06-03 18:26:03 +00:00
|
|
|
{
|
|
|
|
[field: SerializeField, Tooltip("아이템 인덱스")]
|
2024-08-22 10:39:15 +00:00
|
|
|
public string Idx { get; private set; }
|
2024-06-03 18:26:03 +00:00
|
|
|
|
|
|
|
[field: SerializeField, Tooltip("아이템 수량")]
|
2025-02-10 02:13:46 +00:00
|
|
|
public int Count { get; set; }
|
2024-06-03 18:26:03 +00:00
|
|
|
|
|
|
|
[field: SerializeField, Tooltip("아이템 획득 시간")]
|
|
|
|
public long AcquisitionTime { get; set; }
|
|
|
|
|
2025-02-10 02:13:46 +00:00
|
|
|
public InventoryItemSlot(string idx, int count)
|
2024-06-03 18:26:03 +00:00
|
|
|
{
|
|
|
|
Idx = idx;
|
2025-02-10 02:13:46 +00:00
|
|
|
Count = count;
|
2024-06-03 18:26:03 +00:00
|
|
|
AcquisitionTime = FormatDateTimeAsNumeric(DateTime.UtcNow);
|
|
|
|
}
|
|
|
|
|
2025-02-10 02:13:46 +00:00
|
|
|
public void AddItemCount(int count)
|
2024-06-03 18:26:03 +00:00
|
|
|
{
|
2025-02-10 02:13:46 +00:00
|
|
|
Count += count;
|
2024-06-03 18:26:03 +00:00
|
|
|
AcquisitionTime = FormatDateTimeAsNumeric(DateTime.UtcNow);
|
|
|
|
}
|
|
|
|
|
2025-02-10 02:13:46 +00:00
|
|
|
public void RemoveItemCount(int count)
|
2024-06-03 18:26:03 +00:00
|
|
|
{
|
2025-02-10 02:13:46 +00:00
|
|
|
Count -= count;
|
|
|
|
if (Count < 0)
|
2024-06-03 18:26:03 +00:00
|
|
|
{
|
2025-02-10 02:13:46 +00:00
|
|
|
Count = 0;
|
2024-06-03 18:26:03 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private static long FormatDateTimeAsNumeric(DateTime dateTime)
|
|
|
|
{
|
|
|
|
var formattedDateTime = dateTime.ToString("yyyyMMddHHmmss");
|
|
|
|
return long.Parse(formattedDateTime);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|