mirror of
https://git.huckle.dev/Huckles-Minecraft-Archive/PCK-Studio.git
synced 2026-05-26 21:35:10 +00:00
New PCK Center API
This commit is contained in:
111
MinecraftUSkinEditor/Classes/API/PCKCenter/SaveLocalJSON.cs
Normal file
111
MinecraftUSkinEditor/Classes/API/PCKCenter/SaveLocalJSON.cs
Normal file
@@ -0,0 +1,111 @@
|
||||
using System;
|
||||
using System.IO;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Newtonsoft.Json;
|
||||
using API.PCKCenter.model;
|
||||
|
||||
namespace API.PCKCenter
|
||||
{
|
||||
public class LocalActions
|
||||
{
|
||||
string cache = PckStudio.Program.Appdata + "cache/packs/";
|
||||
public bool SaveLocalJSON(PCKCenterJSON JSONData, string category, bool isVita)
|
||||
{
|
||||
try
|
||||
{
|
||||
string outputString = JsonConvert.SerializeObject(JSONData, Formatting.Indented);
|
||||
|
||||
switch (isVita)
|
||||
{
|
||||
case false:
|
||||
File.WriteAllText(cache + "normal/" + category + ".json", outputString);
|
||||
break;
|
||||
case true:
|
||||
File.WriteAllText(cache + "vita/" + category + ".json", outputString);
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex.Message);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public PCKCenterJSON GetLocalJSON(string category, bool isVita)
|
||||
{
|
||||
try
|
||||
{
|
||||
string JSONData = "";
|
||||
switch (isVita)
|
||||
{
|
||||
case false:
|
||||
JSONData = File.ReadAllText(cache + "normal/" + category + ".json");
|
||||
break;
|
||||
case true:
|
||||
JSONData = File.ReadAllText(cache + "vita/" + category + ".json");
|
||||
break;
|
||||
}
|
||||
return JsonConvert.DeserializeObject<PCKCenterJSON>(JSONData);
|
||||
}
|
||||
catch(Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex.Message);
|
||||
PCKCenterJSON JSONData = new PCKCenterJSON();
|
||||
JSONData.Data = new Dictionary<string, EntryInfo>();
|
||||
return JSONData;
|
||||
}
|
||||
}
|
||||
public PCKCenterJSON AddPack(PCKCenterJSON JSONData,EntryInfo EInfo, int PackID)
|
||||
{
|
||||
JSONData.Data.Add(PackID.ToString(), EInfo);
|
||||
return JSONData;
|
||||
}
|
||||
public PCKCenterJSON Removepack(PCKCenterJSON JSONData, int PackID)
|
||||
{
|
||||
JSONData.Data.Remove(PackID.ToString());
|
||||
return JSONData;
|
||||
}
|
||||
|
||||
public bool SaveLocalCategories(bool isVita)
|
||||
{
|
||||
try
|
||||
{
|
||||
List<string> Cats = new List<string>();
|
||||
string StringData = "";
|
||||
switch (isVita)
|
||||
{
|
||||
case false:
|
||||
foreach(string file in Directory.GetFiles(cache + "normal/"))
|
||||
{
|
||||
if (Path.GetExtension(file) == ".json")
|
||||
Cats.Add(Path.GetFileNameWithoutExtension(file));
|
||||
}
|
||||
StringData = JsonConvert.SerializeObject(Cats.ToArray(), Formatting.Indented);
|
||||
File.WriteAllText(cache + "Categiories.json", StringData);
|
||||
break;
|
||||
case true:
|
||||
foreach (string file in Directory.GetFiles(cache + "vita/"))
|
||||
{
|
||||
if (Path.GetExtension(file) == ".json")
|
||||
Cats.Add(Path.GetFileNameWithoutExtension(file));
|
||||
}
|
||||
StringData = JsonConvert.SerializeObject(Cats.ToArray(), Formatting.Indented);
|
||||
File.WriteAllText(cache + "VitaCategiories.json", StringData);
|
||||
break;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Console.WriteLine(ex.Message);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user