From 415a564317abba4e50ef0470c380871b975e2b1a Mon Sep 17 00:00:00 2001 From: Zsolt Tasnadi Date: Fri, 7 Jul 2023 00:38:13 +0200 Subject: [PATCH] ItemTypeMap, NPCTypeMap --- domain/item_type.go | 16 ++++++++++++++++ domain/npc_type.go | 16 ++++++++++++++++ konstructor/entity.domain.go | 8 ++++++++ konstructor/entity.item.go | 2 ++ konstructor/entity.npc.go | 2 ++ 5 files changed, 44 insertions(+) create mode 100644 domain/item_type.go create mode 100644 domain/npc_type.go 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