All Projects → tinrab → DataBind

tinrab / DataBind

Licence: MIT license
Simple data binding for Unity

Programming Languages

C#
18002 projects

Projects that are alternatives of or similar to DataBind

UBind
UBind is a value binding component for Unity, which is used to quickly realize the association binding between UI and logical data.
Stars: ✭ 57 (-10.94%)
Mutual labels:  databind
kotlin-mvp-starter
MVP Starter with RxJava, Dagger 2 in Kotlin
Stars: ✭ 56 (-12.5%)
Mutual labels:  databind
DeezerClone
This Application using Dagger Hilt, Coroutines, Flow, Jetpack (Room, ViewModel, LiveData),Navigation based on MVVM architecture.
Stars: ✭ 81 (+26.56%)
Mutual labels:  databind

DataBind

Simple data binding for unity.

Usage

  1. Import package file DataBind.unitypackage into Unity
  2. Add DataBindContext to parent object
  3. Add Bind* components to children
  4. Use dataBindContext[key] = value to 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

alt text

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

Result:

alt text

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.

alt text

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].