| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 | 
							- using UnityEngine;
 
- using System.IO;
 
- namespace GFGGame
 
- {
 
-     public class SqliteController : SingletonBase<SqliteController>
 
-     {
 
-         /// <summary>
 
-         /// 数据库文件文件夹路径
 
-         /// </summary>
 
-         [HideInInspector]
 
-         public string dirPath;
 
-         public void Init(bool logable, string resPath)
 
-         {
 
-             string dbPath = null;
 
-             if (string.IsNullOrEmpty(dirPath))
 
-                 dirPath = $"{Application.persistentDataPath}";
 
-             dbPath = $"{dirPath}/{LauncherConfig.SQL_FILE_NAME}";
 
-             var connectionPath = "data source=" + dbPath;
 
- #if !UNITY_EDITOR && UNITY_ANDROID
 
-             connectionPath =  "uri=file:" + dbPath;
 
- #endif
 
-             //Debug.Log($"connectionPath {connectionPath}");
 
-             if(resPath != null)
 
-             {
 
-                 CheckSqlFile(dbPath, resPath);
 
-             }
 
-             SQLiteHelper.Instance.Init(logable, connectionPath);
 
-         }
 
-         /// <summary>
 
-         /// 检查数据库文件是否存在并且是最新版
 
-         /// </summary>
 
-         private void CheckSqlFile(string dbPath, string resPath)
 
-         {
 
- #if UNITY_EDITOR
 
-             if(!VEngine.Versions.OfflineMode)
 
-             {
 
- #endif
 
-                 bool needWrite = true;
 
-                 var crcKey = "crc" + resPath;
 
-                 string crc = "";
 
-                 VEngine.ManifestBundle version;
 
-                 if (File.Exists(dbPath))
 
-                 {
 
-                     version = VEngine.Versions.GetBundle(resPath);
 
-                     crc = PlayerPrefs.GetString(crcKey, "");
 
-                     needWrite = crc != version.crc.ToString();
 
-                 }
 
-                 if(needWrite)
 
-                 {
 
-                     var asset = GFGAsset.Load<TextAsset>(resPath);
 
-                     byte[] bytes = asset.bytes;
 
-                     File.WriteAllBytes(dbPath, bytes);
 
-                     GFGAsset.Release(resPath);
 
-                     version = VEngine.Versions.GetBundle(resPath);
 
-                     PlayerPrefs.SetString(crcKey, version.crc.ToString());
 
-                 }
 
- #if UNITY_EDITOR
 
-             }
 
- #endif
 
-         }
 
-     }
 
- }
 
 
  |