Beispiel #1
0
        private bool MouseMove(IMouseDevice device, IInputRoot root, Point p, InputModifiers inputModifiers)
        {
            IInputElement source;

            if (Captured == null)
            {
                source = SetPointerOver(this, root, p);
            }
            else
            {
                var elements = Captured.GetSelfAndVisualAncestors().OfType <IInputElement>().ToList();
                SetPointerOver(this, root, elements);
                source = Captured;
            }

            var e = new PointerEventArgs
            {
                Device         = this,
                RoutedEvent    = InputElement.PointerMovedEvent,
                Source         = source,
                InputModifiers = inputModifiers
            };

            source.RaiseEvent(e);
            return(e.Handled);
        }
Beispiel #2
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);
        }
    void OnCaptured(int newTeam)
    {
        int oldTeam = Team;

        Team = newTeam;

        currentState = ResourceNodeState.Mining;

        Captured?.Invoke(newTeam, oldTeam, ResourceNodeData);

        if (StartCaptured)
        {
            capturable.Captured -= OnCaptured;
            capturable.Disable();
        }

        setMaterialProperties.SetMaterial(1f, TeamColors.Hues[Team], ResourceNodeData.sprite);

        uiController.Store["SpecialResources"][Team].AddRange(ResourceNodeData.resourceFlags);

        if (oldTeam != 2)
        {
            foreach (string resource in ResourceNodeData.resourceFlags)
            {
                uiController.Store["SpecialResources"][oldTeam].Remove(resource);
            }
        }

        uiController.UpdateValue("SpecialResources");
    }
Beispiel #4
0
    public void ForceCapture(int newTeam)
    {
        captured    = true;
        currentTeam = newTeam;

        Captured?.Invoke(currentTeam);
    }
Beispiel #5
0
        public string[] ToArray()
        {
            string[]    record = new string[20];
            CultureInfo ci     = new CultureInfo("en-us");

            record[0]  = Id;
            record[1]  = "\"" + Description + "\"";
            record[2]  = Created.ToString("yyyy-MM-dd HH:mm");
            record[3]  = _bAmount?Amount.ToString("0.00", ci):"";
            record[4]  = _bAmountRefunded?AmountRefunded.ToString("0.00", ci):"";
            record[5]  = Currency;
            record[6]  = _bConvertedAmount ? ConvertedAmount.ToString("0.00", ci) : "";
            record[7]  = _bConvertedAmountRefunded ? ConvertedAmountRefunded.ToString("0.00", ci) : "";
            record[8]  = _bFee ? Fee.ToString("0.00", ci) : "";
            record[9]  = _bTax ? Tax.ToString("0.00", ci) : "";
            record[10] = ConvertedCurrency;
            record[11] = FormatStatusString(Status);
            record[12] = "\"" + StatementDescriptor + "\"";
            record[13] = CustomerId;
            record[14] = "\"" + CustomerDescription + "\"";
            record[15] = CustomerEmail;
            record[16] = _bCaptured ? Captured.ToString():"";
            record[17] = CardId;
            record[18] = InvoiceId;
            record[19] = Transfer;

            return(record);
        }
Beispiel #6
0
        void DrawToWindow()
        {
            while (_queue.Count != 0)
            {
                if (_queue.TryTake(out SharpDX.Direct2D1.Bitmap bitmap) == true)
                {
                    if (_lastBitmap != null)
                    {
                        _lastBitmap.Dispose();
                    }

                    _lastBitmap = bitmap;
                }

                if (_lastBitmap == null)
                {
                    return;
                }

                _renderTarget.Render(
                    (renderer) =>
                {
                    renderer.DrawBitmap(_lastBitmap, 1.0f, BitmapInterpolationMode.Linear);
                });

                Captured?.Invoke(this, new CapturedEventArgs(_lastBitmap, _dataStream));
            }
        }
        private void timerCapture_Tick(object sender, EventArgs e)
        {
            string path = _classifyMode ? _savePath : $@"{_savePath}\{DateTime.Now:yyyyMMddHHmmss.fff}.jpg";

            //_bmp.Save(path);
            SaveResizedBitmap(path, 0.5f);

            if (_classifyMode)
            {
                Cursor = Cursors.WaitCursor;
                // predict the webcam image.
                var predictionResult = ImageClassification.Predictor.ClassifySingleImage(_pipelineZip, _modelZip, path);
                // overray
                //_frame.PutText($"{predictionResult.PredictedLabel} {predictionResult.Score:P}", new OpenCvSharp.Point(10, 10), HersheyFonts.HersheyPlain, 10, new Scalar(0), 2);
                lblClassify.Text = $"{predictionResult.PredictedLabel} {predictionResult.Score:P}";
                if (predictionResult.Score >= 0.9f)
                {
                    lblClassify.ForeColor = Color.Red;
                }
                else
                {
                    lblClassify.ForeColor = Color.Black;
                }
                Cursor = Cursors.Default;
            }
            _count++;
            Captured?.Invoke(this, new CapturedInfo(_count, path));
        }
Beispiel #8
0
        public Piece PerformMove(Position source, Position target)
        {
            Piece p = Board.RemovePiece(source);

            p.IncreaseMoveCount();
            Piece capturedPiece = Board.RemovePiece(target);

            Board.PlacePiece(p, target);
            if (capturedPiece != null)
            {
                Captured.Add(capturedPiece);
            }

            // #Special move - Castling - Kingside Rook

            if (p is King && target.Column == source.Column + 2)
            {
                Position rookSource = new Position(source.Row, source.Column + 3);
                Position rookTarget = new Position(source.Row, source.Column + 1);
                Piece    rook       = Board.RemovePiece(rookSource);
                rook.IncreaseMoveCount();

                Board.PlacePiece(rook, rookTarget);
            }

            // #Special move - Castling - Queenside Rook

            if (p is King && target.Column == source.Column - 2)
            {
                Position rookSource = new Position(source.Row, source.Column - 4);
                Position rookTarget = new Position(source.Row, source.Column - 1);
                Piece    rook       = Board.RemovePiece(rookSource);
                rook.IncreaseMoveCount();

                Board.PlacePiece(rook, rookTarget);
            }

            // #Special move - En Passant

            if (p is Pawn)
            {
                if (source.Column != target.Column && capturedPiece == null)
                {
                    Position pawnPosition;
                    if (p.Color == Color.White)
                    {
                        pawnPosition = new Position(target.Row + 1, target.Column);
                    }
                    else
                    {
                        pawnPosition = new Position(target.Row - 1, target.Column);
                    }
                    capturedPiece = Board.RemovePiece(pawnPosition);
                    Captured.Add(capturedPiece);
                }
            }

            return(capturedPiece);
        }
Beispiel #9
0
        private void Slider_PointerPressed(object sender, PointerRoutedEventArgs e)
        {
            startPosition    = e.GetCurrentPoint(Base).Position;
            startPosition.X -= sliderPosition.X;
            startPosition.Y -= sliderPosition.Y;

            Captured?.Invoke(this, EventArgs.Empty);
            pointerCaptured = Slider.CapturePointer(e.Pointer);
        }
Beispiel #10
0
        override public void Write(string output)
        {
            var timestamp = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");

            output = $"[{timestamp}] {output}";
            // Capture the output and also send it to StdOut
            Captured.Write(output);
            stdOutWriter.Write(output);
        }
Beispiel #11
0
        //Опрацьовує юніта, який зайшов у місто
        public void GetUnits(BasicUnit unit)
        {
            bool needResend = false;

            if (PlayerId == unit.PlayerId)
            {
                if (unit.planedDestination != this)
                {
                    needResend = true;
                }
                else
                {
                    this.currWarriors += unit.warriorsCnt;
                    if (!saveOvercapedUnits && currWarriors > maxWarriors)
                    {
                        currWarriors = maxWarriors;
                    }
                }
            }
            else
            {
                unit.warriorsCnt = (ushort)Math.Round((2 - this.defPersent) * unit.warriorsCnt);

                if (currWarriors > unit.warriorsCnt)
                {
                    currWarriors -= unit.warriorsCnt;
                }
                else if (
                    (currWarriors < unit.warriorsCnt) ||
                    (
                        currWarriors == unit.warriorsCnt &&
                        ((PlayerId == 0 && equalsMeanCapturedForNeutral) ||
                         (equalsMeanCaptured))
                    )
                    )
                {
                    CityCaptureEvent captureCityEvent = new CityCaptureEvent(basicCityEvent, PlayerId, unit.PlayerId);
                    currWarriors = (ushort)(unit.warriorsCnt - currWarriors);
                    PlayerId     = unit.PlayerId;
                    Captured?.Invoke(captureCityEvent);
                }
                else if (currWarriors == unit.warriorsCnt)
                {
                    currWarriors = 0;
                }
            }

            if (needResend)
            {
                ResendUnit(unit.planedDestination, unit);
            }
            else
            {
                gameMap.Units.Remove(unit);
                UnitGet?.Invoke(new CityUnitsEvent(basicCityEvent, unit));
            }
        }
Beispiel #12
0
        private void UndoMove(Position source, Position target, Piece capturedPiece)
        {
            Piece p = Board.RemovePiece(target);

            p.DecreaseMoveCount();
            if (capturedPiece != null)
            {
                Board.PlacePiece(capturedPiece, target);
                Captured.Remove(capturedPiece);
            }
            Board.PlacePiece(p, source);

            // #Special move - Castling - Kingside Rook

            if (p is King && target.Column == source.Column + 2)
            {
                Position rookSource = new Position(source.Row, source.Column + 3);
                Position rookTarget = new Position(source.Row, source.Column + 1);
                Piece    rook       = Board.RemovePiece(rookTarget);
                rook.DecreaseMoveCount();

                Board.PlacePiece(rook, rookSource);
            }

            // #Special move - Castling - Queenside Rook

            if (p is King && target.Column == source.Column - 2)
            {
                Position rookSource = new Position(source.Row, source.Column - 4);
                Position rookTarget = new Position(source.Row, source.Column - 1);
                Piece    rook       = Board.RemovePiece(rookTarget);
                rook.DecreaseMoveCount();

                Board.PlacePiece(rook, rookSource);
            }

            // #Special move - En Passant

            if (p is Pawn)
            {
                if (source.Column != target.Column && capturedPiece == EnPassantVulnerable)
                {
                    Piece    pawn = Board.RemovePiece(target);
                    Position pawnPosition;
                    if (p.Color == Color.White)
                    {
                        pawnPosition = new Position(3, target.Column);
                    }
                    else
                    {
                        pawnPosition = new Position(4, target.Column);
                    }
                    Board.PlacePiece(pawn, pawnPosition);
                }
            }
        }
Beispiel #13
0
        private void Knob_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            _startPos  = e.GetPosition(Base);
            _prevAngle = _prevDistance = 0;

            Captured?.Invoke(this);
            Knob.CaptureMouse();

            centerKnob.Stop();
        }
Beispiel #14
0
 private void Knob_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
     _startPos    = e.GetPosition(Base);
     _prevAileron = _prevElevator = 0;
     canvasWidth  = Base.ActualWidth - KnobBase.ActualWidth;
     canvasHeight = Base.ActualHeight - KnobBase.ActualHeight;
     Captured?.Invoke(this);
     Knob.CaptureMouse();
     centerKnob.Stop();
 }
Beispiel #15
0
 private void Knob_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 {
     knob_point       = e.GetPosition(this.Base);
     knob_first_point = e.GetPosition(this.Base);
     canvasWidth      = Base.ActualWidth - KnobBase.ActualWidth;
     canvasHeight     = Base.ActualHeight - KnobBase.ActualHeight;
     Captured?.Invoke(this);
     Knob.CaptureMouse();
     centerKnob.Stop();
 }
        private void Knob_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            StartPos     = e.GetPosition(Base);
            CanvasWidth  = Base.ActualWidth;
            CanvasHeight = Base.ActualHeight;
            Captured?.Invoke(this);
            Knob.CaptureMouse();

            CenterKnob.Stop();
        }
Beispiel #17
0
 public override int GetHashCode()
 {
     unchecked {
         var hashCode = StartPosition.GetHashCode();
         hashCode = (hashCode * 397) ^ EndPosition.GetHashCode();
         hashCode = (hashCode * 397) ^ Piece.GetHashCode();
         hashCode = (hashCode * 397) ^ Captured.GetHashCode();
         hashCode = (hashCode * 397) ^ (int)MoveType;
         return(hashCode);
     }
 }
Beispiel #18
0
        private bool TakingExists(Towards towards)
        {
            var direction = new Direction(towards);
            var vector    = new Vector(direction);
            var draught   = CreateDraught(vector, MainItem.Clothes.InverseColour());
            var square    = Geometry.ShiftSquare(MainItem.Coordinates,
                                                 vector.Multiple(Constants.DISTANCE_FOR_SIMPLE_TAKING));

            return(State.Contain(draught) && !Captured.Contain(draught) &&
                   Geometry.ValidSquare(square) && !State.Contain(square));
        }
Beispiel #19
0
        void RecognizeQR(Mat img)
        {
            qrbox.ImageIpl = img;
            var res = reader.Decode(img);

            if (res != null)
            {
                resultT.Text = res.Text;
                Captured?.Invoke(res);
            }
        }
Beispiel #20
0
        /// <summary>
        /// Moves a piece from the origin to the destination
        /// </summary>
        /// <param name="origin"></param>
        /// <param name="destination"></param>
        public Piece ExecuteMovement(Position origin, Position destination)
        {
            Piece p = Board.RemovePiece(origin);

            p.IncrementMovements();
            Piece captured = Board.RemovePiece(destination);

            Board.PlacePiece(p, destination);
            if (captured != null)
            {
                Captured.Add(captured);
            }

            // SPECIAL PLAY SMALL CASTLING
            if (p is King && destination.Column == origin.Column + 2)
            {
                Position rookOrigin = new Position(origin.Line, origin.Column + 3);
                Position rookDest   = new Position(origin.Line, origin.Column + 1);
                Piece    rook       = Board.RemovePiece(rookOrigin);
                rook.IncrementMovements();
                Board.PlacePiece(rook, rookDest);
            }

            // SPECIAL PLAY BIG CASTLING
            if (p is King && destination.Column == origin.Column - 2)
            {
                Position rookOrigin = new Position(origin.Line, origin.Column - 4);
                Position rookDest   = new Position(origin.Line, origin.Column - 1);
                Piece    rook       = Board.RemovePiece(rookOrigin);
                rook.IncrementMovements();
                Board.PlacePiece(rook, rookDest);
            }

            // SPECIAL PLAY EN PASSANT
            if (p is Pawn)
            {
                if (origin.Column != destination.Column && captured == null)
                {
                    Position pawnPos;
                    if (p.Color == Color.White)
                    {
                        pawnPos = new Position(destination.Line + 1, destination.Column);
                    }
                    else
                    {
                        pawnPos = new Position(destination.Line - 1, destination.Column);
                    }
                    captured = Board.RemovePiece(pawnPos);
                    Captured.Add(captured);
                }
            }

            return(captured);
        }
Beispiel #21
0
 private void Knob_MouseDown(object sender, MouseButtonEventArgs e)
 {
     // Checks if the joystick was pressed.
     if (e.ChangedButton == MouseButton.Left)
     {
         // Update control point.
         startlPoint = e.GetPosition(this);
         Captured?.Invoke(this);
         Knob.CaptureMouse();
         centerknob.Stop();
     }
 }
Beispiel #22
0
        /// <summary>
        /// Undoes the movement
        /// </summary>
        /// <param name="origin"></param>
        /// <param name="destination"></param>
        /// <param name="capturedPiece"></param>
        public void UndoMovement(Position origin, Position destination, Piece capturedPiece)
        {
            Piece p = Board.RemovePiece(destination);

            p.DecrementMovements();
            if (capturedPiece != null)
            {
                Board.PlacePiece(capturedPiece, destination);
                Captured.Remove(capturedPiece);
            }
            Board.PlacePiece(p, origin);

            // SPECIAL PLAY SMALL CASTLING
            if (p is King && destination.Column == origin.Column + 2)
            {
                Position rookOrigin = new Position(origin.Line, origin.Column + 3);
                Position rookDest   = new Position(origin.Line, origin.Column + 1);
                Piece    rook       = Board.RemovePiece(rookDest);
                rook.IncrementMovements();
                Board.PlacePiece(rook, rookOrigin);
            }

            // SPECIAL PLAY BIG CASTLING
            if (p is King && destination.Column == origin.Column - 2)
            {
                Position rookOrigin = new Position(origin.Line, origin.Column - 4);
                Position rookDest   = new Position(origin.Line, origin.Column - 1);
                Piece    rook       = Board.RemovePiece(rookDest);
                rook.IncrementMovements();
                Board.PlacePiece(rook, rookOrigin);
            }

            // SPECIAL PLAY EN PASSANT
            if (p is Pawn)
            {
                if (origin.Column != destination.Column && capturedPiece == VulnerableEnPassant)
                {
                    Piece    pawn = Board.RemovePiece(destination);
                    Position pawnPos;
                    if (p.Color == Color.White)
                    {
                        pawnPos = new Position(3, destination.Column);
                    }
                    else
                    {
                        pawnPos = new Position(4, destination.Column);
                    }
                    Board.PlacePiece(pawn, pawnPos);
                }
            }
        }
Beispiel #23
0
        public override void Update(GameTime gameTime)
        {
            if (this.Carrier != null)
            {
                this.Position = this.Carrier.Position;

                Vector2 otherTeamsBase = this.Carrier.Team.Base;

                if (Vector2.DistanceSquared(this.Position, otherTeamsBase) < this.CapturedRange * this.CapturedRange)
                {
                    Captured?.Invoke(this);
                    this.Carrier = null;
                }
            }
        }
Beispiel #24
0
 public void catchCreature()
 {
     if (Random.Range(1, 10) > 5)
     {
         player.creatures.Add(enemy);
         Captured c = enemy.gameObject.AddComponent <Captured>();
         c.target  = player.transform;
         playerWon = true;
         endFight();
     }
     else
     {
         state = TurnState.ENEMY;
     }
 }
    void Start()
    {
        currentState = ResourceNodeState.Idle;

        Captured?.Invoke(Team, Team, ResourceNodeData);

        if (StartCaptured)
        {
            capturable.ForceCapture(Team);
        }
        else
        {
            setMaterialProperties.SetMaterial(0f, TeamColors.Hues[Team], ResourceNodeData.sprite);
        }
    }
    void Start()
    {
        currentState = ProductionNodeState.Idle;
        mapRoot      = GameObject.Find("MapRoot");

        Captured?.Invoke(Team, Team);

        if (StartCaptured)
        {
            capturable.ForceCapture(Team);
        }
        else
        {
            setMaterialProperties.SetMaterial(0f, TeamColors.Hues[Team], ProductionNodeData.sprite);
        }
    }
 private void RemoveEvents()
 {
     if (Captured != null)
     {
         foreach (Delegate d in Captured.GetInvocationList())
         {
             Captured -= (CapturedEventHandler)d;
         }
     }
     if (ReceiveData != null)
     {
         foreach (Delegate d in ReceiveData.GetInvocationList())
         {
             ReceiveData -= (DataReceivedHandler)d;
         }
     }
 }
Beispiel #28
0
        private void timerCapture_Tick(object sender, EventArgs e)
        {
            string path = _classifyMode ? _savePath : $@"{_savePath}\{DateTime.Now:yyyyMMddHHmmss.fff}.jpg";

            //_bmp.Save(path);
            SaveResizedBitmap(path, 0.5f);

            if (_classifyMode)
            {
                System.Threading.Tasks.Task.Run(() =>
                {
                    // predict the webcam image.
                    MLContext mlContext  = new MLContext(seed: 1);
                    var predictionResult = Classifier.GetSingleImagePrediction(mlContext, ImageClassification.IO.DataLoader.GetPipeline(mlContext, _pipelineZip), ImageClassification.IO.DataLoader.GetModel(mlContext, _modelZip), _savePath);
                    Classified?.Invoke(this, predictionResult);
                    // overray
                    //_frame.PutText($"{predictionResult.PredictedLabel} {predictionResult.Score:P}", new OpenCvSharp.Point(10, 10), HersheyFonts.HersheyPlain, 10, new Scalar(0), 2);
                });
            }
            _count++;
            Captured?.Invoke(this, new CapturedInfo(_count, path));
        }
Beispiel #29
0
        private void MouseMove(IMouseDevice device, IInputRoot root, Point p)
        {
            IInputElement source;

            if (Captured == null)
            {
                source = SetPointerOver(this, root, p);
            }
            else
            {
                var elements = Captured.GetSelfAndVisualAncestors().OfType <IInputElement>().ToList();
                SetPointerOver(this, root, elements);
                source = Captured;
            }

            source.RaiseEvent(new PointerEventArgs
            {
                Device      = this,
                RoutedEvent = InputElement.PointerMovedEvent,
                Source      = source,
            });
        }
Beispiel #30
0
        private Paths Takings(Towards towards)
        {
            var moves            = new Paths();
            var direction        = new Direction(towards);
            var vector           = new Vector(direction);
            var nextCapturedItem = CreateDraught(vector, MainItem.Clothes.InverseColour());

            MoveMainItem(vector.Multiple(Constants.DISTANCE_FOR_SIMPLE_TAKING));
            Captured.AddItem(nextCapturedItem);
            if (TakingExists())
            {
                moves.AddMoves(Takings());
            }
            else
            {
                moves.AddPath(new Path(MainItem.Coordinates));
            }
            MoveMainItem(vector.Multiple(-1 * Constants.DISTANCE_FOR_SIMPLE_TAKING));
            Captured.DeleteItem(nextCapturedItem);
            moves.InsertAtBeginning(MainItem.Coordinates);
            return(moves);
        }