Files
BABA_YAGA/Assets/Third Parties/Opsive/UltimateCharacterController/Scripts/Inventory/ItemDefinitionAmount.cs
Scove 3e39117acc Consolidate third-party plugins into Assets/Plugins
Move and consolidate many third-party plugin files and metadata from various locations (notably Assets/Third Parties/Plugins 1 and scattered Opsive/Photon folders) into a unified Assets/Plugins directory. Includes DOTween, PrimeTween, Native/BackroomsNoise, Sirenix/Odin Inspector, and Opsive UltimateCharacterController/shared libs, plus updates to several .meta files and removal of obsolete installer/legacy files. This standardizes plugin layout and cleans up duplicate/obsolete assets.
2026-06-16 18:41:44 +07:00

50 lines
1.9 KiB
C#

/// ---------------------------------------------
/// Ultimate Character Controller
/// Copyright (c) Opsive. All Rights Reserved.
/// https://www.opsive.com
/// ---------------------------------------------
namespace Opsive.UltimateCharacterController.Inventory
{
using Opsive.Shared.Inventory;
using UnityEngine;
/// <summary>
/// Specifies the amount of each ItemDefinitionBase that the character can pickup or is loaded with the default inventory.
/// </summary>
[System.Serializable]
public struct ItemDefinitionAmount
{
[Tooltip("The type of item.")]
[UnityEngine.Serialization.FormerlySerializedAs("m_ItemType")]
[UnityEngine.Serialization.FormerlySerializedAs("m_ItemDefinition")]
[SerializeField] public ItemDefinitionBase ItemDefinition;
[Tooltip("The number of ItemIdentifier units to pickup.")]
[UnityEngine.Serialization.FormerlySerializedAs("m_Count")]
[UnityEngine.Serialization.FormerlySerializedAs("m_Amount")]
[SerializeField] public int Amount;
private IItemIdentifier m_ItemIdentifier;
public IItemIdentifier ItemIdentifier {
get {
if (Application.isPlaying && m_ItemIdentifier == null) {
m_ItemIdentifier = ItemDefinition.CreateItemIdentifier();
}
return m_ItemIdentifier;
}
}
/// <summary>
/// ItemDefinitionAmount constructor with two parameters.
/// </summary>
/// <param name="itemDefinition">The definition of item.</param>
/// <param name="amount">The amount of ItemDefinitionBase.</param>
public ItemDefinitionAmount(ItemDefinitionBase itemDefinition, int amount)
{
ItemDefinition = itemDefinition;
Amount = amount;
m_ItemIdentifier = null;
}
}
}