mirror of
https://github.com/collinsmith/riiablo.git
synced 2025-03-03 22:21:53 +07:00
Introduced ItemController interface and ClientItemManager
ItemController created to allow swappable interfacing between CharData and ClientItemManager ClientItemManager engine system added (defers to Riiablo.charData temporarily) Added dependency injection for ItemController to allow wiring Changed item management panels to use ItemController injection instead of Riiablo.charData directly
This commit is contained in:
parent
94e2b379e7
commit
206875d2a0
73
core/src/com/riiablo/engine/client/ClientItemManager.java
Normal file
73
core/src/com/riiablo/engine/client/ClientItemManager.java
Normal file
@ -0,0 +1,73 @@
|
||||
package com.riiablo.engine.client;
|
||||
|
||||
import com.riiablo.Riiablo;
|
||||
import com.riiablo.engine.server.ItemManager;
|
||||
import com.riiablo.item.BodyLoc;
|
||||
import com.riiablo.item.Item;
|
||||
import com.riiablo.item.StoreLoc;
|
||||
import com.riiablo.save.ItemController;
|
||||
|
||||
import net.mostlyoriginal.api.system.core.PassiveSystem;
|
||||
|
||||
// sends item events
|
||||
// receives item events and applies changes
|
||||
public class ClientItemManager extends PassiveSystem implements ItemController {
|
||||
private static final String TAG = "ClientItemManager";
|
||||
|
||||
protected ItemManager items;
|
||||
|
||||
@Override
|
||||
public void groundToCursor(Item item) {
|
||||
Riiablo.charData.groundToCursor(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cursorToGround() {
|
||||
Riiablo.charData.cursorToGround();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void storeToCursor(int i) {
|
||||
Riiablo.charData.storeToCursor(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cursorToStore(StoreLoc storeLoc, int x, int y) {
|
||||
Riiablo.charData.cursorToStore(storeLoc, x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void swapStoreItem(int i, StoreLoc storeLoc, int x, int y) {
|
||||
Riiablo.charData.swapStoreItem(i, storeLoc, x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bodyToCursor(BodyLoc bodyLoc, boolean merc) {
|
||||
Riiablo.charData.bodyToCursor(bodyLoc, merc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cursorToBody(BodyLoc bodyLoc, boolean merc) {
|
||||
Riiablo.charData.cursorToBody(bodyLoc, merc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void swapBodyItem(BodyLoc bodyLoc, boolean merc) {
|
||||
Riiablo.charData.swapBodyItem(bodyLoc, merc);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void beltToCursor(int i) {
|
||||
Riiablo.charData.beltToCursor(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cursorToBelt(int x, int y) {
|
||||
Riiablo.charData.cursorToBelt(x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void swapBeltItem(int i) {
|
||||
Riiablo.charData.swapBeltItem(i);
|
||||
}
|
||||
}
|
@ -25,7 +25,7 @@ import java.nio.ByteBuffer;
|
||||
import java.util.Arrays;
|
||||
|
||||
// TODO: support pooling CharData for multiplayer
|
||||
public class CharData implements ItemData.UpdateListener, Pool.Poolable {
|
||||
public class CharData implements ItemController, ItemData.UpdateListener, Pool.Poolable {
|
||||
private static final String TAG = "CharData";
|
||||
private static final boolean DEBUG = true;
|
||||
private static final boolean DEBUG_ITEMS = DEBUG && !true;
|
||||
@ -380,11 +380,13 @@ public class CharData implements ItemData.UpdateListener, Pool.Poolable {
|
||||
return itemData;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void groundToCursor(Item item) {
|
||||
if (DEBUG_ITEMS) Gdx.app.log(TAG, "groundToCursor " + item);
|
||||
itemData.pickup(item);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cursorToGround() {
|
||||
if (DEBUG_ITEMS) Gdx.app.log(TAG, "cursorToGround");
|
||||
itemData.drop();
|
||||
@ -395,16 +397,19 @@ public class CharData implements ItemData.UpdateListener, Pool.Poolable {
|
||||
itemData.pickup(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void storeToCursor(int i) {
|
||||
if (DEBUG_ITEMS) Gdx.app.log(TAG, "storeToCursor " + i);
|
||||
itemToCursor(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cursorToStore(StoreLoc storeLoc, int x, int y) {
|
||||
if (DEBUG_ITEMS) Gdx.app.log(TAG, "cursorToStore " + storeLoc + "," + x + "," + y);
|
||||
itemData.storeCursor(storeLoc, x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void swapStoreItem(int i, StoreLoc storeLoc, int x, int y) {
|
||||
if (DEBUG_ITEMS) Gdx.app.log(TAG, "swapStoreItem " + i + "," + storeLoc + "," + x + "," + y);
|
||||
cursorToStore(storeLoc, x, y);
|
||||
@ -423,6 +428,7 @@ public class CharData implements ItemData.UpdateListener, Pool.Poolable {
|
||||
swapBodyItem(bodyLoc, false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void bodyToCursor(BodyLoc bodyLoc, boolean merc) {
|
||||
if (DEBUG_ITEMS) Gdx.app.log(TAG, "bodyToCursor " + bodyLoc + "," + (merc ? "merc" : "player"));
|
||||
assert itemData.cursor == ItemData.INVALID_ITEM;
|
||||
@ -437,6 +443,7 @@ public class CharData implements ItemData.UpdateListener, Pool.Poolable {
|
||||
itemData.setLocation(item, Location.CURSOR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cursorToBody(BodyLoc bodyLoc, boolean merc) {
|
||||
if (DEBUG_ITEMS) Gdx.app.log(TAG, "cursorToBody " + bodyLoc + "," + (merc ? "merc" : "player"));
|
||||
assert itemData.cursor != ItemData.INVALID_ITEM;
|
||||
@ -457,6 +464,7 @@ public class CharData implements ItemData.UpdateListener, Pool.Poolable {
|
||||
* was being called out of order for setting the cursor, causing the cursor to be unset
|
||||
* within the UI immediately after being changed.
|
||||
*/
|
||||
@Override
|
||||
public void swapBodyItem(BodyLoc bodyLoc, boolean merc) {
|
||||
if (DEBUG_ITEMS) Gdx.app.log(TAG, "swapBodyItem " + bodyLoc + "," + (merc ? "merc" : "player"));
|
||||
|
||||
@ -485,11 +493,13 @@ public class CharData implements ItemData.UpdateListener, Pool.Poolable {
|
||||
itemData.setLocation(newCursorItem, Location.CURSOR);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void beltToCursor(int i) {
|
||||
if (DEBUG_ITEMS) Gdx.app.log(TAG, "beltToCursor");
|
||||
itemToCursor(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void cursorToBelt(int x, int y) {
|
||||
if (DEBUG_ITEMS) Gdx.app.log(TAG, "cursorToBelt");
|
||||
assert itemData.cursor != ItemData.INVALID_ITEM;
|
||||
@ -508,6 +518,7 @@ public class CharData implements ItemData.UpdateListener, Pool.Poolable {
|
||||
* was being called out of order for setting the cursor, causing the cursor to be unset
|
||||
* within the UI immediately after being changed.
|
||||
*/
|
||||
@Override
|
||||
public void swapBeltItem(int i) {
|
||||
if (DEBUG_ITEMS) Gdx.app.log(TAG, "swapBeltItem");
|
||||
|
||||
|
19
core/src/com/riiablo/save/ItemController.java
Normal file
19
core/src/com/riiablo/save/ItemController.java
Normal file
@ -0,0 +1,19 @@
|
||||
package com.riiablo.save;
|
||||
|
||||
import com.riiablo.item.BodyLoc;
|
||||
import com.riiablo.item.Item;
|
||||
import com.riiablo.item.StoreLoc;
|
||||
|
||||
public interface ItemController {
|
||||
void groundToCursor(Item item);
|
||||
void cursorToGround();
|
||||
void storeToCursor(int i);
|
||||
void cursorToStore(StoreLoc storeLoc, int x, int y);
|
||||
void swapStoreItem(int i, StoreLoc storeLoc, int x, int y);
|
||||
void bodyToCursor(BodyLoc bodyLoc, boolean merc);
|
||||
void cursorToBody(BodyLoc bodyLoc, boolean merc);
|
||||
void swapBodyItem(BodyLoc bodyLoc, boolean merc);
|
||||
void beltToCursor(int i);
|
||||
void cursorToBelt(int x, int y);
|
||||
void swapBeltItem(int i);
|
||||
}
|
@ -44,6 +44,7 @@ import com.riiablo.engine.EntityFactory;
|
||||
import com.riiablo.engine.client.AnimationStepper;
|
||||
import com.riiablo.engine.client.AutoInteracter;
|
||||
import com.riiablo.engine.client.ClientEntityFactory;
|
||||
import com.riiablo.engine.client.ClientItemManager;
|
||||
import com.riiablo.engine.client.CofAlphaHandler;
|
||||
import com.riiablo.engine.client.CofLayerCacher;
|
||||
import com.riiablo.engine.client.CofLayerLoader;
|
||||
@ -56,8 +57,8 @@ import com.riiablo.engine.client.CursorMovementSystem;
|
||||
import com.riiablo.engine.client.DialogManager;
|
||||
import com.riiablo.engine.client.DirectionResolver;
|
||||
import com.riiablo.engine.client.HoveredManager;
|
||||
import com.riiablo.engine.client.ItemLoader;
|
||||
import com.riiablo.engine.client.ItemEffectManager;
|
||||
import com.riiablo.engine.client.ItemLoader;
|
||||
import com.riiablo.engine.client.LabelManager;
|
||||
import com.riiablo.engine.client.MenuManager;
|
||||
import com.riiablo.engine.client.MissileLoader;
|
||||
@ -198,6 +199,8 @@ public class GameScreen extends ScreenAdapter implements GameLoadingScreen.Loada
|
||||
IsometricCamera iso;
|
||||
InputProcessor testingInputProcessor;
|
||||
|
||||
ClientItemManager itemController;
|
||||
|
||||
public EscapePanel escapePanel;
|
||||
public ControlPanel controlPanel;
|
||||
MobilePanel mobilePanel;
|
||||
@ -484,12 +487,14 @@ public class GameScreen extends ScreenAdapter implements GameLoadingScreen.Loada
|
||||
iso = renderer.iso();
|
||||
scaledStage = new Stage(new ScreenViewport(iso), Riiablo.batch);
|
||||
factory = new ClientEntityFactory();
|
||||
itemController = new ClientItemManager();
|
||||
|
||||
WorldConfiguration config = getWorldConfiguration();
|
||||
config
|
||||
.register("iso", iso)
|
||||
.register("map", map)
|
||||
.register("factory", factory)
|
||||
.register("itemController", itemController)
|
||||
.register("batch", Riiablo.batch)
|
||||
.register("shapes", Riiablo.shapes)
|
||||
.register("stage", stage)
|
||||
@ -506,6 +511,8 @@ public class GameScreen extends ScreenAdapter implements GameLoadingScreen.Loada
|
||||
|
||||
if (mobileControls != null) engine.inject(mobileControls);
|
||||
|
||||
injectPanels();
|
||||
|
||||
// TODO: better place to put this?
|
||||
charData.getItems().addLocationListener(Riiablo.cursor);
|
||||
charData.getMerc().getItems().addLocationListener(Riiablo.cursor);
|
||||
@ -513,6 +520,18 @@ public class GameScreen extends ScreenAdapter implements GameLoadingScreen.Loada
|
||||
loadingScreen = new GameLoadingScreen(map, getDependencies());
|
||||
}
|
||||
|
||||
private void injectPanels() {
|
||||
engine.inject(inventoryPanel);
|
||||
engine.inject(hirelingPanel);
|
||||
engine.inject(controlPanel);
|
||||
engine.inject(cubePanel);
|
||||
engine.inject(stashPanel);
|
||||
// TODO: maybe it would be better to do more like?:
|
||||
// for (Actor actor : stage.getActors()) {
|
||||
// engine.inject(actor);
|
||||
// }
|
||||
}
|
||||
|
||||
protected WorldConfiguration getWorldConfiguration() {
|
||||
return getWorldConfigurationBuilder().build();
|
||||
}
|
||||
@ -523,7 +542,7 @@ public class GameScreen extends ScreenAdapter implements GameLoadingScreen.Loada
|
||||
.with(new EventSystem())
|
||||
.with(new TagManager())
|
||||
.with(mapManager)
|
||||
.with(new ItemManager())
|
||||
.with(itemController, new ItemManager())
|
||||
.with(new CofManager())
|
||||
.with(new ObjectInitializer())
|
||||
.with(new ObjectInteractor(), new WarpInteractor(), new ItemInteractor())
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.riiablo.screen.panel;
|
||||
|
||||
import com.artemis.annotations.Wire;
|
||||
import com.badlogic.gdx.Application;
|
||||
import com.badlogic.gdx.Gdx;
|
||||
import com.badlogic.gdx.Input;
|
||||
@ -33,6 +34,7 @@ import com.riiablo.item.Location;
|
||||
import com.riiablo.item.Stat;
|
||||
import com.riiablo.key.MappedKey;
|
||||
import com.riiablo.loader.DC6Loader;
|
||||
import com.riiablo.save.ItemController;
|
||||
import com.riiablo.save.ItemData;
|
||||
import com.riiablo.widget.Button;
|
||||
import com.riiablo.widget.HotkeyButton;
|
||||
@ -64,6 +66,9 @@ public class ControlPanel extends Table implements Disposable, EscapeController
|
||||
final AssetDescriptor<DC6> CharSkilliconDescriptor[];
|
||||
DC6 CharSkillicon[];
|
||||
|
||||
@Wire(name = "itemController")
|
||||
protected ItemController itemController;
|
||||
|
||||
private static int getClassId(String charClass) {
|
||||
if (charClass.isEmpty()) return -1;
|
||||
switch (charClass.charAt(0)) {
|
||||
@ -384,17 +389,17 @@ public class ControlPanel extends Table implements Disposable, EscapeController
|
||||
|
||||
@Override
|
||||
public void onDrop(int x, int y) {
|
||||
Riiablo.charData.cursorToBelt(x, y);
|
||||
itemController.cursorToBelt(x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPickup(int i) {
|
||||
Riiablo.charData.beltToCursor(i);
|
||||
itemController.beltToCursor(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSwap(int i, int x, int y) {
|
||||
Riiablo.charData.swapBeltItem(i);
|
||||
itemController.swapBeltItem(i);
|
||||
}
|
||||
|
||||
private class MinipanelWidget extends WidgetGroup implements Disposable {
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.riiablo.screen.panel;
|
||||
|
||||
import com.artemis.annotations.Wire;
|
||||
import com.badlogic.gdx.assets.AssetDescriptor;
|
||||
import com.badlogic.gdx.graphics.g2d.Batch;
|
||||
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
||||
@ -17,6 +18,7 @@ import com.riiablo.codec.excel.Inventory;
|
||||
import com.riiablo.item.Item;
|
||||
import com.riiablo.item.StoreLoc;
|
||||
import com.riiablo.loader.DC6Loader;
|
||||
import com.riiablo.save.ItemController;
|
||||
import com.riiablo.save.ItemData;
|
||||
import com.riiablo.widget.Button;
|
||||
|
||||
@ -34,6 +36,9 @@ public class CubePanel extends WidgetGroup implements Disposable, ItemGrid.GridL
|
||||
|
||||
final Inventory.Entry inventory;
|
||||
|
||||
@Wire(name = "itemController")
|
||||
protected ItemController itemController;
|
||||
|
||||
public CubePanel() {
|
||||
Riiablo.assets.load(supertransmogrifierDescriptor);
|
||||
Riiablo.assets.finishLoadingAsset(supertransmogrifierDescriptor);
|
||||
@ -103,16 +108,16 @@ public class CubePanel extends WidgetGroup implements Disposable, ItemGrid.GridL
|
||||
|
||||
@Override
|
||||
public void onDrop(int x, int y) {
|
||||
Riiablo.charData.cursorToStore(StoreLoc.CUBE, x, y);
|
||||
itemController.cursorToStore(StoreLoc.CUBE, x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPickup(int i) {
|
||||
Riiablo.charData.storeToCursor(i);
|
||||
itemController.storeToCursor(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSwap(int i, int x, int y) {
|
||||
Riiablo.charData.swapStoreItem(i, StoreLoc.CUBE, x, y);
|
||||
itemController.swapStoreItem(i, StoreLoc.CUBE, x, y);
|
||||
}
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.riiablo.screen.panel;
|
||||
|
||||
import com.artemis.annotations.Wire;
|
||||
import com.badlogic.gdx.assets.AssetDescriptor;
|
||||
import com.badlogic.gdx.graphics.Color;
|
||||
import com.badlogic.gdx.graphics.Pixmap;
|
||||
@ -26,6 +27,7 @@ import com.riiablo.item.BodyLoc;
|
||||
import com.riiablo.item.Item;
|
||||
import com.riiablo.loader.DC6Loader;
|
||||
import com.riiablo.save.CharData;
|
||||
import com.riiablo.save.ItemController;
|
||||
import com.riiablo.save.ItemData;
|
||||
import com.riiablo.widget.Button;
|
||||
import com.riiablo.widget.Label;
|
||||
@ -52,6 +54,9 @@ public class HirelingPanel extends WidgetGroup implements Disposable {
|
||||
final Color backgroundColorG;
|
||||
final Color backgroundColorR;
|
||||
|
||||
@Wire(name = "itemController")
|
||||
protected ItemController itemController;
|
||||
|
||||
public HirelingPanel() {
|
||||
Riiablo.assets.load(NpcInvDescriptor);
|
||||
Riiablo.assets.finishLoadingAsset(NpcInvDescriptor);
|
||||
@ -317,14 +322,14 @@ public class HirelingPanel extends WidgetGroup implements Disposable {
|
||||
|
||||
Riiablo.audio.play(cursor.getDropSound(), true);
|
||||
if (item != null) {
|
||||
Riiablo.charData.swapBodyItem(BodyPart.this.bodyLoc, true);
|
||||
itemController.swapBodyItem(BodyPart.this.bodyLoc, true);
|
||||
} else {
|
||||
Riiablo.charData.cursorToBody(BodyPart.this.bodyLoc, true);
|
||||
itemController.cursorToBody(BodyPart.this.bodyLoc, true);
|
||||
}
|
||||
item = cursor;
|
||||
} else {
|
||||
item = null;
|
||||
Riiablo.charData.bodyToCursor(BodyPart.this.bodyLoc, true);
|
||||
itemController.bodyToCursor(BodyPart.this.bodyLoc, true);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.riiablo.screen.panel;
|
||||
|
||||
import com.artemis.annotations.Wire;
|
||||
import com.badlogic.gdx.assets.AssetDescriptor;
|
||||
import com.badlogic.gdx.graphics.Color;
|
||||
import com.badlogic.gdx.graphics.Pixmap;
|
||||
@ -28,6 +29,7 @@ import com.riiablo.item.Item;
|
||||
import com.riiablo.item.Stat;
|
||||
import com.riiablo.item.StoreLoc;
|
||||
import com.riiablo.loader.DC6Loader;
|
||||
import com.riiablo.save.ItemController;
|
||||
import com.riiablo.save.ItemData;
|
||||
import com.riiablo.widget.Button;
|
||||
import com.riiablo.widget.Label;
|
||||
@ -64,6 +66,9 @@ public class InventoryPanel extends WidgetGroup implements Disposable, ItemGrid.
|
||||
final Color backgroundColorG;
|
||||
final Color backgroundColorR;
|
||||
|
||||
@Wire(name = "itemController")
|
||||
protected ItemController itemController;
|
||||
|
||||
public InventoryPanel() {
|
||||
Riiablo.assets.load(invcharDescriptor);
|
||||
Riiablo.assets.finishLoadingAsset(invcharDescriptor);
|
||||
@ -319,17 +324,17 @@ public class InventoryPanel extends WidgetGroup implements Disposable, ItemGrid.
|
||||
|
||||
@Override
|
||||
public void onDrop(int x, int y) {
|
||||
Riiablo.charData.cursorToStore(StoreLoc.INVENTORY, x, y);
|
||||
itemController.cursorToStore(StoreLoc.INVENTORY, x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPickup(int i) {
|
||||
Riiablo.charData.storeToCursor(i);
|
||||
itemController.storeToCursor(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSwap(int i, int x, int y) {
|
||||
Riiablo.charData.swapStoreItem(i, StoreLoc.INVENTORY, x, y);
|
||||
itemController.swapStoreItem(i, StoreLoc.INVENTORY, x, y);
|
||||
}
|
||||
|
||||
private class BodyPart extends Actor {
|
||||
@ -357,14 +362,14 @@ public class InventoryPanel extends WidgetGroup implements Disposable, ItemGrid.
|
||||
|
||||
Riiablo.audio.play(cursor.getDropSound(), true);
|
||||
if (item != null) {
|
||||
Riiablo.charData.swapBodyItem(BodyPart.this.bodyLoc);
|
||||
itemController.swapBodyItem(BodyPart.this.bodyLoc, false);
|
||||
} else {
|
||||
Riiablo.charData.cursorToBody(BodyPart.this.bodyLoc);
|
||||
itemController.cursorToBody(BodyPart.this.bodyLoc, false);
|
||||
}
|
||||
item = cursor;
|
||||
} else {
|
||||
item = null;
|
||||
Riiablo.charData.bodyToCursor(BodyPart.this.bodyLoc);
|
||||
itemController.bodyToCursor(BodyPart.this.bodyLoc, false);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -1,5 +1,6 @@
|
||||
package com.riiablo.screen.panel;
|
||||
|
||||
import com.artemis.annotations.Wire;
|
||||
import com.badlogic.gdx.assets.AssetDescriptor;
|
||||
import com.badlogic.gdx.graphics.g2d.Batch;
|
||||
import com.badlogic.gdx.graphics.g2d.TextureRegion;
|
||||
@ -18,6 +19,7 @@ import com.riiablo.item.Item;
|
||||
import com.riiablo.item.Stat;
|
||||
import com.riiablo.item.StoreLoc;
|
||||
import com.riiablo.loader.DC6Loader;
|
||||
import com.riiablo.save.ItemController;
|
||||
import com.riiablo.save.ItemData;
|
||||
import com.riiablo.widget.Button;
|
||||
import com.riiablo.widget.Label;
|
||||
@ -36,6 +38,9 @@ public class StashPanel extends WidgetGroup implements Disposable, ItemGrid.Grid
|
||||
|
||||
final Inventory.Entry inventory;
|
||||
|
||||
@Wire(name = "itemController")
|
||||
protected ItemController itemController;
|
||||
|
||||
public StashPanel() {
|
||||
Riiablo.assets.load(TradeStashDescriptor);
|
||||
Riiablo.assets.finishLoadingAsset(TradeStashDescriptor);
|
||||
@ -105,17 +110,17 @@ public class StashPanel extends WidgetGroup implements Disposable, ItemGrid.Grid
|
||||
|
||||
@Override
|
||||
public void onDrop(int x, int y) {
|
||||
Riiablo.charData.cursorToStore(StoreLoc.STASH, x, y);
|
||||
itemController.cursorToStore(StoreLoc.STASH, x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onPickup(int i) {
|
||||
Riiablo.charData.storeToCursor(i);
|
||||
itemController.storeToCursor(i);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onSwap(int i, int x, int y) {
|
||||
Riiablo.charData.swapStoreItem(i, StoreLoc.STASH, x, y);
|
||||
itemController.swapStoreItem(i, StoreLoc.STASH, x, y);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
Reference in New Issue
Block a user