Beispiel #1
0
        private void ContinueFrom(RoadField field)
        {
            this.field = field.GetNext();
            decorated.Subject.SetPosition(new Position(this.field.X, this.field.Y));
            decorated.SetDirection(field.GetNext().Direction);
            path = 0;
            switch (this.field.Direction)
            {
            case Direction8.North:
                decorated.SetVelocity(0, -speed);
                pathAcc = CM.GetXStep();
                break;

            case Direction8.South:
                decorated.SetVelocity(0, speed);
                pathAcc = CM.GetXStep();
                break;

            case Direction8.East:
                decorated.SetVelocity(speed, 0);
                pathAcc = CM.GetXStep();
                break;

            case Direction8.West:
                decorated.SetVelocity(-speed, 0);
                pathAcc = CM.GetXStep();
                break;
            }
        }
Beispiel #2
0
        public void GoRound(Ring ring)
        {
            RoadField start = ring.GetStartField();

            field = start;
            decorated.Subject.SetPosition(new Position(field.X, field.Y));
            //decorated.Subject.SetDirection(field.Direction);
            path = 0;

            switch (field.Direction)
            {
            case Direction8.North:
                decorated.SetVelocity(0, -speed);
                pathAcc = CM.GetXStep();
                break;

            case Direction8.South:
                decorated.SetVelocity(0, speed);
                pathAcc = CM.GetXStep();
                break;

            case Direction8.East:
                decorated.SetVelocity(speed, 0);
                pathAcc = CM.GetXStep();
                break;

            case Direction8.West:
                decorated.SetVelocity(-speed, 0);
                pathAcc = CM.GetXStep();
                break;
            }
            decorated.SetDirection(field.GetNext().Direction);
        }