Пример #1
0
    /// <summary>
    /// 初始化所有通用类
    /// </summary>
    public static void init(Action callback, bool playMusic = true)
    {
        if (instance == null)
        {
            GameObject go = new GameObject();
            instance      = go.AddComponent <Global>();
            instance.name = "GLOBAL";
            DontDestroyOnLoad(go);
            Application.targetFrameRate = 60;
            TableManager.Init();
            DataUtils.instance.transform.parent = go.transform;
            Sounder.instance.transform.parent   = go.transform;
            if (playMusic)
            {
                Sounder.instance.Play("背景音乐", true);
            }

            int v = DataUtils.AddLoginTime();
            if (v == 1)
            {
                DataUtils.AddMoney(3000);
            }
        }
        instance.LoadMusicConfig(() => {
            Debug.Log("加载配件文件完成");
            string contentPath = AppContentPath();
            Directory.CreateDirectory(contentPath);

            if (File.Exists(contentPath + "2.mp4") && File.Exists(contentPath + "3.mp4") && File.Exists(contentPath + "6.mp4") && File.Exists(contentPath + "7.mp4"))
            {
                Debug.Log("视频文件已解压");
                callback();
                return;
            }

            string[] files;

            if (isAllResLocal)
            {
                files = new string[] { "1.mp4", "2.mp4", "3.mp4", "4.mp4", "5.mp4", "6.mp4", "7.mp4", "8.mp4" };
            }
            else
            {
                files = new string[] { "2.mp4", "3.mp4", "6.mp4", "7.mp4" };
            }

            int succesCount = 0;
            for (int i = 0; i < files.Length; i++)
            {
                JLoader.instance.Load(AppStreamPath(files[i]), files[i], (type, info) =>
                {
                    if (type == JLoader.DOWNLOAD_TYPE.SUCCESS)
                    {
                        File.WriteAllBytes(contentPath + ((string)info.userData), info.www.downloadHandler.data);
                        succesCount++;
                        if (succesCount == files.Length)
                        {
                            callback();
                        }
                    }
                });
            }
        });
    }