Files
NetCode/Library/PackageCache/com.unity.dedicated-server@5a2666836321/Common/Editor/GUI/BuildOptionsExtensions.cs
T
2025-12-21 18:31:02 +02:00

34 lines
1.0 KiB
C#

using System.Linq;
using System.Collections.Generic;
using UnityEditor;
using UnityEditor.Multiplayer.Internal;
using System;
using UnityEditor.Build.Profile;
namespace Unity.Multiplayer.Editor
{
internal static class BuildOptionsExtensions
{
private static List<IMultiplayerBuildOptionsSection> s_BuildOptionsSections;
[InitializeOnLoadMethod]
private static void Init()
{
s_BuildOptionsSections = TypeCache.GetTypesDerivedFrom<IMultiplayerBuildOptionsSection>()
.Select(t => (IMultiplayerBuildOptionsSection)Activator.CreateInstance(t))
.OrderBy(s => s.Order)
.ToList();
EditorMultiplayerManager.drawingMultiplayerBuildOptionsForBuildProfile += OnDrawingBuildOptions;
}
private static void OnDrawingBuildOptions(BuildProfile profile)
{
foreach (var section in s_BuildOptionsSections)
{
section.DrawBuildOptions(profile);
}
}
}
}