変更イベント
変更イベントは、AddressableAssetGroup や AddressableAssetEntry が追加または削除された場合など、特定のデータが操作されたときに Addressables システムの各部分に通知するために使用されます。
変更イベントは、Addressables の内部で SetDirty 呼び出しの一部としてトリガーされます。SetDirty は、AssetDatabase によるアセットの再シリアル化が必要になったことを示すために使用されます。この SetDirty の一部として、以下の 2 つの変更イベントコールバックがトリガーされる可能性があります。
public static event Action<AddressableAssetSettings, ModificationEvent, object> OnModificationGlobalpublic Action<AddressableAssetSettings, ModificationEvent, object> OnModification { get; set; }
これらは AddressableAssetSettings に定義されており、それぞれ静的アクセサーまたはインスタンスアクセサーを通じてアクセスできます。
サンプルコード
AddressableAssetSettings.OnModificationGlobal += (settings, modificationEvent, data) =>
{
if(modificationEvent == AddressableAssetSettings.ModificationEvent.EntryAdded)
{
//処理を実行
}
};
AddressableAssetSettingsDefaultObject.Settings.OnModification += (settings, modificationEvent, data) =>
{
if (modificationEvent == AddressableAssetSettings.ModificationEvent.EntryAdded)
{
//処理を実行
}
};
変更イベントには、イベントに関連付けられたデータの汎用 Object が渡されます。以下に示すのは、変更イベントとそれらで渡されるデータタイプのリストです。
各変更イベントで渡されるデータ
- GroupAdded
このイベントで渡されるデータは、加えられた
AddressableAssetGroupまたはグループのリストです。 - GroupRemoved
このイベントで渡されるデータは、削除された
AddressableAssetGroupまたはグループのリストです。 - GroupRenamed
このイベントで渡されるデータは、名前が変更された
AddressableAssetGroupまたはグループのリストです。 - GroupSchemaAdded
このイベントで渡されるデータは、スキーマが加えられた
AddressableAssetGroup、またはグループのリストです。 - GroupSchemaRemoved
このイベントで渡されるデータは、スキーマが削除された
AddressableAssetGroup、またはグループのリストです。 - GroupSchemaModified
このイベントで渡されるデータは、変更された
AddressableAssetGroupSchemaです。 - GroupTemplateAdded
このイベントで渡されるデータは、追加されたグループテンプレートオブジェクトを表す
ScriptableObjectで、通常はIGroupTemplateが実装されています。 - GroupTemplateRemoved
このイベントで渡されるデータは、削除されたグループテンプレートオブジェクトを表す
ScriptableObjectで、通常はIGroupTemplateが実装されています。 - GroupTemplateSchemaAdded
このイベントで渡されるデータは、スキーマが加えられた
AddressableAssetGroupTemplateです。 - GroupTemplateSchemaRemoved
このイベントで渡されるデータは、スキーマが削除された
AddressableAssetGroupTemplateです。 - EntryCreated
このイベントで渡されるデータは、作成された
AddressableAssetEntryです。 - EntryAdded
このイベントで渡されるデータは、加えられた
AddressableAssetEntryまたはエントリーのリストです。 - EntryMoved
このイベントで渡されるデータは、あるグループから別のグループに移動された
AddressableAssetEntryまたはエントリーのリストです。 - EntryRemoved
このイベントで渡されるデータは、削除された
AddressableAssetEntryまたはエントリーのリストです。 - LabelAdded
このイベントで渡されるデータは、加えられた
Stringラベルです。 - LabelRemoved
このイベントで渡されるデータは、削除された
Stringラベルです。 - ProfileAdded
このイベントで渡されるデータは、加えられた [
BuildProfile] です。 - ProfileRemoved
このイベントで渡されるデータは、削除されたプロファイル ID の
Stringです。 - ProfileModified
このイベントで渡されるデータは、変更された [
BuildProfile]、またはBuildProfileのバッチが変更された場合はnullです。 - ActiveProfileSet
このイベントで渡されるデータは、アクティブなプロファイルとして設定されたプロファイル ID の
Stringです。 - EntryModified
このイベントで渡されるデータは、変更された
AddressableAssetEntryまたはエントリーのリストです。 - BuildSettingsChanged
このイベントで渡されるデータは、変更された
AddressableAssetBuildSettingsオブジェクトです。 - ActiveBuildScriptChanged
このイベントで渡されるデータは、アクティブなビルダーとして設定された
IDataBuilderビルドスクリプトです。 - DataBuilderAdded
このイベントで渡されるデータは、DataBuilder のリストに追加された
ScriptableObjectで、通常はIDataBuilderが実装されています。 - DataBuilderRemoved
このイベントで渡されるデータは、DataBuilder のリストから削除された
ScriptableObjectで、通常はIDataBuilderが実装されています。 - InitializationObjectAdded
このイベントで渡されるデータは、InitializationObject のリストに追加された
ScriptableObjectで、通常はIObjectInitializationDataProviderが実装されています。 - InitializationObjectRemoved
このイベントで渡されるデータは、InitializationObject のリストから削除された
ScriptableObjectで、通常はIObjectInitializationDataProviderが実装されています。 - ActivePlayModeScriptChanged
このイベントで渡されるデータは、新しくアクティブな再生モードデータビルダーとして設定された
IDataBuilderです。 - BatchModification
このイベントで渡されるデータは
nullです。このイベントは主に、いくつかのイベントが同時に発生していて、AddressableAssetSettingsオブジェクトをダーティとしてマークする必要があることを示すために使用されます。 - HostingServicesManagerModified
渡されるデータは、変更された
HostingServicesManagerまたはHttpHostingServiceです。 - GroupMoved
このイベントで渡されるデータは、
AddressableAssetGroupの完全なリストです。 - CertificateHandlerChanged
このイベントで渡されるデータは、使用される証明書ハンドラーの新しい
System.Typeです。