Loxodon Framework

license release

(中文版)

MVVM Framework for Unity3D(C# & XLua)

Developed by Clark

Requires Unity 5.6.0 or higher.

LoxodonFramework is a lightweight MVVM(Model-View-ViewModel) framework built specifically to target Unity3D. Databinding and localization are supported.It has a very flexible extensibility.It makes your game development faster and easier.

For tutorials,examples and support,please see the project.You can also discuss the project in the Unity Forums.

The plugin is compatible with MacOSX,Windows,Linux,UWP,IOS and Android,and provides all the source code of the project.

Tested in Unity 3D on the following platforms:
PC/Mac/Linux
IOS
Android
UWP(window10)

Chinese manual

Downloads

Key Features:

Notes

Quick Start

Create a view and view model of the progress bar.

public class ProgressBarViewModel : ViewModelBase
{
    private string tip;
    private bool enabled;
    private float value;
    public ProgressBarViewModel()
    {
    }

    public string Tip
    {
        get { return this.tip; }
        set { this.Set<string>(ref this.tip, value, nameof(Tip)); }
    }

    public bool Enabled
    {
        get { return this.enabled; }
        set { this.Set<bool>(ref this.enabled, value, nameof(Enabled)); }
    }

    public float Value
    {
        get { return this.value; }
        set { this.Set<float>(ref this.value, value, nameof(Value)); }
    }
}

public class ProgressBarView : UIView
{
    public GameObject progressBar;
    public Text progressTip;
    public Text progressText;
    public Slider progressSlider;

    protected override void Awake()
    {
        var bindingSet = this.CreateBindingSet<ProgressBar, ProgressBarViewModel>();

        bindingSet.Bind(this.progressBar).For(v => v.activeSelf).To(vm => vm.Enabled).OneWay();
        bindingSet.Bind(this.progressTip).For(v => v.text).To(vm => vm.Tip).OneWay();
        bindingSet.Bind(this.progressText).For(v => v.text)
            .ToExpression(vm => string.Format("{0:0.00}%", vm.Value * 100)).OneWay();
        bindingSet.Bind(this.progressSlider).For(v => v.value).To(vm => vm.Value).OneWay();

        bindingSet.Build();
    }
}

Plugins

Tutorials and Examples

Introduction

Contact Us

Email: yangpc.china@gmail.com
Website: https://cocowolf.github.io/loxodon-framework/
QQ Group: 622321589