Skip to content
/ Uniforms Public

🖼 Фреймворк для Unity3D для создания окон редакторов

License

Notifications You must be signed in to change notification settings

k0dep/Uniforms

Repository files navigation

Uniforms

Фреймворк для Unity3D для создания окон редакторов используя компоненты(например как в Windows forms) и все прелести ООП вместо того чтобы размазывать отрисовку контролов imgui Unity3D вместе с логикой в одном месте.

Позволяет относительно быстро делать штуки подобно этому:

interface IExampleView
{
    event Action Click;
}

class ExampleView : Window, IExampleView
{
    [MenuItem("Example/Window")]
    public static void CreateWindow() { GetWindow<ExampleView>(); }

    public event Action Click;

    public override void PostInit()
    {
        var label = new ControllLabel("Text");
        var button = new ControllButton("click me!");
        button.EventClick += () =>
        {
            if (Click != null) Click();
        };

        MainControll = new ControllVerticalLayout(label, button);
    }
}

class ExampleController
{
    public IExampleView View { get; private set; }

    public ExampleController(IExampleView view)
    {
        View = view;
        view.Click += () => EditorUtility.DisplayDialog("click", "click!!", "ok");
    }
}

class ExampleFactory
{
    [MenuItem("Example/Window")]
    public static void CreateWindow()
    {
        var view = EditorWindow.GetWindow<ExampleView>();
        var controller = new ExampleController(view);
    }
}

Резельтат:

Пример окна

About

🖼 Фреймворк для Unity3D для создания окон редакторов

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages