Пример #1
0
        public ArrayList Undo()
        {
            ArrayList undo = new ArrayList();

            undo.Add(Eliminated[Index]);
            undo.Add(EliminatedObjects[Index]);
            undo.Add(PieceMoved[Index]);
            undo.Add(PreviousXPosition[Index]);
            undo.Add(PreviousZPosition[Index]);
            undo.Add(CurrentXPosition[Index]);
            undo.Add(CurrentZPosition[Index]);
            undo.Add(Check[Index]);
            undo.Add(PawnPromoted[Index]);

            Eliminated.RemoveAt(Index);
            EliminatedObjects.RemoveAt(Index);
            PieceMoved.RemoveAt(Index);
            PreviousXPosition.RemoveAt(Index);
            PreviousZPosition.RemoveAt(Index);
            CurrentXPosition.RemoveAt(Index);
            CurrentZPosition.RemoveAt(Index);
            Check.RemoveAt(Index);
            PawnPromoted.RemoveAt(Index);
            Count--;

            return(undo);
        }
Пример #2
0
        /// <summary>
        /// Called when a move is made
        /// </summary>
        /// <param name="pieceEliminated"> True if the move eliminate's the opponent's piece </param>
        /// <param name="eliminatedObject"> Opponent's piece that has been eliminated, otherwise null </param>
        /// <param name="piece"> Piece that was moved </param>
        /// <param name="originalPos"> Original Position of the piece ("x z")</param>
        /// <param name="newPos"> New Position of the Piece ("x z")</param>
        public void Move(bool pieceEliminated, GameObject eliminatedObject, GameObject piece, string originalPos, string newPos)
        {
            Eliminated.Add(pieceEliminated);

            if (pieceEliminated)
            {
                EliminatedObjects.Add(eliminatedObject);
            }

            else
            {
                EliminatedObjects.Add(null);
            }

            PieceMoved.Add(piece);
            PreviousXPosition.Add((int)char.GetNumericValue(originalPos[0]));
            PreviousZPosition.Add((int)char.GetNumericValue(originalPos[2]));
            CurrentXPosition.Add((int)char.GetNumericValue(newPos[0]));
            CurrentZPosition.Add((int)char.GetNumericValue(newPos[2]));

            // by default, pawnPromoted = false
            PawnPromoted.Add(false);

            // by default, check = false
            Check.Add(false);

            Count++;
        }
Пример #3
0
        private void OnBattleRoyalePlayerEliminated(object sender, PlayerBattleRoyaleEliminatedEventArgs e)
        {
            var name = "Player";

            if (e.UserId == OnlineManager.Self.OnlineUser.Id)
            {
                name = OnlineManager.Self.OnlineUser.Username;
            }
            else
            {
                var view = (GameplayScreenView)Screen.View;
                var user = view.ScoreboardLeft.Users.Find(x => x.LocalScore?.PlayerId == e.UserId);

                if (user != null)
                {
                    name = user.UsernameRaw;
                }
            }

            Username.Text = name;
            Eliminated.X  = Username.Width + 1;
            Size          = new ScalableVector2(Username.Width + Eliminated.Width + 1, Eliminated.Height);

            Username.ClearAnimations();
            Eliminated.ClearAnimations();

            Username.FadeTo(1, Easing.Linear, 300).Wait(1200);
            Eliminated.FadeTo(1, Easing.Linear, 300).Wait(1200);
            Username.FadeTo(0, Easing.Linear, 500);
            Eliminated.FadeTo(0, Easing.Linear, 500);
        }
Пример #4
0
        /// <summary>
        /// Get a unique code that is equal for any two equal MurtyNodes.
        /// </summary>
        /// <returns>Hash code.</returns>
        public override int GetHashCode()
        {
            int hash = 17;

            hash = unchecked (37 * hash + Eliminated.GetHashCode());
            hash = unchecked (37 * hash + Forced.GetHashCode());

            if (Assignment != null)
            {
                hash = unchecked (37 * hash + Assignment.GetHashCode());
            }

            return(hash);
        }