static ConfigManager()
        {
            var cfgFile = PathUnity.GetFullPath("config.json");

            if (string.IsNullOrEmpty(cfgFile))
            {
                throw new Exception(string.Format("未找到文件:{0}.", "config.json"));
            }
            var strCfg = cfgFile.ReadToEnd(DefulatEncoding);

            Current = Serializer.JsonDeserialize <ConfigInfo>(strCfg);
        }
Example #2
0
        /// <summary>
        /// 读取某个配置文件的内容
        /// </summary>
        /// <param name="cfgFile"></param>
        /// <returns></returns>
        public static string ReadConfigFile(string cfgFile)
        {
            var filePath = PathUnity.GetFullPath(cfgFile);

            if (string.IsNullOrWhiteSpace(filePath))
            {
                throw new Exception(string.Format("cannot found file \"{0}\".", cfgFile));
            }

            var script = filePath.ReadToEnd(Encoding.UTF8);

            if (string.IsNullOrEmpty(script))
            {
                throw new Exception(string.Format("file is empty, \"{0}\".", filePath));
            }
            return(script);
        }
    static void CreateUISpine()
    {
        Object[] selects = Selection.objects;
        foreach (Object o in selects)
        {
            SkeletonDataAsset s = o as SkeletonDataAsset;
            if (s != null && s.atlasAsset != null)
            {
                AtlasAsset a = s.atlasAsset;
                if (a.materials.Length > 0)
                {
                    Material m = a.materials [0];

                    string path = "Assets/";                    //Application.persistentDataPath;
                    path = PathUnity.Combine(path, "ABResources/Spine2D");
                    path = PathUnity.Combine(path, o.name + ".prefab");
                    GameObject g = new GameObject();
                    g.name = o.name;

                    g.AddComponent <MeshRenderer> ();
                    g.AddComponent <MeshFilter> ();

                    NGUISpine nus = g.AddComponent <NGUISpine> ();
                    nus.skeletonDataAsset = s;
                    var anims = s.GetSkeletonData(true).Animations;
                    if (anims.Count > 0)
                    {
                        nus.Reset();
                        nus.AnimationName = anims [1].Name;
                    }

                    UISpine us = g.AddComponent <UISpine> ();
                    us.spineMaterial = m;
                    us.depth         = 100;

                    GameObject newGo = PrefabUtility.CreatePrefab(path, g);
                    newGo.name = g.name;
                    GameObject.DestroyImmediate(g);
                }
            }
        }
        AssetDatabase.Refresh();
    }
        /// <summary>
        /// 初始化扩展模块
        /// </summary>
        private static void InitExtendModules()
        {
            ExtendModules = new List <ModuleInfo>();
            ExecutePaths  = new List <string>();
            var modulePath = PathUnity.GetFullPath("modules");

            if (modulePath?.Length > 0)
            {
                foreach (var dir in Directory.GetDirectories(modulePath))
                {
                    var file = Directory.GetFiles(dir, "module.json").SingleOrDefault();
                    if (string.IsNullOrEmpty(file))
                    {
                        continue;
                    }
                    var content = file.ReadToEnd(ConfigManager.DefulatEncoding);
                    if (string.IsNullOrEmpty(content))
                    {
                        continue;
                    }
                    var config = Serializer.JsonDeserialize <ModuleInfo>(content);
                    config.ExecutePath = dir;
                    if (config.ProxyScript?.Length > 0)
                    {
                        if (File.Exists(Path.Combine(dir, config.ProxyScript)))
                        {
                            config.ProxyScript = new FileInfo(Path.Combine(dir, config.ProxyScript)).FullName.ReadToEnd(ConfigManager.DefulatEncoding);
                        }
                    }
                    ExtendModules.Add(config);
                    if (!ExecutePaths.Contains(dir))
                    {
                        ExecutePaths.Add(dir);
                    }
                    //AppDomain.CurrentDomain.SetData("PRIVATE_BINPATH", "Modules/html");
                    //// AppDomain.CurrentDomain.SetData("BINPATH_PROBE_ONLY", @"C:\Projects\Git\Snail.Collector\Snail.Collector\bin\Debug\Modules\html");
                    //var m = typeof(AppDomainSetup).GetMethod("UpdateContextProperty", BindingFlags.NonPublic | BindingFlags.Static);
                    //var funsion = typeof(AppDomain).GetMethod("GetFusionContext", BindingFlags.NonPublic | BindingFlags.Instance);
                    //m.Invoke(null, new object[] { funsion.Invoke(AppDomain.CurrentDomain, null), "PRIVATE_BINPATH", @"C:\Projects\Git\Snail.Collector\Snail.Collector\bin\Debug\Modules\html" });
                }
            }
        }