1
1
mirror of https://github.com/OpenDiablo2/OpenDiablo2 synced 2024-06-27 01:25:35 +00:00
OpenDiablo2/d2game/d2player/equipment_slot.go
dk 3aab0515cf
Add inventory.txt loader, use the records (#573)
* adding resource entry for inventory.txt

* adding loader for inventory.txt

* adding call to inventory.txt loader in d2app

* d2game now uses the inventory.txt records for making the inventory panel
2020-07-11 11:25:34 -04:00

47 lines
1020 B
Go

package d2player
import (
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2data/d2datadict"
"github.com/OpenDiablo2/OpenDiablo2/d2common/d2enum"
)
// EquipmentSlot represents an equipment slot for a player
type EquipmentSlot struct {
item InventoryItem
x int
y int
width int
height int
}
func genEquipmentSlotsMap(record *d2datadict.InventoryRecord) map[d2enum.EquippedSlot]EquipmentSlot {
slotMap := map[d2enum.EquippedSlot]EquipmentSlot{}
slots := []d2enum.EquippedSlot{
d2enum.EquippedSlotHead,
d2enum.EquippedSlotTorso,
d2enum.EquippedSlotLegs,
d2enum.EquippedSlotRightArm,
d2enum.EquippedSlotLeftArm,
d2enum.EquippedSlotLeftHand,
d2enum.EquippedSlotRightHand,
d2enum.EquippedSlotNeck,
d2enum.EquippedSlotBelt,
d2enum.EquippedSlotGloves,
}
for _, slot := range slots {
box := record.Slots[slot]
equipmentSlot := EquipmentSlot{
nil,
box.Left,
box.Bottom + cellPadding,
box.Width,
box.Height,
}
slotMap[slot] = equipmentSlot
}
return slotMap
}