Ejemplo n.º 1
0
    public void ClearEvents()
    {
        //loop through every event and unsubscribe the events
        if (LevelGeneration != null)
        {
            foreach (var eventDelegate in LevelGeneration.GetInvocationList())
            {
                LevelGeneration -= (eventDelegate as EventHandler);
            }
        }

        if (LevelBaking != null)
        {
            foreach (var eventDelegate in LevelBaking.GetInvocationList())
            {
                LevelBaking -= (eventDelegate as EventHandler);
            }
        }

        if (LevelPopulation != null)
        {
            foreach (var eventDelegate in LevelPopulation.GetInvocationList())
            {
                LevelPopulation -= (eventDelegate as EventHandler);
            }
        }

        if (PlayerPopulation != null)
        {
            foreach (var eventDelegate in PlayerPopulation.GetInvocationList())
            {
                PlayerPopulation -= (eventDelegate as EventHandler);
            }
        }

        if (PostPlayer != null)
        {
            foreach (var eventDelegate in PostPlayer.GetInvocationList())
            {
                PostPlayer -= (eventDelegate as EventHandler);
            }
        }

        if (FinalizeObjectPools != null)
        {
            foreach (var eventDelegate in FinalizeObjectPools.GetInvocationList())
            {
                FinalizeObjectPools -= (eventDelegate as EventHandler);
            }
        }

        if (FinalStep != null)
        {
            foreach (var eventDelegate in FinalStep.GetInvocationList())
            {
                FinalStep -= (eventDelegate as EventHandler);
            }
        }
    }
Ejemplo n.º 2
0
        /// <inheritdoc />
        protected override async Task <Result <T, IError> > Run(
            IStateMonad stateMonad,
            CancellationToken cancellationToken)
        {
            foreach (var step in InitialSteps)
            {
                var r = await step.Run(stateMonad, cancellationToken);

                if (r.IsFailure)
                {
                    return(r.ConvertFailure <T>());
                }
            }

            var finalResult = await FinalStep.Run(stateMonad, cancellationToken);

            return(finalResult);
        }