void Start() { usernameToPlayerInfo = new Dictionary <string, PlayerInfo> (); loggedInPlayers = new List <PlayerInfo> (); BeltInventory b = new BeltInventory(10); b.AddItemManyToSlot(new RockItem(), 42, 5); PlayerInfo p = new PlayerInfo(b); usernameToPlayerInfo.Add("chip", p); }
public override void Deserialize(NetworkReader reader) { belt = new BeltInventory(0); belt.Deserialize(reader); backpack = Item.ReadItem(reader) as BackpackItem; helmet = Item.ReadItem(reader) as HelmetItem; upperBody = Item.ReadItem(reader) as UpperBodyItem; lowerBody = Item.ReadItem(reader) as LowerBodyItem; boots = Item.ReadItem(reader) as BootsItem; leftClaw = Item.ReadItem(reader) as ClawItem; rightClaw = Item.ReadItem(reader) as ClawItem; cursorSlot = new ItemInventorySlot(); cursorSlot.Deserialize(reader); }
public PlayerInfo(BeltInventory belt) { this.cursorSlot = new ItemInventorySlot(); this.belt = belt; }
public static bool validateRequest(InventoryOperationRequest request, PlayerInfo info) { BackpackInventory backpack = null; if (info.backpack != null) { backpack = info.backpack.inventory; } BeltInventory belt = info.belt; ItemInventorySlot cursor = info.cursorSlot; ItemInventorySlot swapSlot = null; EquipmentItem swapEquipItem = null; bool drop = false; switch (request.swapInv) { case InventoryType.Ground: drop = true; break; case InventoryType.Backpack: swapSlot = assertSlotExists(backpack.getSlots(), request.swapInvSlot); if (swapSlot == null) { Debug.Log("InventoryOperation validation error: trying to swap to bad backpack slot"); return(false); } break; case InventoryType.Belt: swapSlot = assertSlotExists(belt.getSlots(), request.swapInvSlot); if (swapSlot == null) { Debug.Log("InventoryOperation validation error: trying to swap to bad belt slot"); return(false); } break; case InventoryType.Equip: swapEquipItem = getEquipItem(info, request.swapInvSlot); break; default: Debug.Log("InventoryOperation validation error: unsupported inventory detected"); return(false); } switch (request.op) { case Operation.ToCursor: return(validateToCursorOperation(swapSlot, swapEquipItem, request.quantity, info)); case Operation.FromCursor: return(validateFromCursorOperation(swapSlot, swapEquipItem, request.swapInvSlot, drop, request.quantity, info)); default: Debug.Log("InventoryOperation validation error: unsupported operation detected"); return(false); } }