Создать Political World action с condition
Создать action с condition
Заголовок раздела «Создать action с condition»Куда вставлять код
Заголовок раздела «Куда вставлять код»Регистрируй 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.