CapersProject/Assets/02.Scripts/DDD/Character/InventoryItemSlot.cs

46 lines
1.2 KiB
C#
Raw Normal View History

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);
}
}
}