99%

Добавлен , опубликован
Что ж, я почти закончил редактор.
Однако с релизом всё-таки немного обождем, ибо жду от заказчика средств за проект, который включает так же и вот этот инструмент.
Последняя новость как я понял не слишком обрадовала наше сообщество - было много замечаний, которые я в той или иной мере услышал и постарался переделать так, чтобы было хоть чуть-чуть удобнее.
В общем контролы на данный момент выглядят вот так:
Сверху вниз:
  • для типа bool
  • для типа int
  • для типа void
Как можете заметить:
  • кнопки сместились вниз и отображаются только при наведении на элемент (многократное замечание)
  • появилась подсказка по наведению на элемент (замечание Кет)
  • cами элементы более не расширяются по высоте тем ужасным способом, как это было вначале, если "вложений" слишком много (многократное замечание)
  • теперь нет лишних скобок внутри простой арифметики, архитектура арифметики "спрятана" (замечание Doc)
  • так же элементы теперь подстраиваются под размер своего содержимого (замечание ScorpioT1000)
Какие планы есть?
  • Добавить переменные - руки пока не дотянулись
  • Добавить генерацию из строки - замечание prog
  • Скорей всего нижнюю полоску и подсказку нужно сделать выпрыгивающими, не занимающими доп место. Однако тут есть свои нюансы у юньки, что нельзя делать окна поверх без фокуса :(
В чем 1%?
Осталось доделать внешний вид под контекстные действия - условия там, циклы и прочую мурню.
Что еще вообще было сделано за последнее время?
  1. целиком было переписано отображение ГУИ. Собственно контролы теперь полностью попиксельно отрисовываются, потому весь "процесс" легко проконтролировать.
  2. были написаны дополнительные "sub-наработки". Некоторые наработки я представил в сыром виде на этом сайте, надо бы обновить (такие как попап и сериализаторы, например).
  3. Добавлено приведение типов двумя способами - implicit и explicit
implicit это спрятанное приведение типов, не порождающее "отдельного контрола"
explicit это явное приведение типов, пример на 2 скрине сверху - надпись "дробь" у основного поля типа int
Приведения типов позволяет по быстрому добавлять функции смежных типов.
  1. Собственно изменен подход к арифметике
  2. Изменен подход к действиям. Теперь действия вообще умная вещь, и остаются компактными несмотря на все невзгоды.
Ладно, что-то я записался. Уже лень даже дальше строчить - хотя рассказать то вроде и есть чего. Однако, достаточно и того, что вы посмотрите скриншотики разработки и дадите очередную порцию дельных советов - как вам оформление теперь, чего бы еще эдакого хотелось увидеть в тулсе.
Дабы избежать снова вопроса зачем этот редактор - он позволяет визуально вычислять любые значения и запускать сценарии из действий в игре.
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
30
9 лет назад
0
ScorpioT1000, так-то не я делал - не я продавать буду. Просто ткнул в возможность такого.
0
27
9 лет назад
Отредактирован Devion
0
иначе ее не присунешь - окно может быть только прямоугольным и всегда заливается полностью. Если бы там можно было делать окна хотя бы "поверх всех окон, но без фокуса" - я бы влепил в другое место и под другим оформлением. Юнити в рисовании такого - очень ограничен. Сейчас и то "магия" интерфейса вышла, на костылях целиком.
Сделал еще вот такое - если действие контекста пустое, то его можно свернуть. Хотел как то сократить всякие 'else' в случаях, когда они не используются. Аналогично для while/for/foreach и подобных.
Соответственно если действие не пустое, стрелка пропадает. Вот есть сомнения - может ее оставлять стоит всегда, а не только когда пусто?
Загруженные файлы
0
29
9 лет назад
0
Extravert, а пока жи ка как выглядит if с несколькими действиями, а то у меня какие то смутные сомнения по этому поводу
Extravert:
иначе ее не присунешь
я про сам текст подсказки
0
27
9 лет назад
Отредактирован Devion
0
alexprey, в данный момент вывести не могу, ибо переделываю попап с данными, но в целом это выглядит так:
где сейчас надпись "ничего не делать" написана надпись "Цепочка действий (9)" и справа кнопка, нажатие на которую приведет к показу этих действий.
я про сам текст подсказки
я там немного поправил сейчас, в общем сейчас оно выглядит вот так:
Там была недоделка, что названия параметров и методы в этих параметрах разделялись точками, что не правильно
0
29
9 лет назад
0
я там немного поправил сейчас, в общем сейчас оно выглядит вот так:
Там была недоделка, что названия параметров и методы в этих параметрах разделялись точками, что не правильно
Ну так лучше, да
Extravert:
в данный момент вывести не могу, ибо переделываю попап с данными, но в целом это выглядит так:
забыл скриншот :(
0
27
9 лет назад
0
забыл скриншот :(
я ниже текстом написал, говорю ж, не могу пока вывести ) Вечером накину скриншот.
0
29
9 лет назад
Отредактирован alexprey
0
Extravert, аааа
где сейчас надпись "ничего не делать" написана надпись "Цепочка действий (9)" и справа кнопка, нажатие на которую приведет к показу этих действий.
так а как они показываться то будут? Меня вот это интересует
0
27
9 лет назад
Отредактирован Devion
0
alexprey:
так а как они показываться то будут? Меня вот это интересует
Приблизительно так. В попапе первую строку только поправлю
Загруженные файлы
0
37
9 лет назад
0
Как-то все очень неудобно
0
27
9 лет назад
0
ScorpioT1000, Меня тоже много что там смущает. В частности что сейчас не всегда понятно что откуда. Есть конкретные предложения по улучшению?
0
37
9 лет назад
0
деревья в высоту, а не в ширину
короче чтобы максимально на код было похоже
0
27
9 лет назад
0
ScorpioT1000, просто такие линейки, они в остальной интерфейс легче вклиниваются.
Могу сделать две версии переключателем каскад/линия. Пойдет?
2
37
9 лет назад
2
можно автоматика, если нагружено, то каскадом становится
в ск2 норм, но там всеравно иногда тянется ппц
например, длинные строки и большое кол-во аргументов
0
27
9 лет назад
0
ScorpioT1000, понял
2
37
9 лет назад
Отредактирован ScorpioT1000
2
вот ты код пишешь, если у тебя заходит за 120 символов, ты его переписываешь, пишешь не горизонтально аргументы функции, а вертикально, список переменных не через запятую, а отдельно, массив в виде "матрицы" заполняешь, так и тут надо адаптацию
если
if(aaaaaaaaaa && bbbbbbbb && ccccccc || (ddddddddd && eeeeeee && fffffffffffffffffff))
слишком длинны, то сделать
if(aaaaaaaaaa
   && bbbbbbbbbb
   && ccccccccccc
   || (ddddddddd
       && eeeeeeeeeeee
       && ffffffffffffffffffffff) )
{
или функции
function my(aaaaaaaaaa,bbbbbbbb,cccccccccc,ddddddddddd,eeeeeeeeeeeee,ffffffffffff) {
=>
function my(aaaaaaaaaa
            bbbbbbbbbb
            ccccccccccccc
            ddddddddd
            eeeeeee
            fffffffffffff)
{
или если имя функции еще длинное:
function myMymyMymyMymyMymyMyfunction(aaaaaaaaaaaaaaaaaaa, bbbbbbbbbbbb, ccccccc, dddddddd, eeeeeeeee) {
=>
function myMymyMymyMymyMymyMyfunction(
    aaaaaaaaaaaaaaaaaaa, 
    bbbbbbbbbbbb, 
    ccccccc, 
    dddddddd, 
    eeeeeeeee
) {
0
27
9 лет назад
Отредактирован Devion
0
ScorpioT1000, ну, у меня выйдет все-таки попроще, ибо пока что лень сильно заморачиваться. Просто сделаю перенос если длина выше определенной.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.