Esempio n. 1
0
 internal static void OnlineImport(PaintToolsView paintToolsView)
 {
     if (waiting)
     {
         Main.NewText("Be patient");
         return;
     }
     if (CheatSheet.instance.paintToolsUI.view.slotList.Any(x => x.browserID > 0))
     {
         Main.NewText("You've already loaded the database");
         return;
     }
     waiting = true;
     try
     {
         using (WebClient client = new WebClient())
         {
             var    steamIDMethodInfo = typeof(Main).Assembly.GetType("Terraria.ModLoader.ModLoader").GetProperty("SteamID64", BindingFlags.Static | BindingFlags.NonPublic);
             string steamid64         = (string)steamIDMethodInfo.GetValue(null, null);
             var    values            = new NameValueCollection
             {
                 { "version", CheatSheet.instance.Version.ToString() },
                 { "steamid64", steamid64 },
             };
             client.UploadValuesCompleted += new UploadValuesCompletedEventHandler(GetSchematicsComplete);
             client.UploadValuesAsync(schematicsurl, "POST", values);
         }
     }
     catch
     {
         Main.NewText("Schematics Server problem 1");
         waiting = false;
     }
 }
Esempio n. 2
0
 internal static void Import(PaintToolsView paintToolsView)
 {
     try {
         List <PaintToolsSlot> list = new List <PaintToolsSlot>();
         foreach (var line in File.ReadAllLines(importPath, Encoding.UTF8))
         {
             Tile[,] tiles = JsonConvert.DeserializeObject <Tile[, ]>(File.ReadAllText(line, Encoding.UTF8));
             for (int i = 0; i < tiles.GetLength(0); i++)
             {
                 for (int j = 0; j < tiles.GetLength(1); j++)
                 {
                     if (tiles[i, j].wall >= WallLoader.WallCount)
                     {
                         tiles[i, j].wall = 0;
                     }
                     if (tiles[i, j].type >= TileLoader.TileCount)
                     {
                         tiles[i, j].type = 0;
                     }
                 }
             }
             list.Add(new PaintToolsSlot(GetStampInfo(tiles)));
         }
         paintToolsView.Add(list.ToArray());
     }
     catch { }
 }
Esempio n. 3
0
 internal static void Import(PaintToolsView paintToolsView)
 {
     try
     {
         List <PaintToolsSlot> list = new List <PaintToolsSlot>();
         foreach (var line in File.ReadAllLines(importPath, Encoding.UTF8))
         {
             Tile[,] tiles = JsonConvert.DeserializeObject <Tile[, ]>(File.ReadAllText(line, Encoding.UTF8));
             list.Add(new PaintToolsSlot(GetStampInfo(tiles)));
         }
         paintToolsView.Add(list.ToArray());
     }
     catch { }
 }
Esempio n. 4
0
 internal static void LoadNextX(PaintToolsView view)
 {
     if (waiting)
     {
         Main.NewText("Wait for schematics to download first.");
         return;
     }
     if (PaintToolsEx.schematicsToLoad == null)
     {
         Main.NewText("Load online schematics database first.");
         return;
     }
     CheatSheet.instance.paintToolsUI.view.RemoveAllOnline();
     CheatSheet.instance.numberOnlineToLoad = CheatSheet.DefaultNumberOnlineToLoad;
 }
Esempio n. 5
0
 public static void Export(PaintToolsView paintToolsView)
 {
     try
     {
         int           index = 1;
         string        path;
         List <string> list = new List <string>();
         foreach (var slot in paintToolsView.slotList)
         {
             path = $@"{exportPath}\CheatSheet_PaintTools_{index++}.json";
             list.Add(path);
             File.WriteAllText(path, JsonConvert.SerializeObject(slot.stampInfo.Tiles), Encoding.UTF8);
         }
         if (0 < list.Count)
         {
             File.WriteAllLines(importPath, list);
         }
         Main.NewText($"Exported data to {importPath}");
     }
     catch { }
 }