using System; using System.IO; using Newtonsoft.Json; using UnityEngine; namespace Needle.Engine { public class NeedlePackageConfig { public const string NAME = "package.needle.json"; public UnityConfig unity; [Serializable] public struct UnityConfig { } public static bool Exists(string dir) { if (dir.EndsWith(NAME)) return File.Exists(dir); return File.Exists(dir + "/" + NAME); } public static void Create(string dir) { var path = dir + "/" + NAME; var content = JsonConvert.SerializeObject(new NeedlePackageConfig(), Formatting.Indented); File.WriteAllText(path, content); } public static bool TryRead(string dir, out NeedlePackageConfig config) { config = null; var filepath = dir.EndsWith(NAME) ? dir : dir + "/" + NAME; if (!File.Exists(filepath)) return false; try { config = JsonConvert.DeserializeObject(File.ReadAllText(filepath)); return true; } catch (Exception err) { Debug.LogException(err); return false; } } } }