Перейти к основному содержимому
The project's repository is archived as part of the GitHub Archive Program. RogueLibs' code and the documentation will no longer be updated.

Кастомные разблокировки

Класс UnlockWrapper

Все разблокировки в игре обёрнуты в более гибкий класс - UnlockWrapper.

UnlockWrapper предоставляет методы для получения названия, описания, изображения разблокировки прочие штуки.

предупреждение

Вам наверное не стоит реализовывать UnlockWrapper напрямую. Используйте классы, описанные позже на странице.

Класс DisplayedUnlock

DisplayedUnlock наследует от класса UnlockWrapper. Он предоставляет методы для отображения разблокировки в меню.

предупреждение

Вам наверное не стоит реализовывать DisplayedUnlock напрямую. Используйте классы, описанные позже на странице.

Классы разблокировок

RogueLibs предоставляет следующие классы, от которых вы можете наследовать:

  • ItemUnlock - для предметов;
  • AbilityUnlock - для способностей;
  • TraitUnlock - для особенностей;
  • MutatorUnlock - для мутаторов;
  • AgentUnlock - для персонажей;
  • BigQuestUnlock - для Больших Квестов персонажей;
  • ExtraUnlock - для достижений и прочего;
  • FloorUnlock - для этажей;
примечание

Есть ещё несколько классов, но они в RogueLibs только ради совместимости.

Инициализация

Вы можете инициализировать свои разблокировки следующим образом:

MyCustomItem.cs
public class MyCustomItem : CustomItem
{
[RLSetup]
public static void Setup()
{
RogueLibs.CreateCustomItem<MyCustomItem>()
.WithName(new CustomNameInfo("My Custom Item"))
.WithDescription(new CustomNameInfo("My Custom Item is very cool and does a lot of great stuff"))
.WithSprite(Properties.Resources.MyCustomItem)
.WithUnlock(new ItemUnlock
{
UnlockCost = 10,
CharacterCreationCost = 5,
LoadoutCost = 4,
});
}
}

Или вы можете инициализировать их напрямую (как в случае мутаторов):

RogueLibs.CreateCustomUnlock(new MutatorUnlock("MyMutator"))
.WithName(new CustomNameInfo("Mutator Name"))
.WithDescription(new CustomNameInfo("Mutator Description"));
The project's repository is archived as part of the GitHub Archive Program. RogueLibs' code and the documentation will no longer be updated.