mirror of
https://github.com/OpenDiablo2/OpenDiablo2
synced 2025-02-02 22:57:04 -05:00
3aab0515cf
* 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
47 lines
1020 B
Go
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
|
|
}
|