2024-06-03 18:26:03 +00:00
|
|
|
using System;
|
|
|
|
using UnityEngine;
|
|
|
|
|
|
|
|
namespace BlueWater.Items
|
|
|
|
{
|
|
|
|
[Serializable]
|
|
|
|
public class ItemSlot
|
|
|
|
{
|
|
|
|
[field: SerializeField, Tooltip("아이템 인덱스")]
|
|
|
|
public int Idx { get; private set; }
|
|
|
|
|
|
|
|
[field: SerializeField, Tooltip("아이템 수량")]
|
2024-07-15 16:20:39 +00:00
|
|
|
public int Quantity { get; set; }
|
2024-06-03 18:26:03 +00:00
|
|
|
|
|
|
|
[field: SerializeField, Tooltip("아이템 획득 시간")]
|
|
|
|
public long AcquisitionTime { get; set; }
|
|
|
|
|
2024-07-15 16:20:39 +00:00
|
|
|
public ItemSlot(int idx, int quantity)
|
2024-06-03 18:26:03 +00:00
|
|
|
{
|
|
|
|
Idx = idx;
|
2024-07-15 16:20:39 +00:00
|
|
|
Quantity = quantity;
|
2024-06-03 18:26:03 +00:00
|
|
|
AcquisitionTime = FormatDateTimeAsNumeric(DateTime.UtcNow);
|
|
|
|
}
|
|
|
|
|
2024-07-15 16:20:39 +00:00
|
|
|
public void AddItemQuantity(int quantity)
|
2024-06-03 18:26:03 +00:00
|
|
|
{
|
2024-07-15 16:20:39 +00:00
|
|
|
Quantity += quantity;
|
2024-06-03 18:26:03 +00:00
|
|
|
AcquisitionTime = FormatDateTimeAsNumeric(DateTime.UtcNow);
|
|
|
|
}
|
|
|
|
|
2024-07-15 16:20:39 +00:00
|
|
|
public void RemoveItemQuantity(int quantity)
|
2024-06-03 18:26:03 +00:00
|
|
|
{
|
2024-07-15 16:20:39 +00:00
|
|
|
Quantity -= quantity;
|
|
|
|
if (Quantity < 0)
|
2024-06-03 18:26:03 +00:00
|
|
|
{
|
2024-07-15 16:20:39 +00:00
|
|
|
Quantity = 0;
|
2024-06-03 18:26:03 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
private static long FormatDateTimeAsNumeric(DateTime dateTime)
|
|
|
|
{
|
|
|
|
var formattedDateTime = dateTime.ToString("yyyyMMddHHmmss");
|
|
|
|
return long.Parse(formattedDateTime);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|