Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/k0dep/uniforms

🖼 Фреймворк для Unity3D для создания окон редакторов
https://github.com/k0dep/uniforms

editor-extension mvc unity3d unity3d-editor view

Last synced: 4 months ago
JSON representation

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

Awesome Lists containing this project

README

        

# Uniforms

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

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

```csharp
interface IExampleView
{
event Action Click;
}

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

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();
var controller = new ExampleController(view);
}
}
```

Резельтат:

![Пример окна](https://raw.githubusercontent.com/k0dep/Uniforms/master/docs/exampleview.png)