This repository has been archived on 2023-09-13. You can view files and clone it, but cannot push or open issues or pull requests.
station_obscurum_unity/Assets/Scripts/NewDesign/Items/GameItem.cs
MarcoHampel 25e519839e Item Interface Devleoped
Interface for item developed. May change
2023-09-11 20:27:23 -04:00

44 lines
1.4 KiB
C#

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
namespace Obscurum.Items{
public interface GameItem
{
//TODO: May want to rename ItemType enumations based on practical application: 1. InventoryItem, 2. CarryableItem, 3. InteractiveItem. This would ensure
//inventory items on interact would enter inventory, carryable items on interact go to carry, and interactive items call an event function at once.
/// <summary>
/// Item name.
/// </summary>
public string Name { get; }
/// <summary>
/// Item description.
/// </summary>
public string Description { get; }
/// <summary>
/// Specifies if an item can be held in the player inventory, must be carried with the carry animation, or executes some effect immediately.
/// <list type="bullet">
/// <item>UTILITY: Can be carried in inventory.</item>
/// <item>WEAPON: Must be carried with the carry animation.</item>
/// <item>CONSUMABLE: Executes some effect on interact.</item>
/// </list>
/// </summary>
public enum ItemType {UTILITY, WEAPON, CONSUMABLE};
/// <summary>
/// Gets the collection type for this game item.
/// </summary>
public ItemType Type { get; }
//When player interacts with this item apply effect.
// public bool Interact();
}
}