Сегодня отправил Яну сразу пять pull request'ов, это запросы на внедрение кода в ядро Undum.
Что появится после принятия:
Прилагаю памятный скрин.
Неактивен
Oreolek написал:
Функция enter будет вызываться между выводом названия ситуации SimpleSituation и основного содержимого
А в чём смысл этого? Что если ситуация используется как промежуточный этап, то есть в самой ситуации никакого вывода не предусматривается?
Oreolek написал:
Появится новый синтактис для ссылок: <a href="./action?once">Действие</a> - это позволит писать игры удобнее на Markdown.
Как-то это не сочетается с планами автора платформы реализовать "Link Data", нет?
Link Data
This section describes a feature that is planned, or in development. It may not be functional in the current version of the code.
Undum links are allowed to add query data, e.g. ./action-id?foo=1&bar=2. This extra data is URL-encoded content which will be parsed and passed back to your code. For situation links the data will be passed into the old situation's exit handler, and the new situation's enter handler. For action links, the data will be passed into the situation's act handler. For combined links the data will be passed into both sets of handlers.
Неактивен
Olegus t.Gl. написал:
Как-то это не сочетается с планами автора платформы реализовать "Link Data", нет?
Замена стилей на параметры вызова сделана при помощи регулярных выражений. Если в Link Data попадёт на один параметр больше, авторский обработчик просто проигнорирует лишний параметр. В то же время польза от нововведения есть уже сейчас.
Olegus t.Gl. написал:
Oreolek написал:
Функция enter будет вызываться между выводом названия ситуации SimpleSituation и основного содержимого
А в чём смысл этого? Что если ситуация используется как промежуточный этап, то есть в самой ситуации никакого вывода не предусматривается?
Использовать класс SimpleSituation как промежуточный этап довольно непросто: тот, кто это делает, должен вызвать функцию doLink в функции enter. В любом случае, на этот сценарий изменение не повлияло.
Изменение относится больше к эстетическим. Предположим, что в игре есть комната, при входе в которую игра смотрит на то, откуда персонаж вошёл в комнату и выводит соответствующее предложение ("Вы вышли из правой двери"). Кроме этого, после входа игра предоставляет выбор, который складывается неявным образом из путей в другие комнаты (надо читать документацию или ещё раз поиграть в обучалку, на словах это трудно объяснить).
Если использовать класс SimpleSituation, в котором уже прописан удобный вывод текста, то Undum сначала выведет название комнаты, потом — описание комнаты, затем предоставит длинный выбор вариантов, и только потом вызовет enter() и выведет "Вы вышли из правой комнаты", уже после меню с вариантами, когда комната уже обработана и весь текст выведен для игрока. По-моему, это не очень логичный порядок, да и игроку придётся скроллить наверх. Я поставил обработчик входа после названия и перед статическим описанием.
Неактивен