Inheritance: System.Windows.Forms.Form
Ejemplo n.º 1
0
        /// <summary>
        /// In a 'Stage', there is data that is indexed by Room number. The actual rooms don't store
        /// this data internally, it is only by file name. So we're going to strip apart the filename
        /// to get the room number.
        /// </summary>
        /// <param name="NewArc"></param>
        private void GetRoomNumber(ZeldaArc NewArc)
        {
            int roomNumber = 0;

            //We're going to trim the Filepath down to just name - ie: "Room0.arc / R00_00.arc"
            string fileName = Path.GetFileName(NewArc.Filename);

            //If it starts with "Room" then it's (probably) a Windwaker Archive.
            if (fileName.Substring(0, 4).ToLower() == "room")
            {
                //Use Regex here to grab what is between "Room" and ".arc", since it goes up to "Room23.arc"
                string[] numbers        = Regex.Split(fileName, @"\D+");
                string   trimmedNumbers = String.Join("", numbers);
                trimmedNumbers = trimmedNumbers.Trim();

                roomNumber = int.Parse(trimmedNumbers);
            }
            //If it starts with R ("Rxx_00, xx being Room Number"), it's Twlight Princess
            else if (fileName.Substring(0, 1).ToLower() == "r")
            {
                //I *think* these follow the Rxx_00 pattern, where xx is the room number. _00 can change, xx might be 1 or 3, who knows!

                //We're going to use RegEx here to make sure we only grab what is between R and _00 which could be multipl.e
                string[] numbers        = Regex.Split(fileName.Substring(0, fileName.Length - 6), @"\D+");
                string   trimmedNumbers = String.Join("", numbers);
                trimmedNumbers = trimmedNumbers.Trim();

                roomNumber = int.Parse(trimmedNumbers);
            }
            else
            {
                InvalidRoomNumber popup = new InvalidRoomNumber();
                popup.DescriptionLabel.Text =
                    "Failed to determine room number from file name." + Environment.NewLine + "Expected: Room<x>.arc or R<xx>_00, got: " +
                    fileName;
                popup.ShowDialog(this);

                roomNumber = (int)popup.roomNumberSelector.Value;
                Console.WriteLine("User chose: " + roomNumber);
            }

            NewArc.RoomNumber = roomNumber;
        }
Ejemplo n.º 2
0
        /// <summary>
        /// In a 'Stage', there is data that is indexed by Room number. The actual rooms don't store
        /// this data internally, it is only by file name. So we're going to strip apart the filename
        /// to get the room number.
        /// </summary>
        /// <param name="NewArc"></param>
        private void GetRoomNumber(ZeldaArc NewArc)
        {
            int roomNumber = 0;

            //We're going to trim the Filepath down to just name - ie: "Room0.arc / R00_00.arc"
            string fileName = Path.GetFileName(NewArc.Filename);

            //If it starts with "Room" then it's (probably) a Windwaker Archive.
            if (fileName.Substring(0, 4).ToLower() == "room")
            {
                //Use Regex here to grab what is between "Room" and ".arc", since it goes up to "Room23.arc"
                string[] numbers = Regex.Split(fileName, @"\D+");
                string trimmedNumbers = String.Join("", numbers);
                trimmedNumbers = trimmedNumbers.Trim();

                roomNumber = int.Parse(trimmedNumbers);
            }
            //If it starts with R ("Rxx_00, xx being Room Number"), it's Twlight Princess
            else if (fileName.Substring(0, 1).ToLower() == "r")
            {
                //I *think* these follow the Rxx_00 pattern, where xx is the room number. _00 can change, xx might be 1 or 3, who knows!

                //We're going to use RegEx here to make sure we only grab what is between R and _00 which could be multipl.e
                string[] numbers = Regex.Split(fileName.Substring(0, fileName.Length - 6), @"\D+");
                string trimmedNumbers = String.Join("", numbers);
                trimmedNumbers = trimmedNumbers.Trim();

                roomNumber = int.Parse(trimmedNumbers);
            }
            else
            {
                InvalidRoomNumber popup = new InvalidRoomNumber();
                popup.DescriptionLabel.Text =
                    "Failed to determine room number from file name." + Environment.NewLine + "Expected: Room<x>.arc or R<xx>_00, got: " +
                    fileName;
                popup.ShowDialog(this);

                roomNumber = (int) popup.roomNumberSelector.Value;
                Console.WriteLine("User chose: " + roomNumber);
            }

            NewArc.RoomNumber = roomNumber;
        }