Donations #

Listing available donations #

You can list available donations.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
foreach (var donationKvp in economySystem.Donations)
{
    var id = donationKvp.Key;
    var donation = donationKvp.Value;
    
    Debug.Log($"Donation {id} - {donation.Name}. Rewards: ");

    foreach (var currency in donation.Reward.Currencies)
    {
        Debug.Log($"{currency.Key}: {currency.Value}");
    }
    
    foreach (var consumable in donation.Reward.Consumables)
    {
        Debug.Log($"{consumable.Key}: {consumable.Value}");
    }
    
    foreach (var collectable in donation.Reward.Collectables)
    {
        Debug.Log(collectable);
    }
}

You can also list donations in several other ways.

By donation ids:

1
var donationsKvp = await economySystem.GetDonationsAsync(new [] { "<donationId1>", "<donationId2>" });

By team (using the Team System.

1
2
var team = teamSystem.Team;
var donationsKvp = await economySystem.GetDonationsAsync(team);

Or by friends list.

1
2
var friendsList = await nakamaSystem.Client.ListFriendsAsync(nakamaSystem.Session);
var donationsKvp = await economySystem.GetDonationsAsync(friendsList);

Requesting a donation #

You can request a donation for a user.

1
await economySystem.RequestDonationAsync("<donationId1>");

Donating to a user #

You can make a donation to a particular user.

1
await economySystem.DonateAsync("<donationId>", "<targetUserId>");

Claiming rewards for donations #

You can claim rewards for completed donations.

1
await economySystem.ClaimDonationsAsync(new[] {"<donationId1>", "<donationId2>"});