Библиотека полезных операций для патчей, предназначенная для совместной работы.
Из-за особенностей загрузки DLL в RimWorld, может существовать только одна сборка для пространства имен
PatchOperation. Не стесняйтесь вносить свой вклад.
PatchOperation.
LoadOnDemandДанный мод загружает определения (defs), найденные в папках внутри Defs_OnDemand, если указанные моды существуют. Упрощает управление опциональными зависимостями, так как его можно комбинировать с другими PatchOperation.
PatchOperation.
ContextДанный мод ограничивает контекст следующих операций указанным xpath и выполняет их последовательно. Значительно повышает производительность, так как несколько операций применяются к небольшим участкам XML-документа. Может применяться к любому xpath с дочерними элементами.
PatchOperation.
SetДанный мод добавляет или заменяет дочерние элементы по указанному xpath. Полезен для изменения одного элемента, содержащего несколько дочерних элементов, без установки Context. Избегает добавления дубликатов или сообщает об отсутствии элементов.
PatchOperation.
EvaluateДанный мод сравнивает значение поля или свойства с указанным значением. Синтаксис: Type:Member. Опционально: логирует текущее значение.
PatchOperation.
FindModByIDКак и его ванильный аналог PatchOperationFindMod, выполняет PatchOperation в случае совпадения, иначе nomatch. Опционально: совпадают все моды в списке.
PatchOperation.
LogXMLЗаписывает XML в его текущем состоянии в лог, очень полезно для выяснения того, что произошло. xpath опционален, хорошо сочетается с Context.
PatchOperation.
LogTextЗаписывает текст, очень полезно для отладки, не недооценивайте.
Посетите
wiki для документации и примеров.
Исходный код на
Github