CapersProject/Assets/02.Scripts/Item/ItemSlot.cs

46 lines
1.2 KiB
C#
Raw Normal View History

2024-06-03 18:26:03 +00:00
using System;
using UnityEngine;
namespace BlueWater.Items
{
[Serializable]
public class ItemSlot
{
[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("아이템 수량")]
public int Quantity { get; set; }
2024-06-03 18:26:03 +00:00
[field: SerializeField, Tooltip("아이템 획득 시간")]
public long AcquisitionTime { get; set; }
2024-08-22 10:39:15 +00:00
public ItemSlot(string idx, int quantity)
2024-06-03 18:26:03 +00:00
{
Idx = idx;
Quantity = quantity;
2024-06-03 18:26:03 +00:00
AcquisitionTime = FormatDateTimeAsNumeric(DateTime.UtcNow);
}
public void AddItemQuantity(int quantity)
2024-06-03 18:26:03 +00:00
{
Quantity += quantity;
2024-06-03 18:26:03 +00:00
AcquisitionTime = FormatDateTimeAsNumeric(DateTime.UtcNow);
}
public void RemoveItemQuantity(int quantity)
2024-06-03 18:26:03 +00:00
{
Quantity -= quantity;
if (Quantity < 0)
2024-06-03 18:26:03 +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);
}
}
}