Esempio n. 1
0
        public bool Equals(MapData other)
        {
            if (other == null)
            {
                return(false);
            }

            int levelNumber = MapComparer.MapNameToLevel(other.NameInternal);

            return(LevelNumber == levelNumber);
        }
Esempio n. 2
0
        public MapData(string name, string nameSafe, string nameInternal)
        {
            Name         = name;
            NameSafe     = nameSafe;
            NameInternal = nameInternal;
            LevelNumber  = MapComparer.MapNameToLevel(NameInternal);

            foreach (char invalidPathChar in Path.GetInvalidPathChars())
            {
                NameSafe = NameSafe.Replace(invalidPathChar, ' ');
            }
        }
Esempio n. 3
0
        private void Parse(string content)
        {
            if (string.IsNullOrEmpty(content))
            {
                return;
            }

            foreach (string line in content.Split(new[] { '\n', '\r' }, StringSplitOptions.RemoveEmptyEntries))
            {
                if (line.Contains("="))
                {
                    string[] values = line.Split('=');

                    if (values.Length < 2)
                    {
                        continue;
                    }

                    if (values[0] == "completed")
                    {
                        Completed = int.Parse(values[1]) == 1;
                    }

                    if (values[0] == "date")
                    {
                        SavedAt = DateTime.Now;
                        if (int.TryParse(values[1], out var unix))
                        {
                            SavedAt = DateTimeOffset.FromUnixTimeSeconds(unix).LocalDateTime;
                        }

                        // For folder name
                        DateTimeSafe = SavedAt.ToString("yyyy-MM-dd HH.mm.ss");

                        // For list view
                        DateTimeString = SavedAt.ToString("yyyy-MM-dd HH:mm:ss");
                    }

                    if (values[0] == "difficulty")
                    {
                        Difficulty = int.Parse(values[1]);
                        DiffToString(Difficulty);
                    }

                    if (values[0] == "mapDesc")
                    {
                        MapDesc = values[1];
                    }

                    if (values[0] == "mapName")
                    {
                        MapName = values[1];
                    }

                    if (values[0] == "time")
                    {
                        PlayedTime = new TimeSpan(0, 0, int.Parse(values[1]));
                    }
                }
            }

            if (MapDesc != "")
            {
                MapSafe = MapDesc;
            }

            foreach (char invalidPathChar in System.IO.Path.GetInvalidPathChars())
            {
                MapSafe = MapSafe.Replace(invalidPathChar, ' ');
            }

            LevelNumber = MapComparer.MapNameToLevel(MapName);
            if (LevelNumber > 0)
            {
                MapSafe = LevelNumber.ToString().PadRight(2) + " - " + MapSafe;
            }
        }