예제 #1
0
        public void DeleteConnection(CardinalDirectionEnum Enum)
        {
            CardinalDirectionEnum target = CardinalDirectionEnum.NORTH;
            if (lineConnectionList.ContainsKey (Enum)) {
                target = lineConnectionList [Enum];
                lineConnectionList.Remove (Enum);
            } else {

                foreach (CardinalDirectionEnum key in lineConnectionList.Keys) {
                    if (lineConnectionList [key] == Enum) {
                        target = key;
                        break;
                    }
                }
                lineConnectionList.Remove (target);
            }
            foreach (LineSlot slot in LineSlots) {
                if (slot.CardinalDirectionEnum.Equals (Enum)) {
                    Destroy (slot.lineRenderer.gameObject);
                    slot.lineRenderer = null;
                } else if (slot.CardinalDirectionEnum.Equals (target)) {
                    slot.lineRenderer = null;
                }
            }
        }
        void AnimateCutoutMovement(CardinalDirectionEnum direction)
        {
            Point transitionPoint;

            switch (direction)
            {
            case CardinalDirectionEnum.North:
                transitionPoint = new Point(0, (int)CurrentCutout.Height);
                break;

            case CardinalDirectionEnum.South:
                transitionPoint = new Point(0, (int)CurrentCutout.Height * -1);
                break;

            case CardinalDirectionEnum.East:
                transitionPoint = new Point((int)CurrentCutout.Width * -1, 0);
                break;

            case CardinalDirectionEnum.West:
                transitionPoint = new Point((int)CurrentCutout.Width, 0);
                break;

            default:
                return;
            }

            PerformScaleTransforms();
            PerformTranslateTransforms(transitionPoint);
            PerformFade();
        }
예제 #3
0
 public void Setup()
 {
     east      = CardinalDirectionEnum.E;
     west      = CardinalDirectionEnum.W;
     north     = CardinalDirectionEnum.N;
     south     = CardinalDirectionEnum.S;
     testRobot = new Robot(0, 0);
 }
예제 #4
0
 public void CleanVertical(CardinalDirectionEnum direction, int steps)
 {
     for (var i = 1; i <= steps; i++)
     {
         Y += GetCardinalDirectionValue(direction);
         MarkCoordinatesCleaned();
     }
 }
예제 #5
0
        //Strategy Design
        public string SetDirection(CardinalDirectionEnum cardinalDirection, TurnPositionEnum turnPositionEnum)
        {
            switch (cardinalDirection)
            {
            case CardinalDirectionEnum.Nort:
                _cardinalDirectionStrategyContext = new CardinalDirectionStrategyContext(new NortDirection());
                return(_cardinalDirectionStrategyContext.ContextInterface(turnPositionEnum));

            case CardinalDirectionEnum.East:
                _cardinalDirectionStrategyContext = new CardinalDirectionStrategyContext(new EastDirection());
                return(_cardinalDirectionStrategyContext.ContextInterface(turnPositionEnum));

            case CardinalDirectionEnum.South:
                _cardinalDirectionStrategyContext = new CardinalDirectionStrategyContext(new SouthDirection());
                return(_cardinalDirectionStrategyContext.ContextInterface(turnPositionEnum));

            case CardinalDirectionEnum.West:
                _cardinalDirectionStrategyContext = new CardinalDirectionStrategyContext(new WestDirection());
                return(_cardinalDirectionStrategyContext.ContextInterface(turnPositionEnum));
            }
            return(nameof(cardinalDirection));
        }
예제 #6
0
 public void Setup()
 {
     east      = CardinalDirectionEnum.E;
     west      = CardinalDirectionEnum.W;
     testRobot = new Robot(0, 0);
 }
예제 #7
0
 public static bool CardinalDirectionForConnectionIsFree(CardinalDirectionEnum Enum)
 {
     return !lineConnectionList.ContainsKey (Enum) &&
     !lineConnectionList.ContainsValue (Enum);
 }
예제 #8
0
 public int GetCardinalDirectionValue(CardinalDirectionEnum direction)
 {
     return((direction == CardinalDirectionEnum.E || direction == CardinalDirectionEnum.N) ? 1 : -1);
 }
예제 #9
0
 public bool IsHorizontalCardinalDirection(CardinalDirectionEnum direction)
 {
     return(direction == CardinalDirectionEnum.E || direction == CardinalDirectionEnum.W);
 }