モジュール連携
AchEngineのDI、Table Loader、Localization、Addressablesモジュールを組み合わせて使用するための統合パターンを解説します。
全体構成
TableLoader + Localization 連携
アイテムの名前や説明をローカライゼーションキーで管理するパターンです。
1. スプレッドシート設計
| Id | NameKey | DescKey | Price |
|-----|-------------------|-------------------|-------|
| 101 | item.sword.name | item.sword.desc | 500 |
| 102 | item.wand.name | item.wand.desc | 1200 |
2. 生成されたデータクラス
public partial class ItemData : ITableData
{
public int Id { get; set; }
public string NameKey { get; set; }
public string DescKey { get; set; }
public int Price { get; set; }
}
3. ランタイムでの組み合わせ
using AchEngine;
using AchEngine.Localization;
public class ItemDetailView : UIView
{
[SerializeField] private Text _nameText;
[SerializeField] private Text _descText;
[SerializeField] private Text _priceText;
public void SetItem(int itemId)
{
var item = TableManager.Get<ItemTable>().Get(itemId);
_nameText.text = LocalizationManager.Get(item.NameKey);
_descText.text = LocalizationManager.Get(item.DescKey);
_priceText.text = $"{item.Price:N0} G";
}
}