DataBind
DataBind copied to clipboard
Simple data binding for Unity
trafficstars
DataBind
Simple data binding for unity.
Usage
- Import package file DataBind.unitypackage into Unity
- Add
DataBindContextto parent object - Add
Bind*components to children - Use
dataBindContext[key] = valueto bind values
Check out Demo/DemoScene for details.
Bind Text
Surround keys with double curly braces in UI Text and set values in parent DataBindContext

var context = GetComponent<DataBindContext>();
context["Username"] = "Bobby";
Result:

Custom Binds
Package contains components for binding UI Text, UI Image's sprite and UI Graphics's color. Custom binds can be created simply by implementing IBindable interface.
using UnityEngine;
using UnityEngine.UI;
public class BindPosition : MonoBehaviour, IBindable
{
[SerializeField]
private Transform m_Target;
[SerializeField]
private string m_Key;
public void Bind(DataBindContext context)
{
if (context.ContainsKey(m_Key)) {
m_Target.position = (Vector3)context[m_Key];
}
}
}
Bind any property
You can bind any two properties using BindProperty component. Currently, there is no type checking. If destination property is of type String, then source will be converted using ToString method.
