{"id":18048294,"url":"https://github.com/relintai/ui_extensions","last_synced_at":"2025-04-10T09:50:38.846Z","repository":{"id":107319282,"uuid":"182405882","full_name":"Relintai/ui_extensions","owner":"Relintai","description":"Small extensions engine module for GODOT.","archived":false,"fork":false,"pushed_at":"2023-01-09T20:17:05.000Z","size":110,"stargazers_count":3,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-24T08:46:50.687Z","etag":null,"topics":["engine-module","extensions","godot"],"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/Relintai.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-20T12:54:02.000Z","updated_at":"2023-10-08T03:34:44.000Z","dependencies_parsed_at":"2023-07-02T19:06:00.765Z","dependency_job_id":null,"html_url":"https://github.com/Relintai/ui_extensions","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Relintai%2Fui_extensions","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Relintai%2Fui_extensions/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Relintai%2Fui_extensions/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Relintai%2Fui_extensions/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Relintai","download_url":"https://codeload.github.com/Relintai/ui_extensions/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248197564,"owners_count":21063620,"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":["engine-module","extensions","godot"],"created_at":"2024-10-30T20:12:20.193Z","updated_at":"2025-04-10T09:50:38.821Z","avatar_url":"https://github.com/Relintai.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UI Extensions\n\nThis is a c++ engine module for the Godot engine, containing smaller utilities.\n\nIt supports both godot 3.2 and 4.0 (master [last tested commit](https://github.com/godotengine/godot/commit/b7e10141197fdd9b0dbc4cfa7890329510d36540)). Note that since 4.0 is still in very early stages I only \ncheck whether it works from time to time.\n\n## Godot Version Support\n\nThis branch tries to follow godot's master branch (as much as I have time).\n\nFor different godot versions look at the other branches.\n\nStatus for this branch: Update for 4.0 is work in progress.\n\n# TouchButton\n\nA `Control` based button, that handles multitouch properly.\n\n# BSInputEventKey\n\nAn `inputEventKey` implementation, that matches actions exactly.\n\nFor example with the default godot implementation if you have an action that gets triggered \nwith the key `E` then `Ctrl-E` will also trigger it.\n\nThis has the side effect, that if you bind an action to `E`, and an another one to `Ctrl-E`,\nthen hitting `Ctrl-E` will trigger both.\n\nThis implementation changes that behaviour.\n\nHowever, you do need to replace normal input events at startup like this:\n\n```\nfunc _ready():\n\tvar actions : Array = InputMap.get_actions()\n\t\n\tfor action in actions:\n\t\tvar acts : Array = InputMap.get_action_list(action)\n\t\t\n\t\tfor i in range(len(acts)):\n\t\t\tvar a = acts[i]\n\t\t\tif a is InputEventKey:\n\t\t\t\tvar nie : BSInputEventKey = BSInputEventKey.new()\n\t\t\t\tnie.from_input_event_key(a as InputEventKey)\n\t\t\t\tacts[i] = nie\n\t\t\t\t\n\t\t\t\tInputMap.action_erase_event(action, a)\n\t\t\t\tInputMap.action_add_event(action, nie)\n\n```\n\nI recommend putting this code into a singleton.\n\n# Building\n\n1. Get the source code for the engine.\n\nIf you want Godot 3.2:\n```git clone -b 3.2 https://github.com/godotengine/godot.git godot```\n\nIf you want Godot 4.0:\n```git clone https://github.com/godotengine/godot.git godot```\n\n\n2. Go into Godot's modules directory.\n\n```\ncd ./godot/modules/\n```\n\n3. Clone this repository\n\n```\ngit clone https://github.com/Relintai/ui_extensions ui_extensions\n```\n\n4. Build Godot. [Tutorial](https://docs.godotengine.org/en/latest/development/compiling/index.html)\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frelintai%2Fui_extensions","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frelintai%2Fui_extensions","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frelintai%2Fui_extensions/lists"}