{"id":16207983,"url":"https://github.com/coryleach/unitybindings","last_synced_at":"2025-03-19T08:30:39.831Z","repository":{"id":138391105,"uuid":"208924126","full_name":"coryleach/UnityBindings","owner":"coryleach","description":"Utility components for quickly binding data values to views.","archived":false,"fork":false,"pushed_at":"2020-07-20T17:17:54.000Z","size":206,"stargazers_count":41,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-17T05:04:10.650Z","etag":null,"topics":["binding","bindings","gameframe","gui","inotifypropertychanged","reflection","ui","unity","unity3d","upm","wire"],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/coryleach.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-09-17T00:34:04.000Z","updated_at":"2024-12-25T14:07:20.000Z","dependencies_parsed_at":"2023-04-30T11:00:14.199Z","dependency_job_id":null,"html_url":"https://github.com/coryleach/UnityBindings","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coryleach%2FUnityBindings","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coryleach%2FUnityBindings/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coryleach%2FUnityBindings/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/coryleach%2FUnityBindings/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/coryleach","download_url":"https://codeload.github.com/coryleach/UnityBindings/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244389654,"owners_count":20444979,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["binding","bindings","gameframe","gui","inotifypropertychanged","reflection","ui","unity","unity3d","upm","wire"],"created_at":"2024-10-10T10:15:01.302Z","updated_at":"2025-03-19T08:30:39.065Z","avatar_url":"https://github.com/coryleach.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg align=\"center\" src=\"https://raw.githubusercontent.com/coryleach/UnityPackages/master/Documentation/GameframeFace.gif\" /\u003e\n\u003c/p\u003e\n\u003ch1 align=\"center\"\u003eGameframe.Bindings 👋\u003c/h1\u003e\n\n\u003c!-- BADGE-START --\u003e\n[![Codacy Badge](https://app.codacy.com/project/badge/Grade/0bb60e11b3c9422d94c523c43bce4713)](https://www.codacy.com/manual/coryleach/UnityBindings?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=coryleach/UnityBindings\u0026amp;utm_campaign=Badge_Grade)\n![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/coryleach/UnityBindings?include_prereleases)\n[![openupm](https://img.shields.io/npm/v/com.gameframe.bindings?label=openupm\u0026registry_uri=https://package.openupm.com)](https://openupm.com/packages/com.gameframe.bindings/)\n[![license](https://img.shields.io/github/license/coryleach/UnityBindings)](https://github.com/coryleach/UnityBindings/blob/master/LICENSE)\n\n[![twitter](https://img.shields.io/twitter/follow/coryleach.svg?style=social)](https://twitter.com/coryleach)\n\u003c!-- BADGE-END --\u003e\n\nThis is a library of binding components that allow you to quickly wire data sources to target properties via the inspector.    \n    \nBinding changes propagate via the System.ComponentModel.INotifyPropertyChanged interface but the included binding components will also refresh their target properties in OnEnable.    \nA general purpose ComponentBinding monobehaviour is included to wire any two UnityEngine.Objects together as well as a TextBinding for quick and simple binding to text fields.\n\n## Quick Package Install\n\n#### Using UnityPackageManager (for Unity 2019.3 or later)\nOpen the package manager window (menu: Window \u003e Package Manager)\u003cbr/\u003e\nSelect \"Add package from git URL...\", fill in the pop-up with the following link:\u003cbr/\u003e\nhttps://github.com/coryleach/UnityBindings.git#1.0.5\u003cbr/\u003e\n\n#### Using UnityPackageManager (for Unity 2019.1 or later)\n\nFind the manifest.json file in the Packages folder of your project and edit it to look like this:\n```js\n{\n  \"dependencies\": {\n    \"com.gameframe.bindings\": \"https://github.com/coryleach/UnityBindings.git#1.0.5\",\n    ...\n  },\n}\n```\n\n\u003c!-- DOC-START --\u003e\n\u003c!-- \nChanges between 'DOC START' and 'DOC END' will not be modified by readme update scripts\n--\u003e\n\n## Usage\n\nThis library contains a small set of components that can be used to bind source property values to target property values in the Unity inspector.  \nFor an example of how the components are used import the package included in the Demo folder after installing this package.\n\n![Demo1](https://raw.githubusercontent.com/coryleach/UnityBindings/dev/Demo/Demo1.PNG)\n![Demo2](https://raw.githubusercontent.com/coryleach/UnityBindings/dev/Demo/Demo2.PNG)\n\n```C#\n//Bindings can also be created in code as follows\n//Currently all bindings are one way from source to target\nvar binding = new Binding();\n\n//If your source implements INotifyPropertyChanged correctly changes will automatically propagate\nbinding.SetSource(myData,\"SourcePropertyName\");\nbinding.SetTarget(myView,\"TargetPropertyName\");\n\n//You can also force a refresh (unnecessary if source implements INotifyPropertyChange)\nbinding.Refresh();\n\n//Temporarily disable bindings\nbinding.Enabled = false;\n\n//Set a custom converter to transform source values before they are passed to the target\nbinding.Converter = (x) =\u003e x.ToString();\n\n//Destroy the Binding\nbinding.Dispose(); \n```\n\n\u003c!-- DOC-END --\u003e\n\n## Author\n\n👤 **Cory Leach**\n\n* Twitter: [@coryleach](https://twitter.com/coryleach)\n* Github: [@coryleach](https://github.com/coryleach)\n\n\n## Show your support\n\nGive a ⭐️ if this project helped you!\n\n***\n_This README was generated with ❤️ by [Gameframe.Packages](https://github.com/coryleach/unitypackages)_\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoryleach%2Funitybindings","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoryleach%2Funitybindings","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoryleach%2Funitybindings/lists"}