46 lines
1.2 KiB
C#
46 lines
1.2 KiB
C#
|
using System;
|
||
|
using UnityEngine;
|
||
|
|
||
|
namespace BlueWater.Items
|
||
|
{
|
||
|
[Serializable]
|
||
|
public class ItemSlot
|
||
|
{
|
||
|
[field: SerializeField, Tooltip("아이템 인덱스")]
|
||
|
public int Idx { get; private set; }
|
||
|
|
||
|
[field: SerializeField, Tooltip("아이템 수량")]
|
||
|
public int Count { get; set; }
|
||
|
|
||
|
[field: SerializeField, Tooltip("아이템 획득 시간")]
|
||
|
public long AcquisitionTime { get; set; }
|
||
|
|
||
|
public ItemSlot(int idx, int count)
|
||
|
{
|
||
|
Idx = idx;
|
||
|
Count = count;
|
||
|
AcquisitionTime = FormatDateTimeAsNumeric(DateTime.UtcNow);
|
||
|
}
|
||
|
|
||
|
public void AddItemCount(int count)
|
||
|
{
|
||
|
Count += count;
|
||
|
AcquisitionTime = FormatDateTimeAsNumeric(DateTime.UtcNow);
|
||
|
}
|
||
|
|
||
|
public void RemoveItemCount(int count)
|
||
|
{
|
||
|
Count -= count;
|
||
|
if (Count < 0)
|
||
|
{
|
||
|
Count = 0;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private static long FormatDateTimeAsNumeric(DateTime dateTime)
|
||
|
{
|
||
|
var formattedDateTime = dateTime.ToString("yyyyMMddHHmmss");
|
||
|
return long.Parse(formattedDateTime);
|
||
|
}
|
||
|
}
|
||
|
}
|