Example #1
0
 public void SetModel(MoveId id, Move model)
 {
     Id     = (int)id;
     _model = model;
     UpdatePreviewAnimation(true);
     RaiseAllPropertiesChanged();
 }
Example #2
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (AbilityId != 0L)
            {
                hash ^= AbilityId.GetHashCode();
            }
            if (Type != 0)
            {
                hash ^= Type.GetHashCode();
            }
            if (PassiveId != 0)
            {
                hash ^= PassiveId.GetHashCode();
            }
            if (MoveId != 0)
            {
                hash ^= MoveId.GetHashCode();
            }
            if (Value != 0)
            {
                hash ^= Value.GetHashCode();
            }
            if (U6 != 0)
            {
                hash ^= U6.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Example #3
0
        /// <summary>Find the closest path towards the exit.
        /// <para>Returns null if no path was found.</para>
        /// <para>NOTE: It can return null if <paramref name="start"/> is inside a closed door's position.</para>
        /// </summary>
        private Breadcrumb PathfindGenerateCrumbs(IMyCubeGrid grid, ref Vector3I start) // used in a background thread
        {
            scanned.Clear();
            openList.Clear();

            var startBreadcrumb = new Breadcrumb(start);

            openList.Add(startBreadcrumb);

            var directions = Base6Directions.IntDirections;

            while (openList.HasNext())
            {
                var crumb = openList.GetFirst();

                if (DistanceToBox(crumb.Position, grid.Min, grid.Max) < 0)
                {
                    return(crumb); // found outside of grid, terminate.
                }
                for (int i = 0; i < directions.Length; ++i)
                {
                    if (ShouldCancelTask)
                    {
                        return(null);
                    }

                    var dir    = directions[i];
                    var moveId = new MoveId(ref crumb.Position, ref dir);

                    if (!scanned.Contains(moveId)) // ensure we didn't already check this position+direction
                    {
                        scanned.Add(moveId);

                        var target        = crumb.Position + dir;
                        var distToOutside = DistanceToBox(target, grid.Min, grid.Max) + 1; // adding 1 to offset edges

                        if (distToOutside < 0)                                             // gone outside of edge already, exit
                        {
                            return(crumb);
                        }

                        if (IsInInflatedBounds(grid, target) && !IsPressurized(grid, crumb.Position, target))
                        {
                            int pathCost = crumb.PathCost + 1;       // direction movement cost, always 1 in our case
                            int cost     = pathCost + distToOutside; // using distance to box edge instead of a predefined end

                            openList.Add(new Breadcrumb(target, cost, pathCost, crumb));
                        }
                    }
                }
            }

            return(null);
        }
 public static void Render(this IConsole console, Move move, MoveId id)
 {
     console.WriteTitle($"{id}");
     console.WriteProperty("Name", move.Name);
     console.WriteProperty("Type", move.Type.ToString());
     console.WriteProperty("Power", move.Power.ToString());
     console.WriteProperty("Accuracy", $"{move.Accuracy}%");
     console.WriteProperty("MovementFlags", move.MovementFlags.ToString());
     console.WriteProperty("Range", move.Range.ToString());
     console.WriteProperty("Effects", $"{move.Effect1} {RenderQuantityForMoveEffect(move.Effect1, move.Effect1Chance)}/ {move.Effect2} {RenderQuantityForMoveEffect(move.Effect2, move.Effect2Chance)}");
     console.WriteProperty("Unused Effect Duplicates", $"{move.Effect3} {RenderQuantityForMoveEffect(move.Effect3, move.Effect3Chance)}/ {move.Effect4} {RenderQuantityForMoveEffect(move.Effect4, move.Effect4Chance)}");
 }
Example #5
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (MoveId != 0)
            {
                hash ^= MoveId.GetHashCode();
            }
            if (Category != 0)
            {
                hash ^= Category.GetHashCode();
            }
            if (U3 != 0)
            {
                hash ^= U3.GetHashCode();
            }
            if (User != 0)
            {
                hash ^= User.GetHashCode();
            }
            if (Group != 0)
            {
                hash ^= Group.GetHashCode();
            }
            if (Type != 0)
            {
                hash ^= Type.GetHashCode();
            }
            if (Target != 0)
            {
                hash ^= Target.GetHashCode();
            }
            if (U8 != 0)
            {
                hash ^= U8.GetHashCode();
            }
            if (GaugeDrain != 0)
            {
                hash ^= GaugeDrain.GetHashCode();
            }
            if (Power != 0)
            {
                hash ^= Power.GetHashCode();
            }
            if (Accuracy != 0)
            {
                hash ^= Accuracy.GetHashCode();
            }
            if (Uses != 0)
            {
                hash ^= Uses.GetHashCode();
            }
            if (Tags != 0)
            {
                hash ^= Tags.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }
Example #6
0
        public override void InitializeCallout(MenuStrip menuStrip1)
        {
            //
            // File Menu
            //
            // openToolStripMenuItem
            var openToolStripMenuItem = new ToolStripMenuItem();

            openToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta;
            openToolStripMenuItem.Name         = FileOpen;
            openToolStripMenuItem.ShortcutKeys = ((Keys)((Keys.Control | Keys.O)));
            openToolStripMenuItem.Text         = "&Open";

            // toolStripSeparator1
            var toolStripSeparator1 = new ToolStripSeparator();

            toolStripSeparator1.Name = "toolStripSeparator1";

            // exitToolStripMenuItem
            var exitToolStripMenuItem = new ToolStripMenuItem();

            exitToolStripMenuItem.Name = FileExit;
            exitToolStripMenuItem.Text = "E&xit";

            // fileToolStripMenuItem
            var fileToolStripMenuItem = new ToolStripMenuItem();

            fileToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] {
                openToolStripMenuItem,
                toolStripSeparator1,
                exitToolStripMenuItem
            });
            fileToolStripMenuItem.Text = "&File";

            menuStrip1.Items.Add(fileToolStripMenuItem);

            //
            // Game Menu
            //
            // newGameToolStripMenuItem
            var newGameToolStripMenuItem = new ToolStripMenuItem();

            newGameToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Magenta;
            newGameToolStripMenuItem.Name = "New Game";
            newGameToolStripMenuItem.Text = "&New Game";

            // undoToolStripMenuItem
            var undoToolStripMenuItem = new ToolStripMenuItem();

            undoToolStripMenuItem.Name         = "Undo";
            undoToolStripMenuItem.ShortcutKeys = ((Keys)((Keys.Control | Keys.Z)));
            undoToolStripMenuItem.Text         = "&Undo";

            // gameToolStripMenuItem
            var gameToolStripMenuItem = new ToolStripMenuItem();

            gameToolStripMenuItem.DropDownItems.AddRange(new ToolStripItem[] {
                newGameToolStripMenuItem,
                undoToolStripMenuItem
            });
            gameToolStripMenuItem.Text = "&Game";

            // menuStrip1
            menuStrip1.Items.Add(gameToolStripMenuItem);

            // Set up example
            NewGame();
            SetSquareState(15, CellState.Black);
            SetSquareState(11, CellState.Empty);
            SetSquareState(18, CellState.White);
            SetSquareState(22, CellState.Empty);
            SetSquareHighLight(Selected, HighLight.Selected);
            SetSquareHighLight(Target, HighLight.Target);
            Swoop = AddSwoop(Selected, Target);
            MoveId move = new MoveId(FirstMoveTableRow, CheckerColor.Black);

            SetMoveText(move, "11-15");
            move.Color = CheckerColor.White;
            SetMoveText(move, "22-18");
            move.Move++;
            move.Color = CheckerColor.Black;
            SetMoveText(move, "(15x22)");
            SetCurrentMove(MoveDirection.First);
            UpdateLeftStatus("Black to move");
            UpdateRightStatus("Black (12) White (12)");
        }
Example #7
0
        public override int GetHashCode()
        {
            int hash = 1;

            if (MoveId != 0)
            {
                hash ^= MoveId.GetHashCode();
            }
            if (Category != global::ReMastersLib.Category.NoCategory)
            {
                hash ^= Category.GetHashCode();
            }
            if (U3 != 0)
            {
                hash ^= U3.GetHashCode();
            }
            if (User != global::ReMastersLib.User.Pokemon)
            {
                hash ^= User.GetHashCode();
            }
            if (Group != global::ReMastersLib.Group.None)
            {
                hash ^= Group.GetHashCode();
            }
            if (Type != 0)
            {
                hash ^= Type.GetHashCode();
            }
            if (Target != global::ReMastersLib.Target.AllySingle)
            {
                hash ^= Target.GetHashCode();
            }
            if (U8 != 0)
            {
                hash ^= U8.GetHashCode();
            }
            if (GaugeDrain != 0)
            {
                hash ^= GaugeDrain.GetHashCode();
            }
            if (Power != 0)
            {
                hash ^= Power.GetHashCode();
            }
            if (Accuracy != 0)
            {
                hash ^= Accuracy.GetHashCode();
            }
            if (Uses != 0)
            {
                hash ^= Uses.GetHashCode();
            }
            if (Tags != global::ReMastersLib.Tag.None)
            {
                hash ^= Tags.GetHashCode();
            }
            if (_unknownFields != null)
            {
                hash ^= _unknownFields.GetHashCode();
            }
            return(hash);
        }