{"id":13662297,"url":"https://github.com/a3geek/PrefsUGUI","last_synced_at":"2025-04-25T07:31:22.614Z","repository":{"id":88420246,"uuid":"146270940","full_name":"a3geek/PrefsUGUI","owner":"a3geek","description":"Auto creation GUI elements by doing variable declaration.","archived":false,"fork":false,"pushed_at":"2024-07-04T05:15:57.000Z","size":826,"stargazers_count":14,"open_issues_count":1,"forks_count":3,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-08-02T05:13:48.803Z","etag":null,"topics":["c-sharp","unity","unity3d"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/a3geek.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2018-08-27T08:43:57.000Z","updated_at":"2024-07-10T19:17:00.000Z","dependencies_parsed_at":"2024-01-18T16:25:18.924Z","dependency_job_id":"9ff79e3f-6670-413d-a2c0-7ed88e71d12b","html_url":"https://github.com/a3geek/PrefsUGUI","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/a3geek%2FPrefsUGUI","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a3geek%2FPrefsUGUI/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a3geek%2FPrefsUGUI/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/a3geek%2FPrefsUGUI/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/a3geek","download_url":"https://codeload.github.com/a3geek/PrefsUGUI/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223988154,"owners_count":17236862,"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":["c-sharp","unity","unity3d"],"created_at":"2024-08-02T05:01:54.757Z","updated_at":"2025-04-25T07:31:22.598Z","avatar_url":"https://github.com/a3geek.png","language":"C#","funding_links":[],"categories":["C\\#"],"sub_categories":[],"readme":"PrefsUGUI\r\n===\r\n\r\n\r\n## Description\r\nThe library that auto creation GUI elements by doing variable declaration.  \r\n\r\n*Inspired by [fuqunaga/PrefsGUI](https://github.com/fuqunaga/PrefsGUI)*  \r\nPrefsGUI is a so useful library. But, PrefsGUI is using the OnGUI system, So I have some problem by itself.\r\n- In high resolution display, GUI window is showing like so small.\r\n- OnGUI system don't have kind and useful visual.\r\n- I heard that OnGUI system to make a spike sometimes.\r\n- OnGUI system can't validate about input values.\r\n\r\nBy uGUI system, I can solve those problems like easy.\r\n\r\n![PrefsUGUI](./Documents/PrefsUGUI.gif)\r\n\r\n## Usage\r\nSample code\r\n```` csharp\r\nusing PrefsUGUI;\r\n\r\npublic class Example : MonoBehaviour\r\n{\r\n    public IReadOnlyPrefs\u003cfloat\u003e value = new PrefsFloat(\"value\", 10f);  // Read Only Interface.\r\n\r\n    private PrefsVector2 vec2 = new PrefsVector2(\"vec2\");\r\n}\r\n````\r\nIf you want to view more details, Let's check Example codes.  \r\n[Example codes](Assets/PrefsUGUI/Examples/)\r\n\r\n## Behaviour\r\n- Using the [XmlStorage](https://github.com/a3geek/XmlStorage) library for saving and loading data.\r\n\u003cbr /\u003e\r\n\r\n- A save key is generate by combine with full hierarchy path and SaveKey parameter.\r\n\r\n- If you attached PrefsParameters component to any GameObject, you can edit AggregationName and FileName for change XmlStorage information that used by PrefsUGUI.\r\n\r\n- I generate and use a dedicated Canvas.\r\n\u003cbr /\u003e\r\n\r\n- You can move uGUI window by mouse moving.\r\n\u003cbr /\u003e\r\n\r\n- If you pressed discard button, back values to last saved.\r\n\u003cbr /\u003e\r\n\r\n## Implemented type\r\n- PrefsBool\r\n- PrefsButton\r\n- PrefsColor\r\n- PrefsColorSlider\r\n- PrefsEnum\r\n- PrefsFloat\r\n- PrefsFloatSlider\r\n- PrefsImageLabel\r\n- PrefsInt\r\n- PrefsIntSlider\r\n- PrefsLabel\r\n- PrefsRect\r\n- PrefsString\r\n- PrefsVector2\r\n- PrefsVector2Int\r\n- PrefsVector3\r\n- PrefsVector3Int\r\n- PrefsVector4\r\n\r\n## References\r\n[fuqunaga/PrefsGUI](https://github.com/fuqunaga/PrefsGUI)  \r\n[XmlStorage](https://github.com/a3geek/XmlStorage)  \r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa3geek%2FPrefsUGUI","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fa3geek%2FPrefsUGUI","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fa3geek%2FPrefsUGUI/lists"}