loading player from json file

This commit is contained in:
minjaesong
2021-08-28 16:31:06 +09:00
parent 29cccea19b
commit b84a0a770b
31 changed files with 308 additions and 145 deletions

View File

@@ -19,7 +19,7 @@ object AmmoMeterProxy {
else {
meter.vitalGetterVal = {
if (currentItem.stackable && currentItem.maxDurability == GameItem.DURABILITY_NA) {
actor.inventory.invSearchByDynamicID(currentItem.dynamicID)!!.amount.toFloat()
actor.inventory.invSearchByDynamicID(currentItem.dynamicID)!!.qty.toFloat()
}
else
currentItem.durability

View File

@@ -139,7 +139,7 @@ class UIItemInventoryEquippedView(
val itemRecord = inventory.invSearchByDynamicID(item)!!
itemGrid[k].item = ItemCodex[item]
itemGrid[k].amount = itemRecord.amount
itemGrid[k].amount = itemRecord.qty
itemGrid[k].itemImage = ItemCodex.getItemImage(item)
itemGrid[k].quickslot = null // don't need to be displayed
itemGrid[k].equippedSlot = null // don't need to be displayed

View File

@@ -120,7 +120,7 @@ class UIItemInventoryItemGrid(
inventory.setQuickBar(
slot,
if (currentSlotItem?.item != item.dynamicID)
if (currentSlotItem?.itm != item.dynamicID)
item.dynamicID // register
else
null // drop registration
@@ -129,7 +129,7 @@ class UIItemInventoryItemGrid(
// search for duplicates in the quickbar, except mine
// if there is, unregister the other
(0..9).minus(slot).forEach {
if (inventory.getQuickslot(it)?.item == item.dynamicID) {
if (inventory.getQuickslot(it)?.itm == item.dynamicID) {
inventory.setQuickBar(it, null)
}
}
@@ -412,27 +412,27 @@ class UIItemInventoryItemGrid(
// filter items
inventory.forEach {
if ((filter.contains(ItemCodex[it.item]!!.inventoryCategory) || filter[0] == CAT_ALL))
if ((filter.contains(ItemCodex[it.itm]!!.inventoryCategory) || filter[0] == CAT_ALL))
inventorySortList.add(it)
}
// sort if needed
// test sort by name
inventorySortList.sortBy { ItemCodex[it.item]!!.name }
inventorySortList.sortBy { ItemCodex[it.itm]!!.name }
// map sortList to item list
for (k in items.indices) {
// we have an item
try {
val sortListItem = inventorySortList[k + itemPage * items.size]
items[k].item = ItemCodex[sortListItem.item]
items[k].amount = sortListItem.amount
items[k].itemImage = ItemCodex.getItemImage(sortListItem.item)
items[k].item = ItemCodex[sortListItem.itm]
items[k].amount = sortListItem.qty
items[k].itemImage = ItemCodex.getItemImage(sortListItem.itm)
// set quickslot number
if (inventory is ActorInventory) {
for (qs in 1..UIQuickslotBar.SLOT_COUNT) {
if (sortListItem.item == inventory.getQuickslot(qs - 1)?.item) {
if (sortListItem.itm == inventory.getQuickslot(qs - 1)?.itm) {
items[k].quickslot = qs % 10 // 10 -> 0, 1..9 -> 1..9
break
}

View File

@@ -48,7 +48,7 @@ class UIQuickslotBar : UICanvas() {
override fun renderUI(batch: SpriteBatch, camera: Camera) {
for (i in 0..SLOT_COUNT - 1) {
val item = ItemCodex[(Terrarum.ingame!! as TerrarumIngame).actorNowPlaying?.inventory?.getQuickslot(i)?.item]
val item = ItemCodex[(Terrarum.ingame!! as TerrarumIngame).actorNowPlaying?.inventory?.getQuickslot(i)?.itm]
val image = if (i == selection)
ItemSlotImageFactory.produceLarge(false, (i + 1) % SLOT_COUNT, item)

View File

@@ -64,7 +64,7 @@ class UIQuickslotPie : UICanvas() {
override fun renderUI(batch: SpriteBatch, camera: Camera) {
// draw radial thingies
for (i in 0..slotCount - 1) {
val item = ItemCodex[(Terrarum.ingame!! as TerrarumIngame).actorNowPlaying?.inventory?.getQuickslot(i)?.item]
val item = ItemCodex[(Terrarum.ingame!! as TerrarumIngame).actorNowPlaying?.inventory?.getQuickslot(i)?.itm]
// set position
val angle = Math.PI * 2.0 * (i.toDouble() / slotCount) + Math.PI // 180 deg monitor-wise