ManagerBehaviourCreationInitializer
https://github.com/VMware233/VMFramework/blob/main/Assets/VMFramework/Main/Procedures/ManagerBehaviour/ManagerBehaviourCreationInitializer.cs
using System;
using System.Collections.Generic;
using UnityEngine.Scripting;
namespace VMFramework.Procedure
{
/// <summary>
/// Create the ManagerBehaviours in the very beginning of the game.
/// </summary>
[GameInitializerRegister(VMFrameworkInitializationDoneProcedure.ID, ProcedureLoadingType.OnEnter)]
[Preserve]
public sealed class ManagerBehaviourCreationInitializer : IGameInitializer
{
void IInitializer.GetInitializationActions(ICollection<InitializationAction> actions)
{
actions.Add(new(InitializationOrder.BeforeInitStart, OnBeforeInitStart, this));
}
private static void OnBeforeInitStart(Action onDone)
{
ManagerCreator.CreateManagers();
foreach (var manager in ManagerCreator.Managers)
{
manager.SetInstance();
}
onDone();
}
}
}
最后更新于
这有帮助吗?