com.koiusa.application
v0.2.0
Published
Reusable application lifecycle and quit handling for Unity projects.
Maintainers
Readme
Koiusa Application
Unityプロジェクト全般で再利用できるシステム機能を提供します。
Installation
Scoped Registryへhttps://registry.npmjs.comとスコープcom.koiusaを登録し、Package Managerからcom.koiusa.applicationをインストールしてください。
GameQuitter
GameQuitterをGameObjectへ追加し、ボタン、メニュー、入力アダプターなどからRequestQuit()を呼びます。RuntimeではApplication.Quit()を呼び、Unity Editorでは同梱のEditor bridgeがPlay Modeを終了します。同じインスタンスへの終了要求は一度だけ処理され、IsQuitRequestedで確認できます。
Key configuration
Input Systemから終了要求を接続する場合は、com.koiusa.input.coreのInputActionPerformedTriggerを使用します。TriggerのperformedイベントをGameQuitter.RequestQuit()へ接続してください。
application自体はInput System、input.core、keyconfigのいずれにも依存しません。
終了要求を記録したり、終了直前の処理を接続したりする場合は静的イベントを購読できます。
using Koiusa.App;
gameQuitter.RequestQuit();
GameQuitter.QuitRequested += SaveBeforeQuit;購読側は自身のライフタイム終了時に必ず解除してください。
ApplicationLifecycle
ApplicationLifecycleはUnityのフォーカス、一時停止、終了通知をインスタンス単位の型付きイベントとして公開します。状態はIsFocused、IsPaused、IsQuittingから随時確認できます。
applicationLifecycle.FocusChanged += OnFocusChanged;
applicationLifecycle.PauseChanged += OnPauseChanged;
applicationLifecycle.Quitting += OnQuitting;イベントは状態が実際に変化した場合だけ発火します。購読側は自身のライフタイム終了時に解除してください。
