Energy

The Energy system manages player energy resources used to perform actions within your game. Learn more in the Energy concept guide.

Overview #

The Energy system allows your game to:

  • Retrieve current energy levels and timers.
  • Spend energy to perform specific actions.
  • Grant energy directly to players.

Before You Start #

Make sure you have:

  • Unity project configured with Hiro SDK.
  • Nakama system integrated (guide).

Working with Energy #

Retrieving Player Energies #

Get all available energies and their timers for the player:

1
2
energy_list = await hiro_client.energy_get()
print(energy_list)

Spending Energy #

Spend player energy to complete actions:

1
2
3
4
5
6
7
8
request = EnergySpendRequest()
request.amounts = {
    "power": 10,
    "tickets": 1
}

energy_spend_rewards = await hiro_client.energy_spend(request)
print(energy_spend_rewards)

Spending energy with a custom refill start time #

Spend energy and control when the refill timer starts for each energy.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
import time

request = EnergySpendWithRefillStartTimeRequest()
request.spends = {
    "power": EnergySpendWithTime(amount=10, refill_start_time=int(time.time())),
    "tickets": EnergySpendWithTime(amount=1, refill_start_time=int(time.time()) - 300)
}

energy_spend_reward = await hiro_client.energy_spend_with_refill_start_time(session, request)
print(energy_spend_reward)

Granting Energy #

Directly grant energy resources to a player:

1
2
3
4
5
6
7
8
request = EnergyGrantRequest()
request.amounts = {
    "power": 10,
    "tickets": 1
}

energy_list = await hiro_client.energy_grant(request)
print(energy_list)

Next Steps #