Add switching the places between two slots, allowing moving items
This commit is contained in:
parent
6c1669d1cc
commit
ca80647acf
@ -205,7 +205,7 @@ namespace Cyber.Controls {
|
|||||||
for (int x = 0; x < ItemGridDimensions.x; x++) {
|
for (int x = 0; x < ItemGridDimensions.x; x++) {
|
||||||
// Find the item and mesh
|
// Find the item and mesh
|
||||||
int i = x + y * (int) ItemGridDimensions.x;
|
int i = x + y * (int) ItemGridDimensions.x;
|
||||||
Item Item = Inventory.Drive.GetItemAt(x + y * (int) ItemGridDimensions.y);
|
Item Item = Inventory.Drive.GetItemAt(x + y * (int) ItemGridDimensions.x);
|
||||||
Mesh Mesh = null;
|
Mesh Mesh = null;
|
||||||
if (Item != null) {
|
if (Item != null) {
|
||||||
Mesh = MeshDB.GetMesh(Item.ModelID);
|
Mesh = MeshDB.GetMesh(Item.ModelID);
|
||||||
|
@ -98,6 +98,25 @@ namespace Cyber.Items {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
///
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="idx1"></param>
|
||||||
|
/// <param name="idx2"></param>
|
||||||
|
public void SwitchSlots(int idx1, int idx2) {
|
||||||
|
Slot Slot1 = GetSlotAt(idx1);
|
||||||
|
Slot Slot2 = GetSlotAt(idx2);
|
||||||
|
SetSlotAt(idx1, Slot2);
|
||||||
|
SetSlotAt(idx2, Slot1);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void SetSlotAt(int idx, Slot slot) {
|
||||||
|
if (idx >= Slots.Length) {
|
||||||
|
IncreaseCapacity(idx - Slots.Length + 1);
|
||||||
|
}
|
||||||
|
Slots[idx] = slot;
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the item at the given index, or null if there is nothing.
|
/// Gets the item at the given index, or null if there is nothing.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
Loading…
Reference in New Issue
Block a user