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);
    }
Example #2
0
    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;");
        }
    }