{"id":19445726,"url":"https://github.com/kuritaro1122/kurikit-simplegamekit","last_synced_at":"2026-04-26T08:38:04.315Z","repository":{"id":170530461,"uuid":"503154674","full_name":"kuritaro1122/KuriKit-SimpleGameKit","owner":"kuritaro1122","description":"栗きんとん","archived":false,"fork":false,"pushed_at":"2023-02-07T10:14:49.000Z","size":115,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-10T20:24:38.810Z","etag":null,"topics":["csharp","unity","unity-scripts"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kuritaro1122.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":"2022-06-14T00:20:23.000Z","updated_at":"2023-08-19T05:44:34.000Z","dependencies_parsed_at":"2023-09-03T02:17:41.145Z","dependency_job_id":null,"html_url":"https://github.com/kuritaro1122/KuriKit-SimpleGameKit","commit_stats":null,"previous_names":["kuritaro1122/kurikit-simplegamekit"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/kuritaro1122/KuriKit-SimpleGameKit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuritaro1122%2FKuriKit-SimpleGameKit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuritaro1122%2FKuriKit-SimpleGameKit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuritaro1122%2FKuriKit-SimpleGameKit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuritaro1122%2FKuriKit-SimpleGameKit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kuritaro1122","download_url":"https://codeload.github.com/kuritaro1122/KuriKit-SimpleGameKit/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kuritaro1122%2FKuriKit-SimpleGameKit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32291265,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T08:29:33.829Z","status":"ssl_error","status_checked_at":"2026-04-26T08:29:18.366Z","response_time":129,"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":["csharp","unity","unity-scripts"],"created_at":"2024-11-10T16:11:35.989Z","updated_at":"2026-04-26T08:38:04.299Z","avatar_url":"https://github.com/kuritaro1122.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [KuriKit]\n\nゲームの画面を管理する。タイトル画面やゲーム画面、ゲームクリア画面をメソッド一つで切り替えられる。\nポーズ時には、自動的にタイムスケールを0にセットする。\n\n# Requirement\n* System.Collections.Generic\n* UnityEngine\n* System\n\n# Usage\n① KuriKitGameManagerを任意のオブジェクトにコンポーネント.（1シーンに一つのみ）\\\n② KuriKitGameManager以外のクラスを, MonoBehaviourの代わりにBaseKuriKitMonoBehaviourを継承.\\\n③ 自由にプログラムを組む.\\\n（baseメソッドを呼ぶことで, ゲーム開始時やタイトル遷移時に処理を行える. KKGameクラスを使ってシーンを切り替えたりする）\n\n# DEMO\n```cs\nusing UnityEngine;\nusing KuriKit;\n\npublic class PlayerMovement : BaseKuriKitMonoBehaviour {\n    [SerializeField] float speed = 10f;\n    public override void KKOnLoadTitle() {\n        this.transform.position = new Vector3(0, this.transform.position.y, 0);\n    }\n    public override void KKUpdate(float uiDeltaTime, float gameDeltaTime) {\n        switch (KKGame.SceneState) {\n            case KuriKitGameManager.SceneStateEnum.TitleScene:\n                if (Input.GetKeyDown(KeyCode.Space)) {\n                    KKGame.StartGame();\n                }\n                break;\n            case KuriKitGameManager.SceneStateEnum.GameScene:\n                Movement(gameDeltaTime);\n                if (Input.GetKeyDown(KeyCode.Space)) {\n                    KKGame.SetPause(!KKGame.Pause);\n                }\n                if (Input.GetKeyDown(KeyCode.Escape) \u0026\u0026 KKGame.Pause) {\n                    KKGame.Title();\n                }\n                if (Input.GetKeyDown(KeyCode.A)) {\n                    KKGame.GameClear();\n                }\n                if (Input.GetKeyDown(KeyCode.B)) {\n                    KKGame.GameOver();\n                }\n                break;\n            case KuriKitGameManager.SceneStateEnum.GameClearScene:\n                if (Input.GetKeyDown(KeyCode.Escape)) {\n                    KKGame.Title();\n                }\n                break;\n            case KuriKitGameManager.SceneStateEnum.GameOverScene:\n                if (Input.GetKeyDown(KeyCode.Escape)) {\n                    KKGame.Title();\n                }\n                break;\n        }\n    }\n    private void Movement(float deltaTime) {\n        Vector3 pos = this.transform.position;\n        pos.x += this.speed * Input.GetAxisRaw(\"Horizontal\") * deltaTime;\n        this.transform.position = pos;\n    }\n}\n```\n\n# [KuriKitGameManager]\n\n# Contains\n\n## Inspector\n![img](/Img/inspector.png/)\n\n## Public Variable\n```\nSceneStateEnum SceneState { get; }\nbool Pause { get; }\nfloat UITimeScale { get; }\nfloat UIDeltaTime { get; }\nfloat GameTimeScale { get; }\nfloat GameDeltaTime { get; }\n```\n## Public Function\n```cs\nvoid Title()\nvoid StartGame()\nvoid GameOver()\nvoid GameClear()\nvoid QuitApp()\nvoid AddKuriKitMonoBehaviours(IKuriKitMonoBehaviour kuriKitMonoBehaviour)\nvoid SetScene(SceneStateEnum sceneState)\nvoid SetPause(bool pause)\nvoid SetTimeScale(float timeScene)\n```\n\n## Enum\n```cs\nSceneStateEnum { GameScene, TitleScene, GameClearScene, GameOverScene }\n```\n\n# [BaseKuriKitMonoBehaviour]\n\n# Contains\n\n## Public Function (virtual)\n```cs\nvoid Start() //no use!!\nvoid KKUpdate(float uiDeltaTime, float gameDeltaTime)\nvoid KKOnLoadTitle()\nvoid KKOnGameOver()\nvoid KKOnGameClear()\n```\n\n# [KKGame] （static class)\n\n## Static Function\n```cs\n// values\nKuriKitGameManager\nSceneStateEnum SceneState\nbool Pause\nfloat UITimeScale\nfloat UIDeltaTime\nfloat GameTimeScale\nfloat GameDeltaTime\n\n// scene\nvoid Title()\nvoid StartGame()\nvoid GameOver()\nvoid GameClear()\n\n// operation\nvoid QuitApp()\nvoid SetPause(bool pause)\nvoid SetTimeScale(float timeScale)\n```\n\n# Note\n\n* BaseKuriKitMonoBehaviourのメソッドはオーバーライドして使ってください. newステートメントで上書きしたり, KuriKitGameManager以外でメソッドを呼ぶと, 予期せぬ動きをする可能性があります.\n* timeScaleにはUI用とGame用の2種類を用意しています. UI用は常に Time.unscaledTim eを返しますが, Game用は通常 Time.timeScale を返し, Pause時やGameScene以外の時には 0f を返します.\n\n\n# License\n\n\"KuriKit\" is under [The Unlicense](https://ja.wikipedia.org/wiki/Unlicense).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuritaro1122%2Fkurikit-simplegamekit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkuritaro1122%2Fkurikit-simplegamekit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkuritaro1122%2Fkurikit-simplegamekit/lists"}