コード例 #1
0
        /// <summary>
        ///		Clona los datos
        /// </summary>
        public override MovementBaseModel Clone()
        {
            MovementFigureModel target = new MovementFigureModel(new MovementTurnModel(Turn.Number, Turn.Type), Content);

            // Clona los datos internos
            CloneInner(target);
            // Clona las propiedades
            target.Color         = Color;
            target.Type          = Type;
            target.OriginPiece   = OriginPiece;
            target.From          = new CellModel(From);
            target.To            = new CellModel(To);
            target.PromotedPiece = PromotedPiece;
            target.Captured      = Captured?.Clone();
            if (CapturedEnPassant != null)
            {
                target.CapturedEnPassant = new CellModel(CapturedEnPassant);
            }
            target.IsCheck       = IsCheck;
            target.IsDoubleCheck = IsDoubleCheck;
            target.IsCheck       = IsCheckMate;
            target.IsDrawOffered = IsDrawOffered;
            // Devuelve el objeto
            return(target);
        }