com.alicizax.unity.framework/Runtime/Procedure/IProcedureService.cs
2026-04-20 13:46:44 +08:00

28 lines
878 B
C#

using System;
using System.Collections.Generic;
namespace AlicizaX
{
public interface IProcedureService : IService
{
Type CurrentProcedureType { get; }
void InitializeProcedure(IEnumerable<IProcedure> availableProcedures, Type defaultProcedureType);
void ClearAllProcedures();
bool ContainsProcedure(Type procedureType);
bool TrySwitchProcedure(Type procedureType);
}
public static class ProcedureServiceExtensions
{
public static bool SwitchProcedure<T>(this IProcedureService procedureService) where T : IProcedure
{
return procedureService.TrySwitchProcedure(typeof(T));
}
public static bool SwitchProcedure(this IProcedureService procedureService, Type procedureType)
{
return procedureService.TrySwitchProcedure(procedureType);
}
}
}