Идея синтаксического генератора (editor+dom+code)

Инструменты для разработки

Идея синтаксического генератора (editor+dom+code)

Сообщение ShockWave2048 12 сен 2017, 11:45

Всем привет.
Начал набрасывать скрипт для генерации дерева DOM (+статические ссылки для ресурсов) и для сцены юнити.
Хотел проверить у сообщества идею, собрать до кучи минусы и плюсы.
И так, на входе сцена любой сложности, скрипт собирает данные объектов, строит дерево классов и префабов, ресурсов, пример:
Синтаксис:
Используется csharp
public class QScene // root уровень сцены
{
    static public QNode MainCamera { get; }
    static public QNode MainCanvas { get; }
    static public QNode DirectionalLight { get; }
    static public QNode EventSystem { get; }
    static public QNode GameField { get; }
}
public class MainCanvas : QNode // один из объектов сцены
{
    static public QNode OkButton { get; }
    static public QNode LayoutGroup { get; }
    static public QNode FormController { get; }
}
 

пример использования:
Синтаксис:
Используется csharp
// обращение к статическому объекту
QScene.MainCanvas.OkButton.Button.OnClick.AddListener(OnOkClick);
QScene.Player.AudioSource.play();
// обращение к динамическому объекту
QScene.get(Prefabs.Enemy)[0].EnemyController.life++;
// Добавление компонента или GameObject
QScene.add(Prefabs.Player, DieAnimController, true);

 


Плюсы:
- избавляет от необходимости помнить устройство сцены и ресурсов
- позволяет отказаться от поиска объектов через строковые именования или жестких ссылок на объекты через поля и свойства
- следит за списком компонентов объекта, автоматически добавляет их в дерево
- следит за переименованием ресурсов, подменяет их в коде доступа к дереву

Минусы:
- код привязан к одной сцене
- кардинально отличается от обычного workflow в среде unity
- отслеживание перемещений объекта внутри дерева возможно нерешаемая задача

Ближайший аналог - JQuery для JavaScript.
Последний раз редактировалось ShockWave2048 12 сен 2017, 13:57, всего редактировалось 2 раз(а).
May we live to see another day.
Аватара пользователя
ShockWave2048
UNIт
 
Сообщения: 53
Зарегистрирован: 07 авг 2014, 20:23

Re: Идея синтаксического генератора (editor+dom+code)

Сообщение snezhok_13 12 сен 2017, 12:59

Не очень понятно для чего это все? вот совсем, какую вы проблему этим решаете?
Сериализация над сериализацией но не понятно для чего.
Разработка игр, немножко игровая журналистика, сейчас делаем Календарь: даты выхода игр
Аватара пользователя
snezhok_13
UNIверсал
 
Сообщения: 450
Зарегистрирован: 09 сен 2013, 11:12
Skype: s.coremission
  • Сайт

Re: Идея синтаксического генератора (editor+dom+code)

Сообщение ShockWave2048 12 сен 2017, 13:02

snezhok_13 - Решаемые задачи и проблемы указаны в "Плюсах".

Сериализация тут ни при чем. Нет вмешательства в компоненты или поведение.
May we live to see another day.
Аватара пользователя
ShockWave2048
UNIт
 
Сообщения: 53
Зарегистрирован: 07 авг 2014, 20:23

Re: Идея синтаксического генератора (editor+dom+code)

Сообщение seaman 12 сен 2017, 13:11

Ну т.е. параллельно тому, что Юнити уже хранит всю иерархию сцены, Вы собираетесь хранить свою?
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Идея синтаксического генератора (editor+dom+code)

Сообщение snezhok_13 12 сен 2017, 13:24

seaman писал(а):Ну т.е. параллельно тому, что Юнити уже хранит всю иерархию сцены, Вы собираетесь хранить свою?


Вот я прочитал "плюсы", разумеется. И нифига их не понял.
Не связано с сериалиализацией, но seaman предположил то же что и я, вы параллельно хотите хранить свою иерархию сцены и зависимостей.
Разработка игр, немножко игровая журналистика, сейчас делаем Календарь: даты выхода игр
Аватара пользователя
snezhok_13
UNIверсал
 
Сообщения: 450
Зарегистрирован: 09 сен 2013, 11:12
Skype: s.coremission
  • Сайт

Re: Идея синтаксического генератора (editor+dom+code)

Сообщение ShockWave2048 12 сен 2017, 13:28

seaman - а в чем проблема? даже если сто объектов, это сто ссылочных переменных, это же не мегабайты данных. Там не хранятся копии объектов, или что вы подразумеваете под "параллельным хранением иерархии"?

Для 100 объектов ссылочного типа это примерно 400-800(х64) байт, плюс обязательные затраты на сбор и инициализацию или вы про какое то другое хранение?
May we live to see another day.
Аватара пользователя
ShockWave2048
UNIт
 
Сообщения: 53
Зарегистрирован: 07 авг 2014, 20:23


Вернуться в Инструментарий

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2