Unity 6.3
0 онлайн 82 гостей 3 в системе
Вход

IShouldIncludeInBuildCallback

Группа методов устарела

интерфейс в UnityEditor.PackageManager

Declaration

Obsolete

Описание

Интерфейс, используемый Package Manager для запроса информации о сборке пакетов.

Во время сборки метод ShouldIncludeInBuild вызывает каждый управляемый плагин (DLL) внутри пакета, имя которого PackageName.

Зарегистрируйте свою реализацию в Package Manager через BuildUtilities.RegisterShouldIncludeInBuildCallback. Для одного пакета можно зарегистрировать только одну реализацию этого интерфейса.

Рассмотрите возможность использования PluginImporter.SetIncludeInBuildDelegate для более простой альтернативы.

using UnityEngine;
using UnityEditor;
using UnityEditor.PackageManager;

[ExecuteInEditMode] public class BuildCallbackExample : MonoBehaviour { void Start() { Debug.Log("IShouldIncludeInBuildCallback example..."); TestPluginInclusion(); }

void TestPluginInclusion() { var callback = new CustomPackageBuildCallback(); Debug.Log($"Checking plugins for package: {callback.PackageName}");

// Test with different plugin paths CheckPlugin(callback, "/Packages/com.mycompany.mypackage/Runtime/MyPlugin.dll"); CheckPlugin(callback, "/Packages/com.mycompany.mypackage/Editor/MyEditorPlugin.dll"); }

void CheckPlugin(IShouldIncludeInBuildCallback callback, string pluginPath) { bool include = callback.ShouldIncludeInBuild(pluginPath); Debug.Log($"Include plugin {pluginPath}: {include}"); } }

public class CustomPackageBuildCallback : IShouldIncludeInBuildCallback { public string PackageName => "com.mycompany.mypackage";

public bool ShouldIncludeInBuild(string path) { // Example: Include only plugins with "Runtime" in their path return path.Contains("Runtime"); } }

Соответствующая информация

PluginImporter.SetIncludeInBuildDelegate