{"id":19905111,"url":"https://github.com/solutena/toenumattribute","last_synced_at":"2026-01-28T16:01:33.576Z","repository":{"id":216115879,"uuid":"740510096","full_name":"solutena/ToEnumAttribute","owner":"solutena","description":"ToEnumAttribute","archived":false,"fork":false,"pushed_at":"2024-12-04T18:14:56.000Z","size":47,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-02T17:38:23.613Z","etag":null,"topics":["attribute","enum","inspector","string","unity","unitypackage"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/solutena.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-01-08T13:48:25.000Z","updated_at":"2025-01-25T01:31:46.000Z","dependencies_parsed_at":null,"dependency_job_id":"86399685-e073-477f-a3f5-510e96b2416f","html_url":"https://github.com/solutena/ToEnumAttribute","commit_stats":null,"previous_names":["solutena/toenumattribute"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/solutena/ToEnumAttribute","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solutena%2FToEnumAttribute","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solutena%2FToEnumAttribute/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solutena%2FToEnumAttribute/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solutena%2FToEnumAttribute/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/solutena","download_url":"https://codeload.github.com/solutena/ToEnumAttribute/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/solutena%2FToEnumAttribute/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28846754,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-28T15:15:36.453Z","status":"ssl_error","status_checked_at":"2026-01-28T15:15:13.020Z","response_time":57,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["attribute","enum","inspector","string","unity","unitypackage"],"created_at":"2024-11-12T20:31:27.416Z","updated_at":"2026-01-28T16:01:33.560Z","avatar_url":"https://github.com/solutena.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ToEnumAttribute\r\n\r\n인스펙터에서 string 타입을 지정한 enum 형식으로 보여주는 어트리뷰트입니다.\r\n\r\n# 설치\r\n\r\n![image](https://github.com/user-attachments/assets/4474a28d-565e-4a10-b867-a3721588660b)\r\n\r\n1. URL 복사\r\n\r\n![image](https://github.com/user-attachments/assets/f4060f1d-94aa-4a49-b001-e7a5e01316e1)\r\n\r\n2. 패키지 매니저에서 Add Package from Git URL 선택\r\n\r\n![image](https://github.com/user-attachments/assets/dccb91d5-8c9d-495c-87bf-04b9787e7d63)\r\n\r\n3.  복사한 URL로 설치\r\n\r\n## 예제\r\n\r\n```csharp\r\npublic enum ItemType\r\n{\r\n\tWeapon,\r\n\tShield,\r\n\tArmor\r\n}\r\n```\r\n\r\n```csharp\r\npublic class Item : MonoBehaviour\r\n{\r\n\t[ToEnum(typeof(ItemType))] public string itemType;\r\n}\r\n```\r\n\r\n![image](https://github.com/solutena/ToEnumAttribute/assets/22467083/dcc3cef7-8067-49ed-b130-cbcc7239d56f)\r\n\r\nenum을 string형식으로 선언 한 후 [ToEnum(typeof(`Enum`))] 을 추가\r\n\r\nmeta 파일에는 string으로 저장되기 때문에\r\n\r\nenum의 중간에 값을 추가해도 값이 변하지 않습니다.\r\n\r\n```csharp\r\npublic enum ItemType\r\n{\r\n\tNone, //추가\r\n\tWeapon,\r\n\tShield,\r\n\tArmor\r\n}\r\n```\r\n```csharp\r\npublic class Item : MonoBehaviour\r\n{\r\n\t[ToEnum(typeof(ItemType))] public string stringType;\r\n\tpublic ItemType enumType;\r\n}\r\n```\r\n\r\n### None타입 추가 전\r\n\r\n![image](https://github.com/solutena/ToEnumAttribute/assets/22467083/d839b5aa-4ce3-4a55-b625-f56b75d930d4)\r\n\r\n### None타입 추가 후\r\n\r\n![image](https://github.com/solutena/ToEnumAttribute/assets/22467083/5ed56c08-1d40-4e7d-b698-6f17e1313f72)\r\n\r\n## 활용\r\n\r\n```csharp\r\npublic class Item : MonoBehaviour\r\n{\r\n\t[ToEnum(typeof(ItemType))] public string itemType;\r\n\r\n\tpublic ItemType ItemType =\u003e Enum.TryParse(itemType, out ItemType result) ? result : ItemType.None;\r\n}\r\n```\r\n\r\n코드에서 Enum으로 사용 할 땐 속성을 추가합니다.\r\n\r\n```C#\r\npublic class Item : MonoBehaviour\r\n{\r\n\t[ToEnum(typeof(ItemType))] public List\u003cstring\u003e list;\r\n\t[ToEnum(typeof(ItemType))] public string[] array;\r\n}\r\n```\r\n리스트와 배열을 지원합니다.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolutena%2Ftoenumattribute","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsolutena%2Ftoenumattribute","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsolutena%2Ftoenumattribute/lists"}