thieumao

SQLiteKitScript v4 - comment - create db encryt

Aug 5th, 2015
267
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 25.98 KB | None | 0 0
  1. using UnityEngine;
  2. using UnityEngine.UI;
  3. using System.Collections;
  4. using System;
  5. using System.IO;
  6. using System.Threading;
  7. using System.Diagnostics;
  8. using System.Collections.Generic;
  9. using Debug = UnityEngine.Debug;
  10.  
  11. public class SQLiteKitScript : MonoBehaviour
  12. {
  13.     //
  14.     // DataUser
  15.     //
  16.     private string DataUser = "DataUser0";
  17.  
  18.     // Query Create DataUser
  19.     private string tbl_HeroUser =
  20.         "CREATE TABLE IF NOT EXISTS tbl_HeroUser (id_hero INTEGER, id_unlockhero INTEGER, id_skill INTEGER, level_hero INTEGER, attack INTEGER, unlock INTEGER);";
  21.     private string tbl_LevelUser =
  22.             "CREATE TABLE IF NOT EXISTS tbl_LevelUser (id_level INTEGER, play INTEGER, unlock INTEGER, top_dame INTEGER, top_move INTEGER);";
  23.  
  24.     // Query Select DataUser
  25.     private string tbl_HeroUserSelect = "SELECT * FROM tbl_HeroUser;";
  26.     private string tbl_LevelUserSelect = "SELECT * FROM tbl_LevelUser;";
  27.  
  28.     // Query Insert DataUser
  29.     private string tbl_HeroUserInsert =
  30.         "INSERT INTO tbl_HeroUser (id_hero,id_unlockhero,id_skill,level_hero,attack,unlock) VALUES(?,?,?,?,?,?);";
  31.     private string tbl_LevelUserInsert =
  32.         "INSERT INTO tbl_LevelUser (id_level,play,unlock,top_dame,top_move) VALUES(?,?,?,?,?);";
  33.  
  34.     //
  35.     // DataGame
  36.     //
  37.     private string DataGame = "DataGame0";
  38.  
  39.     // Query Create DataGame
  40.     private string tbl_Boss =
  41.             "CREATE TABLE IF NOT EXISTS tbl_Boss (id_boss INTEGER, type INTEGER, id_level INTEGER, name_boss VARCHAR, blood INTEGER, resist INTEGER, special INTEGER, move INTEGER, blood_special INTEGER, num_special INTEGER, img VARCHAR);";
  42.     private string tbl_Draw =
  43.             "CREATE TABLE IF NOT EXISTS tbl_Draw (id INTEGER, note INTEGER, food_percent VARCHAR, food INTEGER, soul_percent VARCHAR, soul INTEGER, cube_percent VARCHAR, cube INTEGER, cube_buy INTEGER);";
  44.     private string tbl_Energy =
  45.             "CREATE TABLE IF NOT EXISTS tbl_Energy (buy INTEGER, note INTEGER, energy INTEGER, energy_buy INTEGER, buy_cube INTEGER, energy_refill VARCHAR);";
  46.     private string tbl_Hero =
  47.             "CREATE TABLE IF NOT EXISTS tbl_Hero (id_hero INTEGER, map_open INTEGER, map_gift INTEGER, type_hero INTEGER, id_skill INTEGER, name_hero VARCHAR, des VARCHAR, food INTEGER, p_food VARCHAR, soul INTEGER, p_soul VARCHAR, cube INTEGER, p_cube VARCHAR, shop_food INTEGER, shop_soul INTEGER, shop_cube INTEGER);";
  48.     private string tbl_Level =
  49.             "CREATE TABLE IF NOT EXISTS tbl_Level (id_level INTEGER, chapter INTEGER, name_level VARCHAR, energy INTEGER DEFAULT (0), w_crystal INTEGER DEFAULT (0), w_food INTEGER DEFAULT (0), w_soul INTEGER, w_energy INTEGER, w_ticket INTEGER, w_hero INTEGER, q_move INTEGER, q_h1 INTEGER, q_h2 INTEGER, q_h3 INTEGER, q_h4 INTEGER, q_h5 INTEGER, q_box INTEGER, q_boss INTEGER, q_food INTEGER, q_soul INTEGER, q_ticket INTEGER, q_crystal INTEGER, q_hero INTEGER, q_bom INTEGER, log_win VARCHAR, log_lose VARCHAR);";
  50.     private string tbl_Skill =
  51.             "CREATE TABLE IF NOT EXISTS tbl_Skill (id_skill INTEGER, type_skill INTEGER, name_skill VARCHAR, level_skill INTEGER, num_gem INTEGER, dame INTEGER, range INTEGER, des VARCHAR);";
  52.     private string tbl_UnlockHero =
  53.             "CREATE TABLE IF NOT EXISTS tbl_UnlockHero (id_unlockhero INTEGER, id_hero INTEGER, level_hero INTEGER, attack INTEGER, soul INTEGER, food INTEGER, crystal INTEGER, img VARCHAR);";
  54.  
  55.     // Query Select DataGame
  56.     private string tbl_BossSelect = "SELECT * FROM tbl_Boss;";
  57.     private string tbl_DrawSelect = "SELECT * FROM tbl_Draw;";
  58.     private string tbl_EnergySelect = "SELECT * FROM tbl_Energy;";
  59.     private string tbl_HeroSelect = "SELECT * FROM tbl_Hero;";
  60.     private string tbl_LevelSelect = "SELECT * FROM tbl_Level;";
  61.     private string tbl_SkillSelect = "SELECT * FROM tbl_Skill;";
  62.     private string tbl_UnlockHeroSelect = "SELECT * FROM tbl_UnlockHero;";
  63.  
  64.     // Query Insert DataGame
  65.     private string tbl_BossInsert =
  66.         "INSERT INTO tbl_Boss (id_boss,type,id_level,name_boss,blood,resist,special,move,blood_special,num_special,img) VALUES(?,?,?,?,?,?,?,?,?,?,?);";
  67.     private string tbl_DrawInsert =
  68.         "INSERT INTO tbl_Draw (id,note,food_percent,food,soul_percent,soul,cube_percent,cube,cube_buy) VALUES(?,?,?,?,?,?,?,?,?);";
  69.     private string tbl_EnergyInsert =
  70.         "INSERT INTO tbl_Energy (buy,note,energy,energy_buy,buy_cube,energy_refill) VALUES(?,?,?,?,?,?);";
  71.     private string tbl_HeroInsert =
  72.         "INSERT INTO tbl_Hero (id_hero,map_open,map_gift,type_hero,id_skill,name_hero,des,food,p_food,soul,p_soul,cube,p_cube,shop_food,shop_soul,shop_cube) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
  73.     private string tbl_LevelInsert =
  74.         "INSERT INTO tbl_Level (id_level,chapter,name_level,energy,w_crystal,w_food,w_soul,w_energy,w_ticket,w_hero,q_move,q_h1,q_h2,q_h3,q_h4,q_h5,q_box,q_boss,q_food,q_soul,q_ticket,q_crystal,q_hero,q_bom,log_win,log_lose) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);";
  75.     private string tbl_SkillInsert =
  76.         "INSERT INTO tbl_Skill (id_skill,type_skill,name_skill,level_skill,num_gem,dame,range,des) VALUES(?,?,?,?,?,?,?,?);";
  77.     private string tbl_UnlockHeroInsert =
  78.         "INSERT INTO tbl_UnlockHero (id_unlockhero,id_hero,level_hero,attack,soul,food,crystal,img) VALUES(?,?,?,?,?,?,?,?);";
  79.  
  80.     //
  81.     // Other
  82.     //
  83.     private string password = "thieumao";
  84.     private SQLiteDB db = null;
  85.  
  86.     // Use this for initialization
  87.     void Start()
  88.     {
  89.         createDataUser(password);
  90.         createDataGame(password);
  91.     }
  92.  
  93.     // Update is called once per frame
  94.     void Update()
  95.     {
  96.     }
  97.  
  98.     private void createDataUser(string password)
  99.     {
  100.         string heykey = Md5Sum(password);
  101.         string pass = "PRAGMA hexkey=\"0x" + heykey + "\";";
  102.         // tat ma hoa
  103.         //pass = "PRAGMA hex";
  104.  
  105.         try
  106.         {
  107.             SQLiteDB db2 = null;
  108.  
  109.             db2 = new SQLiteDB();
  110.             string filename = Application.persistentDataPath + "/" + DataUser;
  111.             File.Delete(filename);
  112.             db2.Open(filename);
  113.  
  114.             //
  115.             // set ENCRYPTION
  116.             //
  117.             SQLiteQuery qr2 = new SQLiteQuery(db2, pass);
  118.             qr2.Step();
  119.             qr2.Release();
  120.  
  121.             //
  122.             // create table
  123.             //
  124.             qr2 = new SQLiteQuery(db2, tbl_HeroUser);
  125.             qr2.Step();
  126.             qr2.Release();
  127.             qr2 = new SQLiteQuery(db2, tbl_LevelUser);
  128.             qr2.Step();
  129.             qr2.Release();
  130.  
  131.             //
  132.             // insert table
  133.             //
  134.             converttbl_HeroUser(db2);
  135.             converttbl_LevelUser(db2);
  136.  
  137.             // close
  138.             db2.Close();
  139.         }
  140.         catch (Exception e)
  141.         {
  142.         }
  143.     }
  144.  
  145.     private void createDataGame(string password)
  146.     {
  147.         string heykey = Md5Sum(password);
  148.         string pass = "PRAGMA hexkey=\"0x" + heykey + "\";";
  149.         // tat ma hoa
  150.         //pass = "PRAGMA hex";
  151.         //print("datagame vao roi");
  152.  
  153.         try
  154.         {
  155.             SQLiteDB db3 = null;
  156.  
  157.             db3 = new SQLiteDB();
  158.             string filename = Application.persistentDataPath + "/" + DataGame;
  159.             File.Delete(filename);
  160.             db3.Open(filename);
  161.  
  162.             //print("mao " + filename);
  163.  
  164.             //
  165.             // set ENCRYPTION
  166.             //
  167.             SQLiteQuery qr3 = new SQLiteQuery(db3, pass);
  168.             qr3.Step();
  169.             qr3.Release();
  170.  
  171.             //
  172.             // create table
  173.             //
  174.             qr3 = new SQLiteQuery(db3, tbl_Boss);
  175.             qr3.Step();
  176.             qr3.Release();
  177.             qr3 = new SQLiteQuery(db3, tbl_Draw);
  178.             qr3.Step();
  179.             qr3.Release();
  180.             qr3 = new SQLiteQuery(db3, tbl_Energy);
  181.             qr3.Step();
  182.             qr3.Release();
  183.             qr3 = new SQLiteQuery(db3, tbl_Hero);
  184.             qr3.Step();
  185.             qr3.Release();
  186.             qr3 = new SQLiteQuery(db3, tbl_Level);
  187.             qr3.Step();
  188.             qr3.Release();
  189.             qr3 = new SQLiteQuery(db3, tbl_Skill);
  190.             qr3.Step();
  191.             qr3.Release();
  192.             qr3 = new SQLiteQuery(db3, tbl_UnlockHero);
  193.             qr3.Step();
  194.             qr3.Release();
  195.  
  196.             //tbl_Boss tbl_Draw tbl_Energy tbl_Hero tbl_Level lbl_Skill tbl_UnlockHero
  197.  
  198.             //
  199.             // insert table
  200.             //
  201.             converttbl_Boss(db3);
  202.             converttbl_Draw(db3);
  203.             converttbl_Energy(db3);
  204.             converttbl_Hero(db3);
  205.             converttbl_Level(db3);
  206.             converttbl_Skill(db3);
  207.             converttbl_UnlockHero(db3);
  208.  
  209.             // close
  210.             db3.Close();
  211.         }
  212.         catch (Exception e)
  213.         {
  214.             print("loi " + e.Message);
  215.         }
  216.     }
  217.  
  218.     //tbl_HeroUser,tbl_LevelUser
  219.     //tbl_Boss tbl_Draw tbl_Energy tbl_Hero tbl_Level lbl_Skill tbl_UnlockHero
  220.     private void converttbl_HeroUser(SQLiteDB db2)
  221.     {
  222.         LoadDatabase("DataUser");
  223.         SQLiteQuery qr = new SQLiteQuery(db, tbl_HeroUserSelect);        
  224.         while (qr.Step())
  225.         {
  226.             SQLiteQuery qr2 = new SQLiteQuery(db2, tbl_HeroUserInsert);
  227.             if (!qr.IsNULL("id_hero")) qr2.Bind(qr.GetInteger("id_hero")); else qr2.BindNull();
  228.             if (!qr.IsNULL("id_unlockhero")) qr2.Bind(qr.GetInteger("id_unlockhero")); else qr2.BindNull();
  229.             if (!qr.IsNULL("id_skill")) qr2.Bind(qr.GetInteger("id_skill")); else qr2.BindNull();
  230.             if (!qr.IsNULL("level_hero")) qr2.Bind(qr.GetInteger("level_hero")); else qr2.BindNull();
  231.             if (!qr.IsNULL("attack")) qr2.Bind(qr.GetInteger("attack")); else qr2.BindNull();
  232.             if (!qr.IsNULL("unlock")) qr2.Bind(qr.GetInteger("unlock")); else qr2.BindNull();
  233.             qr2.Step();
  234.             qr2.Release();
  235.             //print("mao2 id_hero=" + qr.GetInteger("id_hero") + " attack=" + qr.GetInteger("attack"));
  236.         }
  237.     }
  238.  
  239.     private void converttbl_LevelUser(SQLiteDB db2)
  240.     {
  241.         LoadDatabase("DataUser");
  242.         SQLiteQuery qr = new SQLiteQuery(db, tbl_LevelUserSelect);
  243.         while (qr.Step())
  244.         {
  245.             SQLiteQuery qr2 = new SQLiteQuery(db2, tbl_LevelUserInsert);
  246.             if (!qr.IsNULL("id_level")) qr2.Bind(qr.GetInteger("id_level")); else qr2.BindNull();
  247.             if (!qr.IsNULL("play")) qr2.Bind(qr.GetInteger("play")); else qr2.BindNull();
  248.             if (!qr.IsNULL("unlock")) qr2.Bind(qr.GetInteger("unlock")); else qr2.BindNull();
  249.             if (!qr.IsNULL("top_dame")) qr2.Bind(qr.GetInteger("top_dame")); else qr2.BindNull();
  250.             if (!qr.IsNULL("top_move")) qr2.Bind(qr.GetInteger("top_move")); else qr2.BindNull();
  251.             qr2.Step();
  252.             qr2.Release();
  253.         }
  254.     }
  255.  
  256.     private void converttbl_Boss(SQLiteDB db3)
  257.     {
  258.         LoadDatabase("DataGame");
  259.  
  260.         SQLiteQuery qr = new SQLiteQuery(db, tbl_BossSelect);
  261.         while (qr.Step())
  262.         {
  263.             SQLiteQuery qr3 = new SQLiteQuery(db3, tbl_BossInsert);
  264.             //print("id=" + qr.GetInteger("id_boss") + " name=" + qr.GetString("name_boss"));
  265.             if (!qr.IsNULL("id_boss")) qr3.Bind(qr.GetInteger("id_boss")); else qr3.BindNull();
  266.             if (!qr.IsNULL("type")) qr3.Bind(qr.GetInteger("type")); else qr3.BindNull();
  267.             if (!qr.IsNULL("id_level")) qr3.Bind(qr.GetInteger("id_level")); else qr3.BindNull();
  268.             if (!qr.IsNULL("name_boss")) qr3.Bind(qr.GetString("name_boss")); else qr3.BindNull();
  269.             if (!qr.IsNULL("blood")) qr3.Bind(qr.GetInteger("blood")); else qr3.BindNull();
  270.             if (!qr.IsNULL("resist")) qr3.Bind(qr.GetInteger("resist")); else qr3.BindNull();
  271.             if (!qr.IsNULL("special")) qr3.Bind(qr.GetInteger("special")); else qr3.BindNull();
  272.             if (!qr.IsNULL("move")) qr3.Bind(qr.GetInteger("move")); else qr3.BindNull();
  273.             if (!qr.IsNULL("blood_special")) qr3.Bind(qr.GetInteger("blood_special")); else qr3.BindNull();
  274.             if (!qr.IsNULL("num_special")) qr3.Bind(qr.GetInteger("num_special")); else qr3.BindNull();
  275.             if (!qr.IsNULL("img")) qr3.Bind(qr.GetString("img")); else qr3.BindNull();
  276.             qr3.Step();
  277.             qr3.Release();
  278.         }
  279.     }
  280.  
  281.     private void converttbl_Draw(SQLiteDB db3)
  282.     {
  283.         LoadDatabase("DataGame");
  284.  
  285.         SQLiteQuery qr = new SQLiteQuery(db, tbl_DrawSelect);
  286.         while (qr.Step())
  287.         {
  288.             SQLiteQuery qr3 = new SQLiteQuery(db3, tbl_DrawInsert);
  289.             if (!qr.IsNULL("id")) qr3.Bind(qr.GetInteger("id")); else qr3.BindNull();
  290.             if (!qr.IsNULL("note")) qr3.Bind(qr.GetInteger("note")); else qr3.BindNull();
  291.             if (!qr.IsNULL("food_percent")) qr3.Bind(qr.GetString("food_percent")); else qr3.BindNull();
  292.             if (!qr.IsNULL("food")) qr3.Bind(qr.GetInteger("food")); else qr3.BindNull();
  293.             if (!qr.IsNULL("soul_percent")) qr3.Bind(qr.GetString("soul_percent")); else qr3.BindNull();
  294.             if (!qr.IsNULL("soul")) qr3.Bind(qr.GetInteger("soul")); else qr3.BindNull();
  295.             if (!qr.IsNULL("cube_percent")) qr3.Bind(qr.GetString("cube_percent")); else qr3.BindNull();
  296.             if (!qr.IsNULL("cube")) qr3.Bind(qr.GetInteger("cube")); else qr3.BindNull();
  297.             if (!qr.IsNULL("cube_buy")) qr3.Bind(qr.GetInteger("cube_buy")); else qr3.BindNull();
  298.             qr3.Step();
  299.             qr3.Release();
  300.         }
  301.     }
  302.  
  303.     private void converttbl_Energy(SQLiteDB db3)
  304.     {
  305.         LoadDatabase("DataGame");
  306.  
  307.         SQLiteQuery qr = new SQLiteQuery(db, tbl_EnergySelect);
  308.         while (qr.Step())
  309.         {
  310.             SQLiteQuery qr3 = new SQLiteQuery(db3, tbl_EnergyInsert);
  311.             if (!qr.IsNULL("buy")) qr3.Bind(qr.GetInteger("buy")); else qr3.BindNull();
  312.             if (!qr.IsNULL("note")) qr3.Bind(qr.GetInteger("note")); else qr3.BindNull();
  313.             if (!qr.IsNULL("energy")) qr3.Bind(qr.GetInteger("energy")); else qr3.BindNull();
  314.             if (!qr.IsNULL("energy_buy")) qr3.Bind(qr.GetInteger("energy_buy")); else qr3.BindNull();
  315.             if (!qr.IsNULL("buy_cube")) qr3.Bind(qr.GetInteger("buy_cube")); else qr3.BindNull();
  316.             if (!qr.IsNULL("energy_refill")) qr3.Bind(qr.GetString("energy_refill")); else qr3.BindNull();
  317.             qr3.Step();
  318.             qr3.Release();
  319.         }
  320.     }
  321.  
  322.     private void converttbl_Hero(SQLiteDB db3)
  323.     {
  324.         LoadDatabase("DataGame");
  325.  
  326.         SQLiteQuery qr = new SQLiteQuery(db, tbl_HeroSelect);
  327.         while (qr.Step())
  328.         {
  329.             SQLiteQuery qr3 = new SQLiteQuery(db3, tbl_HeroInsert);
  330.             if (!qr.IsNULL("id_hero")) qr3.Bind(qr.GetInteger("id_hero")); else qr3.BindNull();
  331.             if (!qr.IsNULL("map_open")) qr3.Bind(qr.GetInteger("map_open")); else qr3.BindNull();
  332.             if (!qr.IsNULL("map_gift")) qr3.Bind(qr.GetInteger("map_gift")); else qr3.BindNull();
  333.             if (!qr.IsNULL("type_hero")) qr3.Bind(qr.GetInteger("type_hero")); else qr3.BindNull();
  334.             if (!qr.IsNULL("id_skill")) qr3.Bind(qr.GetInteger("id_skill")); else qr3.BindNull();
  335.             if (!qr.IsNULL("name_hero")) qr3.Bind(qr.GetString("name_hero")); else qr3.BindNull();
  336.             if (!qr.IsNULL("des")) qr3.Bind(qr.GetString("des")); else qr3.BindNull();
  337.             if (!qr.IsNULL("food")) qr3.Bind(qr.GetInteger("food")); else qr3.BindNull();
  338.             if (!qr.IsNULL("p_food")) qr3.Bind(qr.GetString("p_food")); else qr3.BindNull();
  339.             if (!qr.IsNULL("soul")) qr3.Bind(qr.GetInteger("soul")); else qr3.BindNull();
  340.             if (!qr.IsNULL("p_soul")) qr3.Bind(qr.GetString("p_soul")); else qr3.BindNull();
  341.             if (!qr.IsNULL("cube")) qr3.Bind(qr.GetInteger("cube")); else qr3.BindNull();
  342.             if (!qr.IsNULL("p_cube")) qr3.Bind(qr.GetString("p_cube")); else qr3.BindNull();
  343.             if (!qr.IsNULL("shop_food")) qr3.Bind(qr.GetInteger("shop_food")); else qr3.BindNull();
  344.             if (!qr.IsNULL("shop_soul")) qr3.Bind(qr.GetInteger("shop_soul")); else qr3.BindNull();
  345.             if (!qr.IsNULL("shop_cube")) qr3.Bind(qr.GetInteger("shop_cube")); else qr3.BindNull();
  346.             qr3.Step();
  347.             qr3.Release();
  348.         }
  349.     }
  350.  
  351.     private void converttbl_Level(SQLiteDB db3)
  352.     {
  353.         LoadDatabase("DataGame");
  354.  
  355.         SQLiteQuery qr = new SQLiteQuery(db, tbl_LevelSelect);
  356.         while (qr.Step())
  357.         {
  358.             SQLiteQuery qr3 = new SQLiteQuery(db3, tbl_LevelInsert);
  359.             if (!qr.IsNULL("id_level")) qr3.Bind(qr.GetInteger("id_level")); else qr3.BindNull();
  360.             if (!qr.IsNULL("chapter")) qr3.Bind(qr.GetInteger("chapter")); else qr3.BindNull();
  361.             if (!qr.IsNULL("name_level")) qr3.Bind(qr.GetString("name_level")); else qr3.BindNull();
  362.             if (!qr.IsNULL("energy")) qr3.Bind(qr.GetInteger("energy")); else qr3.BindNull();
  363.             if (!qr.IsNULL("w_crystal")) qr3.Bind(qr.GetInteger("w_crystal")); else qr3.BindNull();
  364.             if (!qr.IsNULL("w_food")) qr3.Bind(qr.GetInteger("w_food")); else qr3.BindNull();
  365.             if (!qr.IsNULL("w_soul")) qr3.Bind(qr.GetInteger("w_soul")); else qr3.BindNull();
  366.             if (!qr.IsNULL("w_energy")) qr3.Bind(qr.GetInteger("w_energy")); else qr3.BindNull();
  367.             if (!qr.IsNULL("w_ticket")) qr3.Bind(qr.GetInteger("w_ticket")); else qr3.BindNull();
  368.             if (!qr.IsNULL("w_hero")) qr3.Bind(qr.GetInteger("w_hero")); else qr3.BindNull();
  369.             if (!qr.IsNULL("q_move")) qr3.Bind(qr.GetInteger("q_move")); else qr3.BindNull();
  370.             if (!qr.IsNULL("q_h1")) qr3.Bind(qr.GetInteger("q_h1")); else qr3.BindNull();
  371.             if (!qr.IsNULL("q_h2")) qr3.Bind(qr.GetInteger("q_h2")); else qr3.BindNull();
  372.             if (!qr.IsNULL("q_h3")) qr3.Bind(qr.GetInteger("q_h3")); else qr3.BindNull();
  373.             if (!qr.IsNULL("q_h4")) qr3.Bind(qr.GetInteger("q_h4")); else qr3.BindNull();
  374.             if (!qr.IsNULL("q_h5")) qr3.Bind(qr.GetInteger("q_h5")); else qr3.BindNull();
  375.             if (!qr.IsNULL("q_box")) qr3.Bind(qr.GetInteger("q_box")); else qr3.BindNull();
  376.             if (!qr.IsNULL("q_boss")) qr3.Bind(qr.GetInteger("q_boss")); else qr3.BindNull();
  377.             if (!qr.IsNULL("q_food")) qr3.Bind(qr.GetInteger("q_food")); else qr3.BindNull();
  378.             if (!qr.IsNULL("q_soul")) qr3.Bind(qr.GetInteger("q_soul")); else qr3.BindNull();
  379.             if (!qr.IsNULL("q_ticket")) qr3.Bind(qr.GetInteger("q_ticket")); else qr3.BindNull();
  380.             if (!qr.IsNULL("q_crystal")) qr3.Bind(qr.GetInteger("q_crystal")); else qr3.BindNull();
  381.             if (!qr.IsNULL("q_hero")) qr3.Bind(qr.GetInteger("q_hero")); else qr3.BindNull();
  382.             if (!qr.IsNULL("q_bom")) qr3.Bind(qr.GetInteger("q_bom")); else qr3.BindNull();
  383.             if (!qr.IsNULL("log_win")) qr3.Bind(qr.GetString("log_win")); else qr3.BindNull();
  384.             if (!qr.IsNULL("log_lose")) qr3.Bind(qr.GetString("log_lose")); else qr3.BindNull();
  385.             qr3.Step();
  386.             qr3.Release();
  387.         }
  388.     }
  389.  
  390.     private void converttbl_Skill(SQLiteDB db3)
  391.     {
  392.         LoadDatabase("DataGame");
  393.  
  394.         SQLiteQuery qr = new SQLiteQuery(db, tbl_SkillSelect);
  395.         while (qr.Step())
  396.         {
  397.             SQLiteQuery qr3 = new SQLiteQuery(db3, tbl_SkillInsert);
  398.             if (!qr.IsNULL("id_skill")) qr3.Bind(qr.GetInteger("id_skill")); else qr3.BindNull();
  399.             if (!qr.IsNULL("type_skill")) qr3.Bind(qr.GetInteger("type_skill")); else qr3.BindNull();
  400.             if (!qr.IsNULL("name_skill")) qr3.Bind(qr.GetString("name_skill")); else qr3.BindNull();
  401.             if (!qr.IsNULL("level_skill")) qr3.Bind(qr.GetInteger("level_skill")); else qr3.BindNull();
  402.             if (!qr.IsNULL("num_gem")) qr3.Bind(qr.GetInteger("num_gem")); else qr3.BindNull();
  403.             if (!qr.IsNULL("dame")) qr3.Bind(qr.GetInteger("dame")); else qr3.BindNull();
  404.             if (!qr.IsNULL("range")) qr3.Bind(qr.GetInteger("range")); else qr3.BindNull();
  405.             if (!qr.IsNULL("des")) qr3.Bind(qr.GetString("des")); else qr3.BindNull();
  406.             qr3.Step();
  407.             qr3.Release();
  408.         }
  409.     }
  410.  
  411.     private void converttbl_UnlockHero(SQLiteDB db3)
  412.     {
  413.         //print("Unlockhero vao roi");
  414.         LoadDatabase("DataGame");
  415.  
  416.         SQLiteQuery qr = new SQLiteQuery(db, tbl_UnlockHeroSelect);
  417.         while (qr.Step())
  418.         {
  419.             SQLiteQuery qr3 = new SQLiteQuery(db3, tbl_UnlockHeroInsert);
  420.             if (!qr.IsNULL("id_unlockhero")) qr3.Bind(qr.GetInteger("id_unlockhero")); else qr3.BindNull();
  421.             if (!qr.IsNULL("id_hero")) qr3.Bind(qr.GetInteger("id_hero")); else qr3.BindNull();
  422.             if (!qr.IsNULL("level_hero")) qr3.Bind(qr.GetInteger("level_hero")); else qr3.BindNull();
  423.             if (!qr.IsNULL("attack")) qr3.Bind(qr.GetInteger("attack")); else qr3.BindNull();
  424.             if (!qr.IsNULL("soul")) qr3.Bind(qr.GetInteger("soul")); else qr3.BindNull();
  425.             if (!qr.IsNULL("food")) qr3.Bind(qr.GetInteger("food")); else qr3.BindNull();
  426.             if (!qr.IsNULL("crystal")) qr3.Bind(qr.GetInteger("crystal")); else qr3.BindNull();
  427.             if (!qr.IsNULL("img")) qr3.Bind(qr.GetString("img")); else qr3.BindNull();
  428.             //if (!qr.IsNULL("img"))  print(qr.GetString("img"));
  429.             qr3.Step();
  430.             qr3.Release();
  431.         }
  432.     }
  433.  
  434. //    //Data User
  435. //    public List<HeroUser> heroesUserData;
  436. //
  437. //    public List<HeroUser> GetHeroesUserData()
  438. //    {
  439. //        LoadDatabase("DataUser");
  440. //
  441. //        heroesUserData = new List<HeroUser>();
  442. //        SQLiteQuery qr = new SQLiteQuery(db, "Select * FROM tbl_HeroUser");
  443. //        print("truoc");
  444. //        while (qr.Step())
  445. //        {
  446. //            HeroUser heroUserData = new HeroUser();
  447. //            heroUserData.ID = qr.IsNULL("id_hero") ? 0 : qr.GetInteger("id_hero");
  448. //            heroUserData.Level = qr.IsNULL("level_hero") ? 0 : qr.GetInteger("level_hero");
  449. //            heroUserData.State = qr.IsNULL("unlock") ? 0 : qr.GetInteger("unlock");
  450. //            heroUserData.SkillID = qr.IsNULL("id_skill") ? 0 : qr.GetInteger("id_skill");
  451. //            heroUserData.UnlockHeroID = qr.IsNULL("id_unlockhero") ? 0 : qr.GetInteger("id_unlockhero");
  452. //            heroUserData.AttackPower = qr.IsNULL("attack") ? 0 : qr.GetInteger("attack");
  453. //
  454. //            print("ID=" + heroUserData.ID + " Level=" + heroUserData.Level + " AttackPower= " + heroUserData.AttackPower);
  455. //
  456. //            heroesUserData.Add(heroUserData);
  457. //        }
  458. //        print("sau");
  459. //        return heroesUserData;
  460. //
  461. //    }
  462.  
  463.     public void LoadDatabase(String nameDb)
  464.     {
  465.         //print("Co vao day");
  466.         db = new SQLiteDB();
  467.  
  468.         String filename = Application.persistentDataPath + "/" + nameDb;
  469.  
  470.         // check if database already exists.
  471.         if (!File.Exists(filename))
  472.         {
  473.             UnityEngine.Debug.Log("file does not exist");
  474.             // ok , this is first time application start!
  475.             // so lets copy prebuild dtabase from StreamingAssets and load store to persistancePath with Test2
  476.             byte[] bytes = null;
  477. #if UNITY_EDITOR || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX
  478.             string dbpath = "file://" + Application.streamingAssetsPath + "/" + nameDb;
  479.             WWW www = new WWW(dbpath);
  480.             StartCoroutine(Download(www));
  481.             bytes = www.bytes;
  482. #elif UNITY_WEBPLAYER
  483.                             string dbpath = "StreamingAssets/" + nameDb;
  484.                             WWW www = new WWW(dbpath);
  485.                             StartCoroutine(Download(www));
  486.                             bytes = www.bytes;
  487. #elif UNITY_IPHONE
  488.                             string dbpath = Application.dataPath + "/Raw/" + nameDb;           
  489.                             try{   
  490.                                 using ( FileStream fs = new FileStream(dbpath, FileMode.Open, FileAccess.Read, FileShare.Read) ){
  491.                                     bytes = new byte[fs.Length];
  492.                                     fs.Read(bytes,0,(int)fs.Length);
  493.                                 }          
  494.                             } catch (Exception e){
  495.                    
  496.                             }
  497. #elif UNITY_ANDROID
  498.            
  499.                             UnityEngine.Debug.Log("UNITY_ANDROID");
  500.                             string dbpath = Application.streamingAssetsPath + "/" + nameDb;  
  501.                             UnityEngine.Debug.Log(dbpath); 
  502.                             WWW www = new WWW(dbpath);
  503.                             StartCoroutine(Download(www));
  504.                             while(!www.isDone){}
  505.                             bytes = www.bytes;
  506. #endif
  507.  
  508.             if (bytes != null)
  509.             {
  510.                 try
  511.                 {
  512.                     // copy database to real file into cache folder
  513.                     using (FileStream fs = new FileStream(filename, FileMode.OpenOrCreate, FileAccess.Write))
  514.                     {
  515.                         fs.Write(bytes, 0, bytes.Length);
  516.                     }
  517.  
  518.                     // initialize database
  519.                     db.Open(filename);
  520.                 }
  521.                 catch (Exception e)
  522.                 {
  523.                     Debug.Log("ERROR: " + e);
  524.                 }
  525.             }
  526.         }
  527.         else
  528.         {
  529.             // it mean we already download prebuild data base and store into persistantPath
  530.             // lest update, I will call Test
  531.  
  532.             try
  533.             {
  534.                 // initialize database
  535.                 db.Open(filename);
  536.             }
  537.             catch (Exception e)
  538.             {
  539.                 Debug.Log("ERROR: " + e);
  540.             }
  541.  
  542.         }
  543.     }
  544.  
  545.     IEnumerator Download(WWW www)
  546.     {
  547.         yield return www;
  548.     }
  549.  
  550.     private string Md5Sum(string strToEncrypt)
  551.     {
  552.         System.Text.UTF8Encoding ue = new System.Text.UTF8Encoding();
  553.         byte[] bytes = ue.GetBytes(strToEncrypt);
  554.  
  555.         // encrypt bytes
  556.         System.Security.Cryptography.MD5CryptoServiceProvider md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
  557.         byte[] hashBytes = md5.ComputeHash(bytes);
  558.  
  559.         // Convert the encrypted bytes back to a string (base 16)
  560.         string hashString = "";
  561.  
  562.         for (int i = 0; i < hashBytes.Length; i++)
  563.         {
  564.             hashString += System.Convert.ToString(hashBytes[i], 16).PadLeft(2, '0');
  565.         }
  566.  
  567.         return hashString.PadLeft(32, '0');
  568.     }
  569. }
Advertisement
Add Comment
Please, Sign In to add comment