Пример #1
0
 private void HandlePieceViewDestroy(IPieceView pieceView)
 {
     _pieceViewMap.Remove(pieceView.piece);
     if (_pieceViewMap.Count == 0)
     {
         onDestroy(this);
         Despawn();
     }
 }
Пример #2
0
        public BoardController(IBoardView view, Board model, System.Func <IPieceView> createNewPieceFunc)
        {
            this.view  = view;
            this.model = model;

            // Initialization
            view.Size = model.BoardLength;

            foreach (Piece piece in model.Pieces)
            {
                IPieceView newPieceView = createNewPieceFunc.Invoke();
                newPieceView.Board = view;

                pieces.Add(new PieceController(piece, newPieceView));
            }
        }
Пример #3
0
        public PieceController(Piece model, IPieceView view)
        {
            this.model = model;
            this.view  = view;

            // View callbacks
            view.OnSetMoveToTile += HandleSetPosition;

            // Model callbacks
            model.OnCoordinatesChanged += (o, e) => SyncPosition();

            // Initialization
            SyncPosition();
            SyncType();
            view.Team = model.Team;
        }
Пример #4
0
 public IResponse MovePiece(IPieceView pieceView, Coord coord)
 {
     return(Agent.Move(pieceView.Agent, coord));
 }
Пример #5
0
 public IResponse Remove(IPieceView pieceView)
 {
     return(Agent.Remove(pieceView.Agent));
 }