private void OnGotUserInventory(GetUserInventoryResult result) { GetInventoryCommandArgs localArgs = _args as GetInventoryCommandArgs; foreach (ItemInstance itemInstance in result.Inventory) { localArgs.DataStore.SetItem(itemInstance.ItemId, new InventoryItem { ID = itemInstance.ItemId, Count = itemInstance.RemainingUses }); } //localArgs.VirtualCurrency = result.VirtualCurrency; GetInventoryCommandResult getInventoryResult = new GetInventoryCommandResult { VirtualCurrency = result.VirtualCurrency }; Callback?.Invoke(getInventoryResult); }
public void GetInventoryItems(WebRequestData args, Action <CommandResult> Callback) { if (args is GetInventoryRequestData localArgs) { CommandArgs commandArgs = new GetInventoryCommandArgs { Callback = Callback, DataStore = localArgs.DataStore, VirtualCurrency = localArgs.VirtualCurrency }; GetInventoryCommand command = CommandFactory .Instance .CreateCommand <GetInventoryCommand>(commandArgs); command.Execute(); } else { // Make more verbose exceptions throw new ArgumentException("Incorrect args data type;"); } }