28 lines
878 B
C#
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);
|
|
}
|
|
}
|
|
}
|