private static void TestParseMapCustomTextTriggers(string mapCustomTextTriggersFilePath)
        {
            using var original  = FileProvider.GetFile(mapCustomTextTriggersFilePath);
            using var recreated = new MemoryStream();

            MapCustomTextTriggers.Parse(original, true).SerializeTo(recreated, true);
            StreamAssert.AreEqual(original, recreated, true);
        }
 public static GamePatch GetMinimumPatch(this MapCustomTextTriggers mapCustomTextTriggers)
 {
     return(mapCustomTextTriggers.SubVersion.HasValue
         ? GamePatch.v1_31_0
         : mapCustomTextTriggers.FormatVersion == MapCustomTextTriggersFormatVersion.Tft
             ? GamePatch.v1_07
             : GamePatch.v1_00);
 }
 public static void DowngradeOnce(this MapCustomTextTriggers mapCustomTextTriggers)
 {
     if (mapCustomTextTriggers.SubVersion.HasValue)
     {
         mapCustomTextTriggers.SubVersion = null;
     }
     else
     {
         throw new NotSupportedException();
     }
 }
        public static bool TryDowngrade(this MapCustomTextTriggers mapCustomTextTriggers, GamePatch targetPatch)
        {
            try
            {
                while (mapCustomTextTriggers.GetMinimumPatch() > targetPatch)
                {
                    mapCustomTextTriggers.DowngradeOnce();
                }

                return(true);
            }
            catch (NotSupportedException)
            {
                return(false);
            }
            catch
            {
                throw;
            }
        }
Exemple #5
0
 public static void Write(this BinaryWriter writer, MapCustomTextTriggers mapCustomTextTriggers, Encoding encoding) => mapCustomTextTriggers.WriteTo(writer, encoding);