Example #1
0
        public void Execute(IToolServices toolService)
        {
            Position   position = toolService.PointerOverPosition;
            MarkupInfo markups  = toolService.Node.Markups;

            MarkupKind markupKindOnPosition = markups.RemoveMarkupOnPosition(position);

            if (SequenceMarkup == SequenceMarkupKind.Letter)
            {
                char letter = markups.GetSmallestUnusedLetter();
                if (letter != '0' && markupKindOnPosition != MarkupKind.Label)
                {
                    markups.AddMarkup <Label>(new Label(position, letter.ToString()));
                }
            }
            else
            {
                int number = markups.GetSmallestUnusedNumber();
                if (markupKindOnPosition != MarkupKind.Label)
                {
                    markups.AddMarkup <Label>(new Label(position, number.ToString()));
                }
            }

            _shadows = toolService.Node.Markups.FillSequenceShadowMap(toolService.GameTree.BoardSize, SequenceMarkup);
        }
Example #2
0
        public void Execute(IToolServices toolService)
        {
            Position   position = toolService.PointerOverPosition;
            MarkupInfo markups  = toolService.Node.Markups;

            MarkupKind markupKindOnPosition = markups.RemoveMarkupOnPosition(position);

            // If the removed markup is the same as the new one than do not add anything.
            if (IsMarkupEqual(SimpleMarkup, markupKindOnPosition))
            {
                return;
            }

            if (SimpleMarkup == SimpleMarkupKind.Circle)
            {
                markups.AddMarkup <Circle>(new Circle(position));
            }
            if (SimpleMarkup == SimpleMarkupKind.Cross)
            {
                markups.AddMarkup <Cross>(new Cross(position));
            }
            if (SimpleMarkup == SimpleMarkupKind.Square)
            {
                markups.AddMarkup <Square>(new Square(position));
            }
            if (SimpleMarkup == SimpleMarkupKind.Triangle)
            {
                markups.AddMarkup <Triangle>(new Triangle(position));
            }
        }