プロジェクト構造
ファイル構造の理解は、クリーンなプロジェクトライフサイクルの維持、安全なアップグレードの確保、および効果的なバージョン管理のために極めて重要です。
Game Event Systemは、厳格な**「ロジック vs. データ」分離原則に従っています。 このアーキテクチャにより、プラグインの更新(コアロジック)が、作成したイベント、グラフ、または生成されたコード(ユーザーデータ)を決して上書きしない**ことが保証されます。
📂 ディレクトリツリー
以下は標準的な階層構造です。各フォルダの性質を示すために、明確なアイコンを使用しています:
- 🛡️ 不変コア: 変更、移動、リネームは絶対にしないこと。
- 💾 可変データ: あなたのプロジェクトデータ。コミット安全、変更安全。
- 🗑️ 破棄可能: 最適化のために削除しても安全。
Assets/
├── 📁 TinyGiants/ # [コアロジック] 不変のプラグインルート
│ └── 📁 GameEventSystem/
│ ├── 📁 API/ # 🛡️ インターフェース&パブリックAPI
│ ├── 📁 Demo/ # 🗑️ サンプルシーン&アセット(削除可能)
│ ├── 📁 Editor/ # 🛡️ カスタムインスペクター&ウィンドウロジック
│ │ └── 📁 Icons/ # 🗑️ UIテクスチャ(1.2MB以下のビルドのために削除可)
│ ├── 📁 Runtime/ # 🛡️ コアエンジン&イベント型
│ ├── 📄 LICENSE.txt
│ └── 📄 Readme.txt
│
└── 📁 TinyGiantsData/ # [ユーザーデータ] 生成コンテンツの聖域
└── 📁 GameEventSystem/
├── 📁 CodeGen/ # 💾 自動生成C#クラス
│ ├── 📁 Basic/ # 🛡️ プリミティブ型(必須)
│ └── 📁 Custom/ # 💾 カスタム型(自動再生成)
├── 📁 Database/ # 💾 イベントデータベースアセット(.asset)
└── 📁 FlowGraph/ # 💾 ビジュアルフローグラフ(.asset)
アーキテクチャの注記
TinyGiantsにはツール自体(ハンマー)が含まれます。 TinyGiantsDataにはそれで構築したもの(家)が含まれます。
⛔ 重要: 「Plugins」フォルダの警告
「PLUGINS」に移動しないこと
TinyGiantsまたはTinyGiantsDataフォルダを標準のAssets/Plugins/ディレクトリに移動しては絶対にいけません。
なぜこれが重要なのか?
- コンパイル順序(スクリプティングフェーズ):
UnityはPluginsフォルダを標準ゲームスクリプト(Assembly-CSharp)より先にコンパイルします。
- 本プラグインは、イベントを生成するためにあなたのカスタムクラス(例: PlayerStats、InventoryItem)を参照する必要があります。
- プラグインがPluginsにある場合、ゲームプレイコードを認識できず、「Type Not Found」エラーが発生します。
- 相対パス依存関係: 自動化されたコードジェネレーターとデータベースマネージャーは、アセットを特定するために特定の相対パスに依存しています。この構造を壊すと、「Hub」があなたのデータベースを追跡できなくなる可能性があります。
- アセット保護メカニズム: プラグインにはバックグラウンドAssetProtectorサービスが含まれています。これらのフォルダがPluginsに移動されたことを検出すると、プロジェクトの破損を防ぐために警告を出すか、操作をブロックしようとします。
💾 バージョン管理(Git/SVN)戦略
ソースコントロールで作業するチームのための推奨構成は次のとおりです:
| フォルダパス | 戦略 | 理由 |
|---|---|---|
| TinyGiants/ | コミット | プロジェクトの実行に必要なコアプラグインコードが含まれています。 |
| TinyGiantsData/.../Database | コミット | 実際のイベントアセットが含まれています。重要なデータ。 |
| TinyGiantsData/.../FlowGraph | コミット | ビジュアルロジックグラフが含まれています。重要なデータ。 |
| TinyGiantsData/.../CodeGen | コミット | 推奨。 これらは再生成可能ですが、コミットすることで他のチームメンバーが最初にウィザードを実行することなくプロジェクトを即座にコンパイルできることが保証されます。 |
🧹 最適化ガイド: デプロイメント戦略
Game Event Systemはモジュラー設計です。プロジェクトの段階に応じて、ビルドサイズを削減するために削ぎ落とすことができます。
デプロイメント階層
保持するものを決定するためにこのテーブルを使用してください:
| 階層 | 削除するフォルダ | サイズ削減 | 結果 |
|---|---|---|---|
| 開発 | すべて保持 | 0 MB | デモと高解像度UIを含む完全なエクスペリエンス。 |
| 本番 | TinyGiants/GameEventSystem/Demo/ | ~10 MB | サンプルを削除。基本を理解したら、すべてのプロジェクトで安全。 |
| ミニマリスト | .../Editor/Icons/ | ~4 MB | UIが劣化。 カスタムアイコンが消失;ウィンドウはデフォルトのUnityスタイルを使用。ロジックは100%機能を維持。 |
📉 極限圧縮(< 1.2 MB)
超軽量プラットフォーム(例: インスタントゲーム)向けにビルドする場合、ミニマリスト階層を達成できます。
- Demoフォルダを削除。
- Iconsフォルダを削除。
- CodeGen/Customフォルダに実際に使用するイベント型のみが含まれていることを確認。**クリーンアップツール**を使用して、未使用の生成クラスを削除できます。
ヒント
ほとんどのPC/モバイルプロジェクトでは、**レベル1(Demoの削除)**で十分です。デザイナーにとって快適なワークフローを維持するために、Iconsフォルダを保持することをお勧めします。