Перейти к содержимому

Создать Political World action с condition

✅ Runtime verified — executed branchesWBML-0005

Регистрируй action один раз из initialization flow своего addon после доступной регистрации Political World addon. Handler получит настоящий Kingdom позже, когда action будет выполняться — создавать kingdom во время регистрации не нужно.

private const string AddonId = "Example.Actions";
private const string ActionId = AddonId + ".increase_counter";
PoliticalWorldAPI.RegisterAction(
AddonId,
new PoliticalWorldAPI.ActionDefinition
{
Id = ActionId,
Category = "example",
DisplayName = "Increase counter",
Condition = kingdom => kingdom != null,
Handler = kingdom =>
{
int current = PoliticalWorldAPI.GetKingdomInt(
kingdom, AddonId, "counter", 0
);
PoliticalWorldAPI.SetKingdomInt(
kingdom, AddonId, "counter", current + 1
);
}
}
);

Перед выполнением можно проверить:

bool allowed = PoliticalWorldAPI.CanExecuteAction(ActionId, kingdom);

На runtime API 1.14.0 повторный RegisterAction с тем же ID заменил существующее определение. Это не duplicate rejection.

Полная справка: Actions / Conditions / Effects.