CHi — Conditional Hierarchy Styling Manager [Asset Store]

Части и запчасти к проектам, дополнительное программное обеспечение.

CHi — Conditional Hierarchy Styling Manager [Asset Store]

Сообщение Deadcow 06 июн 2015, 01:05

Изображение

Всем привет! Только что, наконец, прошел проверку мой первый плагин для юнити:
CHi

С ним можно легко устанавливать стили (иконки, фон, цвет текста) для объектов в иерархии по любым условиям.
В пару кликов можно установить стили по тэгу, названию слоя, по состоянию enabled/disabled объекта.
Возможность установить одну из 42 встроенных иконок, либо использовать свои.
Задавать общий для всех иконок цвет по умолчанию и переопределять цвет для конкретны стилей.

Изображение

Либо установить стили по вашему условию через код

Изображение

На первый взгляд может показаться громоздко, но стили по условию добавляются быстро и позволяют организовать приятный порядок и хорошую читаемость в сложных проектах :D

Для того, что бы задать стили по условию нужно реализовать в своём скрипте интерфейс ICHi с его единственным методом CHiCondition CHiThis()

Синтаксис:
Используется csharp
public CHiCondition CHiThis()
        {
                return new CHiCondition();
        }
 


далее, добавляем условия с помощью метода Add() прямо на только что созданном объекте CHiCondition.
Первым параметром в метод передаём лямбда выражение, возвращающее bool. Если результатом выражения будет true - стиль будет применён.
Второй параметр - объект CHiStyle. У него есть несколько методов, как WithBackground, WithForeground, WithIcon и WithColoredIcon, с помощью которых вы можете собрать стиль с нужными иконками и цветами.
Так же одному объекту можно задать несколько разных стилей с разными условиями:

Синтаксис:
Используется csharp
public CHiCondition CHiThis()
        {
                return new CHiCondition()

                        // Этот стиль будет применён ко всем объектам, к которым прикреплён этот скрипт (задаст цвет текста)
                        .Add(() => true, new CHiStyle().WithForeground(new Color(0.4f, 0.1f, 0.4f)))

                        // Этот стиль переопределит предыдущий, если название объекта начинается с Angry, и добавит вашу иконку (DemoSprite)
                        .Add(() => name.StartsWith("Angry"), new CHiStyle()
                                .WithForeground(CHiColor.Red)
                                .WithIcon(DemoSprite))

                        // Этот стиль переопределит предыдущие, если название объекта начинается с Nice, добавит одну из иконок по умолчанию (Heart)
                        .Add(() => name.StartsWith("Nice"), new CHiStyle()
                                .WithForeground(CHiColor.Green)
                                .WithColoredIcon(CHiIcon.Heart, Color.black))

                        // Этот стиль будет применяться, если у объекта есть дочерние объекты
                        .Add(() => transform.childCount > 0, new CHiStyle()
                                .WithBackground(new Color(.5f, .8f, .5f))
                                .WithIcon(CHiIcon.Layers));
        }
 


Результат работы этого скрипта:

Изображение

Посмотреть на работу плагина на живых примерах можно в этом видео
(ох, как я замучился его записывать :-B )



У меня уже есть идеи для дальнейшего развития плагина
С удовольствием выслушаю ваши идеи и пожелания
Аватара пользователя
Deadcow
UNец
 
Сообщения: 14
Зарегистрирован: 04 янв 2014, 23:01
Откуда: Moscow
  • Сайт

Re: CHi — Conditional Hierarchy Styling Manager [Asset Store]

Сообщение Paul Siberdt 06 июн 2015, 13:48

Это офигетительно!
Купил не задумываясь, жаль, к компу доберусь лишь в понедельник.
Заочно огромное спасибо!
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: CHi — Conditional Hierarchy Styling Manager [Asset Store]

Сообщение Diab10 06 июн 2015, 14:36

Можно ли в вкладке Project менять стили?
Аватара пользователя
Diab10
Адепт
 
Сообщения: 3401
Зарегистрирован: 17 мар 2011, 20:42
Откуда: 123 RUS
Skype: diab1023

Re: CHi — Conditional Hierarchy Styling Manager [Asset Store]

Сообщение Deadcow 06 июн 2015, 20:02

Paul Siberdt писал(а):Это офигетительно!
Купил не задумываясь, жаль, к компу доберусь лишь в понедельник.
Заочно огромное спасибо!

Вам спасибо! Стало быть, вы мой первый покупатель :)
Уже руки чешутся заняться новой версией, хотя сейчас у самого по проекту дедлайны :-B Но к концу месяца будет. Пока в планах добавить ещё возможность устанавливать стили для одного конкретного объекта, а не по условиям, плюс пара правок по тому, как в плагине хранятся пользовательские настройки.
Если вы успеете распробовать плагин и у вас появятся идеи по улучшению - по возможности добавлю :D

Diab10 писал(а):Можно ли в вкладке Project менять стили?


пока что нет) Вообще я думал об этом, но так и не придумал, какие стили и по каким условиям будут действительно оправданы (а не будут пустыми украшательствами)
А вы какой функционал хотели бы? Мог бы прикрутить в новой версии :)
Аватара пользователя
Deadcow
UNец
 
Сообщения: 14
Зарегистрирован: 04 янв 2014, 23:01
Откуда: Moscow
  • Сайт

Re: CHi — Conditional Hierarchy Styling Manager [Asset Store]

Сообщение Diab10 06 июн 2015, 20:07

Deadcow писал(а):пока что нет) Вообще я думал об этом, но так и не придумал, какие стили и по каким условиям будут действительно оправданы (а не будут пустыми украшательствами)
А вы какой функционал хотели бы? Мог бы прикрутить в новой версии :)


Наверно, по условиям, выставляемым в коде
Аватара пользователя
Diab10
Адепт
 
Сообщения: 3401
Зарегистрирован: 17 мар 2011, 20:42
Откуда: 123 RUS
Skype: diab1023

Re: CHi — Conditional Hierarchy Styling Manager [Asset Store]

Сообщение Paul Siberdt 07 июн 2015, 11:37

Насчет идей:
Помимо работы с тэгами и слоями, захотелось вешать стили на префиксы/суфиксы/имена объектов без кодописания.

Так же совсем не лишней была бы возможность привязки к компоненту/классу, опять же, минуя кодинг.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: CHi — Conditional Hierarchy Styling Manager [Asset Store]

Сообщение Deadcow 07 июн 2015, 13:16

Paul Siberdt писал(а):префиксы/суфиксы/имена объектов

Да! Я уже думал об этом, просто в своём проекте не нашел, где применить, но может быть полезно.

Paul Siberdt писал(а):Так же совсем не лишней была бы возможность привязки к компоненту/классу.

К сожалению, пока не нашел способа, как через Editor Window можно было бы задавать типы классов, а вот для встроенных компонентов можно какой-нибудь обходной метод придумать... идея отличная!
Аватара пользователя
Deadcow
UNец
 
Сообщения: 14
Зарегистрирован: 04 янв 2014, 23:01
Откуда: Moscow
  • Сайт

Re: CHi — Conditional Hierarchy Styling Manager [Asset Store]

Сообщение Paul Siberdt 07 июн 2015, 13:57

А разве не получится создать ссылку на Object, на которую юзер сможет повесить любой из своих монобехов?
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: CHi — Conditional Hierarchy Styling Manager [Asset Store]

Сообщение Deadcow 07 июн 2015, 16:15

Paul Siberdt писал(а):А разве не получится создать ссылку на Object, на которую юзер сможет повесить любой из своих монобехов?


После вашего комментария порылся опять и пришла новая идея, как это можно реализовать! Проблема была в том, что все настройки плагина должны сериализоваться, а Type сериализовать нельзя.
А сейчас покопался и нашел инфу про MonoScript, с которым можно хватануть любой из скриптов в проекте, из него хватать Type.AssemblyQualifiedName и сохранять уже его. Всё должно отлично выйти. Займусь в ближайшее время (popcorn)
И в AssetStore ни одного плагина с таким функционалом :ymsmug:
Аватара пользователя
Deadcow
UNец
 
Сообщения: 14
Зарегистрирован: 04 янв 2014, 23:01
Откуда: Moscow
  • Сайт

Re: CHi — Conditional Hierarchy Styling Manager [Asset Store]

Сообщение Paul Siberdt 07 июн 2015, 21:20

А чья чихуЯ на картинке? :) Ваша или с просторов инета?
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: CHi — Conditional Hierarchy Styling Manager [Asset Store]

Сообщение Deadcow 07 июн 2015, 22:53

Paul Siberdt писал(а):А чья чихуЯ на картинке? :) Ваша или с просторов инета?


Один из первых же попавшихся бесплатных фоток в гугле)) Вообще изначально всё называлось Conditional Hierarchy и все классы были и методы были длинные и нечитабельные) Потом пришла идея сократить до Чи, и вышли забавные CHiThis() или CHiStyle :D
Потом выяснилось, что Chi это такой мультяшный котёнок
Изображение
на всякий случай отказался от идеи использовать его в плагине, но идея с маскотом мне так понравилась, что решил использовать Chihuahua :D

Я уже подумываю о создании плагина Cow :) Consile Wrapper. Название придумал, а что плагин будет делать - пока нет :))
Аватара пользователя
Deadcow
UNец
 
Сообщения: 14
Зарегистрирован: 04 янв 2014, 23:01
Откуда: Moscow
  • Сайт

Re: CHi — Conditional Hierarchy Styling Manager [Asset Store]

Сообщение Paul Siberdt 08 июн 2015, 00:31

Ну, чо, подход к разработке креативный. ;)
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: CHi — Conditional Hierarchy Styling Manager [Asset Store]

Сообщение Paul Siberdt 01 апр 2016, 23:08

Хммм.... автор никуда не пропал, а, вот, проект застыл в далеком 2015-м, эххх....

Меж тем я словил ошибки при попытке билда под писюк из-за конфликтов-пересечений с эдитор-и-почти-эдитор-компонентами. Всвязи с энтим снёс чихуЮ, сбидился, кивнул, залил чиху, взад и, естесственно, просрал все полимеры потерял свои любимые настройки. По-энтому возникла мысля хранить настройки в отдельном внешнем файлике...

...хотя, кому я говорю, причинные места бабули давно поросли паутиною и мхом. :)
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт


Вернуться в Компоненты (Копилка)

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

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