27 lines
895 B
C#
27 lines
895 B
C#
using GeometryTD.Definition;
|
|
|
|
namespace GeometryTD.Procedure
|
|
{
|
|
public static class ProcedureMainRunFlowService
|
|
{
|
|
public static ProcedureMainRunAdvanceResult TryAdvanceRun(
|
|
RunState runState,
|
|
RunNodeCompletionStatus completionStatus,
|
|
BackpackInventoryData snapshot)
|
|
{
|
|
if (!RunStateAdvanceService.TryCompleteCurrentNode(runState, completionStatus, snapshot))
|
|
{
|
|
return ProcedureMainRunAdvanceResult.NoChange;
|
|
}
|
|
|
|
if (runState != null && runState.IsCompleted)
|
|
{
|
|
return ProcedureMainRunAdvanceResult.RunCompleted;
|
|
}
|
|
|
|
return completionStatus == RunNodeCompletionStatus.Exception
|
|
? ProcedureMainRunAdvanceResult.NodeException
|
|
: ProcedureMainRunAdvanceResult.AdvancedToNextNode;
|
|
}
|
|
}
|
|
} |