Execute() public abstract method

public abstract Execute ( float dt ) : InstructionResult
dt float
return InstructionResult
Example #1
0
        public override InstructionResult Execute(float dt)
        {
            if (i >= end)
            {
                return(InstructionResult.Done);
            }
            else
            {
                switch (body.Execute(dt))
                {
                case InstructionResult.Done:
                    i++;
                    body = getBody(i);
                    return(InstructionResult.Running);

                case InstructionResult.DoneAndCreateAsteroid:
                    i++;
                    body = getBody(i);
                    return(InstructionResult.RunningAndCreateAsteroid);

                case InstructionResult.Running:
                    return(InstructionResult.Running);

                case InstructionResult.RunningAndCreateAsteroid:
                    return(InstructionResult.RunningAndCreateAsteroid);
                }
                return(InstructionResult.Done);
            }
        }
Example #2
0
        public override InstructionResult Execute(float dt)
        {
            if (!isADone)
            {
                var Ares = A.Execute(dt);
                switch (Ares)
                {
                case InstructionResult.Done:
                    isADone = true;
                    return(InstructionResult.Running);

                case InstructionResult.DoneAndCreateAsteroid:
                    isADone = true;
                    return(InstructionResult.RunningAndCreateAsteroid);

                default:
                    return(Ares);
                }
            }
            else
            {
                if (!isBDone)
                {
                    var Bres = B.Execute(dt);
                    switch (Bres)
                    {
                    case InstructionResult.Done:
                        isBDone = true;
                        break;

                    case InstructionResult.DoneAndCreateAsteroid:
                        isBDone = true;
                        break;
                    }
                    return(Bres);
                }
                else
                {
                    return(InstructionResult.Done);
                }
            }
        }
Example #3
0
        public override InstructionResult Execute(float dt)
        {
            switch (body.Execute(dt))
            {
            case InstructionResult.Done:
                body = body.Reset();
                return(InstructionResult.Running);

            case InstructionResult.DoneAndCreateAsteroid:
                body = body.Reset();
                return(InstructionResult.RunningAndCreateAsteroid);

            case InstructionResult.Running:
                return(InstructionResult.Running);

            case InstructionResult.RunningAndCreateAsteroid:
                return(InstructionResult.RunningAndCreateAsteroid);
            }
            return(InstructionResult.Running);
        }