diff --git a/domain/item_type.go b/domain/item_type.go new file mode 100644 index 0000000..de1d47d --- /dev/null +++ b/domain/item_type.go @@ -0,0 +1,16 @@ +package domain + +import "game/konstructor" + +func (d *Domain) InitItemType() { + d.ItemTypeMap = konstructor.ItemTypeMap{} +} + +func (d *Domain) GetItemTypeMap() konstructor.ItemTypeMap { + return d.ItemTypeMap +} + +func (d *Domain) GetItemType(name string) konstructor.ItemType { + value, _ := d.ItemTypeMap[name] + return value +} diff --git a/domain/npc_type.go b/domain/npc_type.go new file mode 100644 index 0000000..d8a9721 --- /dev/null +++ b/domain/npc_type.go @@ -0,0 +1,16 @@ +package domain + +import "game/konstructor" + +func (d *Domain) InitNPCType() { + d.NPCTypeMap = konstructor.NPCTypeMap{} +} + +func (d *Domain) GetNPCTypeMap() konstructor.NPCTypeMap { + return d.NPCTypeMap +} + +func (d *Domain) GetNPCType(name string) konstructor.NPCType { + value, _ := d.NPCTypeMap[name] + return value +} diff --git a/konstructor/entity.domain.go b/konstructor/entity.domain.go index 9761d35..aa5cc7e 100644 --- a/konstructor/entity.domain.go +++ b/konstructor/entity.domain.go @@ -5,6 +5,8 @@ type DomainBaseFields struct { DialogMap DialogMap Levels []Level ObjectTypeMap ObjectTypeMap + ItemTypeMap ItemTypeMap + NPCTypeMap NPCTypeMap } type DomainInterface interface { @@ -24,6 +26,12 @@ type DomainInterface interface { GetObjectTypeMap() ObjectTypeMap GetObjectType(name string) ObjectType + GetItemTypeMap() ItemTypeMap + GetItemType(name string) ItemType + + GetNPCTypeMap() NPCTypeMap + GetNPCType(name string) NPCType + AddToInventory(item *Item) bool RemoveFromInventory(item *Item) bool UseInventoryItem(item *Item) bool diff --git a/konstructor/entity.item.go b/konstructor/entity.item.go index d9b09af..ff2b708 100644 --- a/konstructor/entity.item.go +++ b/konstructor/entity.item.go @@ -1,5 +1,7 @@ package konstructor +type ItemTypeMap map[string]ItemType + type ItemType struct { ID string Render Render diff --git a/konstructor/entity.npc.go b/konstructor/entity.npc.go index 3a6254c..bcbffe3 100644 --- a/konstructor/entity.npc.go +++ b/konstructor/entity.npc.go @@ -1,5 +1,7 @@ package konstructor +type NPCTypeMap map[string]NPCType + type NPCType struct { ID string Render Render