変更履歴
1.0.6
破壊的変更
AchEngine.ExtensionsアセンブリとRuntime/Extensionsの拡張メソッドソースファイルを削除しました。関連する拡張メソッドガイド文書も削除しました。
1.0.5
新機能
AchTask/AchTask<T>を追加しました。UniTask とSystem.Threading.Tasks.Taskを単一の API に統合する非同期ラッパーです。com.cysharp.unitaskパッケージが検出されるとENABLE_UNITASKシンボルが自動定義されて UniTask で動作し、無い場合はTaskにフォールバックします。Delay、DelayRealtime、WaitUntil、WhenAll、WhenAny、CompletedTask、暗黙的変換を提供します。
ドキュメント
AchTaskの日本語・英語ドキュメントを追加しました (guide/async)。
1.0.4
破壊的変更
SoundManagerを削除しました。すべての利用箇所を新しいAudioManagerに置き換える必要があります。
新機能
AudioManagerを追加しました。SoundManagerの置き換えで、BGM クロスフェード (PlayBgm(clip, fadeDuration)、StopBgm(fadeDuration))、BGM 音量フェード (SetBgmVolume(volume, fadeDuration))、チャンネル別ミュート (MuteBgm、MuteSfx、MuteAll)、8 チャンネル同時再生 SFX プール、3D 空間オーディオ (PlaySfxAt(clip, worldPosition)) を提供します。AchTimerを追加しました。AchTimer.Wait(seconds)/AchTimer.WaitRealtime(seconds)でシンプルな待機を処理でき、AchTimer.Start(duration)はElapsed、Remaining、Progress(0–1)、IsDone、Cancel()、直接awaitなどを提供するAchTimerHandleを返します。CancellationTokenとuseUnscaledTimeをサポートします。内部のAchTimerRunnerはアプリ起動時に自動生成されるため、シーンへの設置は不要です。UIAchTimerコンポーネントを追加しました。Bind(handle)/Unbind()でAchTimerHandleをTextやSliderに接続し、進行状況をリアルタイムに表示します。AchButtonCooldownコンポーネントを追加しました。クリック直後にButtonを無効化し、指定時間後に自動で再有効化します。カウントダウン用TextラベルやOnCooldownStart/OnCooldownEndUnityEvent を内蔵しており、StartCooldown()、ResetCooldown()、IsCoolingDownを提供します。AchButtonHoldコンポーネントを追加しました。ボタンを押している間、設定された間隔で UnityEvent を繰り返し発火します。InitialDelayとRepeatIntervalを調整できます。AchDebugConsoleを追加しました。Unity のレンダースレッドに影響しないネイティブ UI オーバーレイのデバッグコンソールです。Android ではドラッグ可能なWindowManagerオーバーレイ (SYSTEM_ALERT_WINDOW権限が必要)、iOS ではUIWindowLevelAlert + 100のUIWindow、エディターではDrawEditorGUI()による IMGUI フォールバックとして動作します。API:Show()、Hide()、Toggle()、Clear()、IsVisible。RedDot.ClearAll()を追加しました。すべてのノードのカウントを一度に 0 にリセットします。RedDotBadgeにクリッククリア機能を追加しました。Clear On Click(既定値true)とButtonフィールドを追加し、関連付けられたボタンを押すと対応するキーのRedDot.Clear(key)が自動的に呼び出されます。
ドキュメント
- ソースコードと食い違っていた API 関連の 誤り 15 件を修正しました。
ServiceLocator.Get<T>()→Resolve<T>()、UIViewライフサイクルフックのシグネチャ修正 (object payload)、CloseSelf()の修正、存在しないShow<T>()/Close<T>()/CloseLayer()オーバーロードの削除、AchEngineScope↔ServiceLocatorライフサイクル図の修正、IServiceBuilder登録構文の修正、ISaveService.Configure()の所有権明示、パスファインディングドキュメントからRigidbody2D.MovePosition()参照の削除、Selectable<T>.mChangedイベント名の修正、Build()の GET/POST 限定の明示。 - 新機能全体に対する日本語・英語ドキュメントを追加しました:
AudioManager、AchTimer+UIAchTimer、AchButtonCooldown+AchButtonHold、AchDebugConsole。 - RedDot ドキュメントに
ClearAll()とクリッククリアバッジの使い方を追加しました。
1.0.3
SaveManager、ISaveService、LocalSaveServiceを追加しました。保存ロジックをPlayerManagerから分離した抽象化レイヤーで、同期/非同期 API の両方を提供し、将来的に Firestore、AWS などのクラウドバックエンドへ差し替えられるよう設計しています。PlayerManagerから保存・読み込みロジックを削除しました。現在は型別のデータコンテナ管理 (Add、Get、Remove) のみを担当します。AchProjectileを追加しました。Rigidbody2D を必要としない直線・誘導弾統合の発射体コンポーネントです。AchFollowerを完全な独立コンポーネントへリファクタリングしました。AchMoverへの依存を削除しています。- FontAsset Maker に多言語 FontAsset ビルド機能を追加しました。日本語・英語・韓国語をマルチチェックで選択し、それぞれ個別の
*_TMP.assetファイルを生成できます。 - すべてのランタイム非同期 API を
System.Threading.Tasks.Taskに統一しました。中間抽象だったAchTaskを削除しています。
1.0.2
- Unity Entities 向けの選択 ECS ヘルパーを追加しました。World、CommandBuffer、Baker、System、DI ラッパーを含みます。
- Managers、Singleton、Log、WebRequest、PlayerData、QuickSave などのゲームフレームワークランタイムモジュールを追加しました。
- Unity オブジェクト、UI コンポーネント、コレクション、文字列、デリゲート、Task、共通ユーティリティを扱う Runtime Extensions アセンブリを追加しました。
- A* Pathfinding ユーティリティと Grid Baker を追加しました。
- AchMover ベースの移動ヘルパーを追加しました。
- RedDot 通知バッジのランタイム機能を追加しました。
- Drag、Object Touch、Binding、Open/Close Button などの UI コンポーネントヘルパーを追加しました。
- AchEngine の主要システムをまとめて紹介する 3 シーン構成の Full Sample を追加しました。
- Addressables、DI、Localization、Table、UI のドキュメントを日本語/英語の両方で補強しました。
- Domain Reload がオフになった Enter Play Mode でも静的状態が初期化されるよう対応しました。
- ドキュメントサイト、Mermaid 図、相互リンク、JSON 処理関連の問題を修正しました。
- Editor Decorators モジュールと関連ドキュメントを削除しました。
- ルート README をドキュメントリンク中心のシンプルなランディングページに整理しました。
1.0.1
- Table JSON データを Google Sheets インポート用の CSV としてエクスポートするツールを追加しました。個別ファイルおよびフォルダ単位の変換をサポートします。