Files
Dawn-Godot/item/Item.gd

37 lines
634 B
GDScript

class_name Item
# Enum Types
enum ItemType {
NULL,
MEDICINE,
KEY_ITEM,
}
enum ItemId {
NULL,
POTION,
}
# Properties
var itemType:ItemType
var key:String
# Item Constructor
func _init(key:String, itemType:ItemType) -> void:
self.key = key
self.itemType = itemType
func getName() -> String:
# For now just return key
return self.key
# Item Table
static var ITEM_DEFINITIONS = {
[ItemId.NULL]: Item.new("NULL", ItemType.NULL),
[ItemId.POTION]: Item.new("POTION", ItemType.MEDICINE),
}
static func getItemById(itemId:ItemId) -> Item:
assert(ITEM_DEFINITIONS.has(itemId))
return ITEM_DEFINITIONS[itemId]