Кастомные разблокировки
Класс UnlockWrapper
Все разблокировки в игре обёрнуты в более гибкий класс - UnlockWrapper
.
UnlockWrapper
предоставляет методы для получения названия, описания, изображения разблокировки прочие штуки.
Вам наверное не стоит реализовывать UnlockWrapper
напрямую. Используйте классы, описанные позже на странице.
Класс DisplayedUnlock
DisplayedUnlock
наследует от класса UnlockWrapper
. Он предоставляет методы для отображения разблокировки в меню.
Вам наверное не стоит реализовывать DisplayedUnlock
напрямую. Используйте классы, описанные позже на странице.
Классы разблокировок
RogueLibs предоставляет следующие классы, от которых вы можете наследовать:
ItemUnlock
- для предметов;AbilityUnlock
- для способностей;TraitUnlock
- для особенностей;MutatorUnlock
- для мутаторов;AgentUnlock
- для персонажей;BigQuestUnlock
- для Больших Квестов персонажей;ExtraUnlock
- для достижений и прочего;FloorUnlock
- для этажей;
Есть ещё несколько классов, но они в RogueLibs только ради совместимости.
Инициализация
Вы можете инициализировать свои разблокировки следующим образом:
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"));