Пример #1
0
        public void AddPositional(Positional <TBoard> positional)
        {
            // disallow repeated adding
            if (Positionals.Contains(positional))
            {
                return;
            }

            // if it is from another board, we remove it from there first,
            // before adding to the current one.
            if (positional.Board != null)
            {
                positional.Board.RemovePositional(positional);
            }

            positional.SetBoardDirectly(this as TBoard);
            Positionals.Add(positional);

            Position position = positional.Position;

            // very important to reset the position with the new finenessLimit value
            positional.Position = new Position(position.X, position.Y, position.FinenessX, position.FinenessY, this.FinenessLimit);

            OnAddingPositional(new PositionalEventArgs <TBoard>(positional));
        }
Пример #2
0
 public void OnBoardFadeOut(Positional <TBoard> positional)
 {
     Dispatcher.Invoke((Action)(() =>
     {
         if (BoardFading != null)
         {
             BoardFading(this, new PositionalEventArgs <TBoard>(positional));
         }
     }));
 }
Пример #3
0
        public bool RemovePositional(Positional <TBoard> positional)
        {
            // if it is not supposed to be from this board,
            // just return false and do nothing.
            if (!Positionals.Contains(positional))
            {
                return(false);
            }

            // by setting the positional.Board to null
            // all the bindings from logic to board will be removed
            // this is because positional.Board is made to be virtual
            positional.Board = null;

            Positionals.Remove(positional);
            OnRemovingPositional(new PositionalEventArgs <TBoard>(positional));

            return(true);
        }
Пример #4
0
 public PositionalEventArgs(Positional <TBoard> positional)
 {
     Positional = positional;
 }
Пример #5
0
 public void RestorePositional(Positional <TBoard> positional)
 {
     RestoringPositional(this, new PositionalEventArgs <TBoard>(positional));
 }
Пример #6
0
 public void TempRemovePositional(Positional <TBoard> positional)
 {
     TempRemovingPositional(this, new PositionalEventArgs <TBoard>(positional));
 }