Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.IO;
- using UnityEngine;
- using Debug = UnityEngine.Debug;
- public class ConnectData : MonoBehaviour
- {
- //Data Game
- public List<Level> levels;
- public List<Hero> heroes;
- //public List<Skill> skills; //delete
- public List<Skill> skillIndex; //index skill>>value
- public List<Skill> skillHero; //typeKill+level=1>>index skill
- public List<UnlockHero> unlockHeroeQuerry;
- public List<UnlockHero> unlockHeroes;
- public List<Draw> draws;
- public List<Energy> energys;
- public List<Enemy> enemies;
- //Data User
- public List<HeroUser> heroesUserData;
- public List<LevelUser> levelsUserData;
- public List<HeroInfo> heroInfoData;
- // public List<HeroInfos> test;
- public string[] arrayTips =new string[4] { "tip 1", "tip 2", "tip 3", "tip 4" };
- /// <summary>
- /// Singleton
- /// </summary>
- public static ConnectData instance;
- public static ConnectData Instance
- {
- get
- {
- if (instance == null)
- instance = GameObject.FindObjectOfType<ConnectData>();
- return instance;
- }
- }
- public int VerData = 4;
- private string dbNameGame = "DataGame";
- private string dbNameUser = "DataUser";
- private SQLiteDB db = null;
- void Awake()
- {
- EncryptedPlayerPrefs.CreateKey();
- //PlayerPrefs.DeleteAll();
- DontDestroyOnLoad(gameObject);
- if (Instance != null)
- {
- if (Instance != this)
- Destroy(this.gameObject);
- }
- CheckVersionDataGame();
- if (levels.Count == 0)
- {
- GetLevelsData();
- GetHeroes();
- //GetSkills ();
- GetUnlockHeroes();
- GetEnergy();
- GetHeroesUserData();
- checkAddNew();
- //sau khi load xong hero, hero user check
- //get user data
- //goi sau khi da co du du lieu user hero
- GetLevelsUserData();
- setInfoHero();
- }
- }
- void Start()
- {
- CheckNull();
- }
- #region Load data
- public void CheckVersionDataGame()
- {
- string filename = Application.persistentDataPath + "/" + dbNameGame;
- if (File.Exists(filename) && PlayerPrefs.GetInt("Ver") < VerData)
- {
- File.Delete(filename);
- PlayerPrefs.SetInt("Ver", VerData);
- Debug.Log(" User Ver New =" + PlayerPrefs.GetInt("Ver"));
- }
- else
- {
- Debug.Log("User Ver Old =" + PlayerPrefs.GetInt("Ver"));
- }
- }
- public void LoadDatabase(String name)
- {
- db = new SQLiteDB();
- String nameDb;
- if (name == "game")
- {
- nameDb = dbNameGame;
- }
- else
- {
- nameDb = dbNameUser;
- }
- String filename = Application.persistentDataPath + "/" + nameDb;
- // check if database already exists.
- if (!File.Exists(filename))
- {
- UnityEngine.Debug.Log("file does not exist");
- // ok , this is first time application start!
- // so lets copy prebuild dtabase from StreamingAssets and load store to persistancePath with Test2
- byte[] bytes = null;
- #if UNITY_EDITOR || UNITY_STANDALONE_WIN || UNITY_STANDALONE_OSX
- string dbpath = "file://" + Application.streamingAssetsPath + "/" + nameDb;
- WWW www = new WWW(dbpath);
- StartCoroutine(Download(www));
- bytes = www.bytes;
- #elif UNITY_WEBPLAYER
- string dbpath = "StreamingAssets/" + nameDb;
- WWW www = new WWW(dbpath);
- StartCoroutine(Download(www));
- bytes = www.bytes;
- #elif UNITY_IPHONE
- string dbpath = Application.dataPath + "/Raw/" + nameDb;
- try{
- using ( FileStream fs = new FileStream(dbpath, FileMode.Open, FileAccess.Read, FileShare.Read) ){
- bytes = new byte[fs.Length];
- fs.Read(bytes,0,(int)fs.Length);
- }
- } catch (Exception e){
- }
- #elif UNITY_ANDROID
- UnityEngine.Debug.Log("UNITY_ANDROID");
- string dbpath = Application.streamingAssetsPath + "/" + nameDb;
- UnityEngine.Debug.Log(dbpath);
- WWW www = new WWW(dbpath);
- StartCoroutine(Download(www));
- while(!www.isDone){}
- bytes = www.bytes;
- #endif
- if (bytes != null)
- {
- try
- {
- // copy database to real file into cache folder
- using (FileStream fs = new FileStream(filename, FileMode.OpenOrCreate, FileAccess.Write))
- {
- fs.Write(bytes, 0, bytes.Length);
- }
- // initialize database
- db.Open(filename);
- }
- catch (Exception e)
- {
- Debug.Log("ERROR: " + e);
- }
- }
- }
- else
- {
- // it mean we already download prebuild data base and store into persistantPath
- // lest update, I will call Test
- try
- {
- // initialize database
- db.Open(filename);
- }
- catch (Exception e)
- {
- Debug.Log("ERROR: " + e);
- }
- }
- }
- #endregion
- #region SQL tbl_level
- //lay toan bo thong tin tbl_level-----------------------------------------
- public List<Level> GetLevelsData()
- {
- //load database
- LoadDatabase("game");
- levels = new List<Level>();
- SQLiteQuery qr = new SQLiteQuery(db, "SELECT * FROM tbl_Level ORDER BY id_level ASC");
- // bind data to levels
- while (qr.Step())
- {
- // Level level = new Level ();
- //
- // level.ID = qr.IsNULL ("id_level") ? 0 : qr.GetInteger ("id_level");
- // level.Chapter = qr.IsNULL ("chapter") ? 0 : qr.GetInteger ("chapter");
- // level.Name = qr.IsNULL ("name_level") ? "0" : qr.GetString ("name_level");
- // level.Energy = qr.IsNULL ("energy") ? 0 : qr.GetInteger ("energy");
- // level.LogWin = qr.IsNULL ("log_win") ? "0" : qr.GetString ("log_win");
- // level.LogLose = qr.IsNULL ("log_lose") ? "0" : qr.GetString ("log_lose");
- //
- // level.WSoul = qr.IsNULL ("w_soul") ? 0 : qr.GetInteger ("w_soul");
- // level.WFood = qr.IsNULL ("w_food") ? 0 : qr.GetInteger ("w_food");
- // level.WEnergy = qr.IsNULL ("w_energy") ? 0 : qr.GetInteger ("w_energy");
- // level.WCube = qr.IsNULL ("w_crystal") ? 0 : qr.GetInteger ("w_crystal");
- // level.QTicket = qr.IsNULL ("w_ticket") ? 0 : qr.GetInteger ("w_ticket");
- //
- //
- // level.QMove = qr.IsNULL ("q_move") ? 0 : qr.GetInteger ("q_move");
- // level.QPiece0 = qr.IsNULL ("q_h1") ? 0 : qr.GetInteger ("q_h1");
- // level.QPiece1 = qr.IsNULL ("q_h2") ? 0 : qr.GetInteger ("q_h2");
- // level.QPiece2 = qr.IsNULL ("q_h3") ? 0 : qr.GetInteger ("q_h3");
- // level.QPiece3 = qr.IsNULL ("q_h4") ? 0 : qr.GetInteger ("q_h4");
- // level.QPiece4 = qr.IsNULL ("q_h5") ? 0 : qr.GetInteger ("q_h5");
- //
- // level.QCube = qr.IsNULL ("q_crystal") ? 0 : qr.GetInteger ("q_crystal");
- // level.QSoul = qr.IsNULL ("q_soul") ? 0 : qr.GetInteger ("q_soul");
- // level.QFood = qr.IsNULL ("q_food") ? 0 : qr.GetInteger ("q_food");
- // level.QTicket = qr.IsNULL ("q_ticket") ? 0 : qr.GetInteger ("q_ticket");
- // level.QBox = qr.IsNULL ("q_box") ? 0 : qr.GetInteger ("q_box");
- // level.QBomb = qr.IsNULL ("q_bom") ? 0 : qr.GetInteger ("q_bom");
- // level.QEnemy = qr.IsNULL ("q_boss") ? 0 : qr.GetInteger ("q_boss");
- // level.QHero = qr.IsNULL ("q_hero") ? 0 : qr.GetInteger ("q_hero");
- Level level = new Level(qr.IsNULL("id_level") ? 0 : qr.GetInteger("id_level"),
- qr.IsNULL("chapter") ? 0 : qr.GetInteger("chapter"),
- qr.IsNULL("name_level") ? "0" : qr.GetString("name_level"),
- qr.IsNULL("energy") ? 0 : qr.GetInteger("energy"),
- qr.IsNULL("log_win") ? "0" : qr.GetString("log_win"),
- qr.IsNULL("log_lose") ? "0" : qr.GetString("log_lose"),
- qr.IsNULL("w_food") ? 0 : qr.GetInteger("w_food"),
- qr.IsNULL("w_soul") ? 0 : qr.GetInteger("w_soul"),
- qr.IsNULL("w_energy") ? 0 : qr.GetInteger("w_energy"),
- qr.IsNULL("w_crystal") ? 0 : qr.GetInteger("w_crystal"),
- qr.IsNULL("w_ticket") ? 0 : qr.GetInteger("w_ticket"),
- qr.IsNULL("w_hero") ? 0 : qr.GetInteger("w_hero"), // need to recheck
- qr.IsNULL("q_move") ? 0 : qr.GetInteger("q_move"),
- qr.IsNULL("q_h1") ? 0 : qr.GetInteger("q_h1"),
- qr.IsNULL("q_h2") ? 0 : qr.GetInteger("q_h2"),
- qr.IsNULL("q_h3") ? 0 : qr.GetInteger("q_h3"),
- qr.IsNULL("q_h4") ? 0 : qr.GetInteger("q_h4"),
- qr.IsNULL("q_h5") ? 0 : qr.GetInteger("q_h5"),
- qr.IsNULL("q_box") ? 0 : qr.GetInteger("q_box"),
- qr.IsNULL("q_boss") ? 0 : qr.GetInteger("q_boss"),
- qr.IsNULL("q_food") ? 0 : qr.GetInteger("q_food"),
- qr.IsNULL("q_soul") ? 0 : qr.GetInteger("q_soul"),
- qr.IsNULL("q_ticket") ? 0 : qr.GetInteger("q_ticket"),
- qr.IsNULL("q_crystal") ? 0 : qr.GetInteger("q_crystal"),
- qr.IsNULL("q_hero") ? 0 : qr.GetInteger("q_hero"),
- qr.IsNULL("q_bom") ? 0 : qr.GetInteger("q_bom")
- );
- levels.Add(level);
- }
- return levels;
- //db.Close();
- }
- #endregion
- #region SQL tbl_LevelUser
- //lay toan bo thong tin tbl_LevelUser-----------------------------------------
- public List<LevelUser> GetLevelsUserData()
- {
- //load database tbl_mapuser da duoc unlock
- LoadDatabase("user");
- levelsUserData = new List<LevelUser>();
- //SQLiteQuery qr = new SQLiteQuery (db, "SELECT * FROM tbl_LevelUser WHERE unlock ='1' ORDER BY id_level ASC");
- SQLiteQuery qr = new SQLiteQuery(db, "SELECT * FROM tbl_LevelUser ORDER BY id_level ASC");
- while (qr.Step())
- {
- LevelUser levelUserData = new LevelUser();
- levelUserData.ID = qr.IsNULL("id_level") ? 0 : qr.GetInteger("id_level");
- levelUserData.State = qr.IsNULL("unlock") ? 0 : qr.GetInteger("unlock");
- levelUserData.TimePlay = qr.IsNULL("play") ? 0 : qr.GetInteger("play");
- levelUserData.TopDamage = qr.IsNULL("top_dame") ? 0 : qr.GetInteger("top_dame");
- levelUserData.TopMoves = qr.IsNULL("top_move") ? 0 : qr.GetInteger("top_move");
- levelsUserData.Add(levelUserData);
- }
- return levelsUserData;
- }
- #endregion
- #region SQL tbl_hero
- public List<Hero> GetHeroes()
- {
- LoadDatabase("game");
- heroes = new List<Hero>();
- SQLiteQuery qr = new SQLiteQuery(db, "SELECT * FROM tbl_Hero ORDER BY id_hero ASC");
- while (qr.Step())
- {
- Hero hero = new Hero();
- hero.ID = qr.IsNULL("id_hero") ? 0 : qr.GetInteger("id_hero");
- hero.MapOpen = qr.IsNULL("map_open") ? 0 : qr.GetInteger("map_open");
- hero.MapGift = qr.IsNULL("map_gift") ? 0 : qr.GetInteger("map_gift");
- hero.Type = qr.IsNULL("type_hero") ? 0 : qr.GetInteger("type_hero");
- hero.SkillID = qr.IsNULL("id_skill") ? 0 : qr.GetInteger("id_skill");
- hero.Name = qr.IsNULL("name_hero") ? "0" : qr.GetString("name_hero");
- hero.Desc = qr.IsNULL("des") ? "0" : qr.GetString("des");
- hero.NumFood = qr.IsNULL("food") ? 0 : qr.GetInteger("food");
- hero.NumSoul = qr.IsNULL("soul") ? 0 : qr.GetInteger("soul");
- hero.NumCube = qr.IsNULL("cube") ? 0 : qr.GetInteger("cube");
- hero.SFood = qr.IsNULL("p_food") ? "0" : qr.GetString("p_food");
- hero.PFood = float.Parse(hero.SFood);
- hero.SSoul = qr.IsNULL("p_soul") ? "0" : qr.GetString("p_soul");
- hero.PSoul = float.Parse(hero.SSoul);
- hero.SCube = qr.IsNULL("p_cube") ? "0" : qr.GetString("p_cube");
- hero.PCube = float.Parse(hero.SCube);
- hero.ShopFood = qr.IsNULL("shop_food") ? 0 : qr.GetInteger("shop_food");
- hero.shopSoul = qr.IsNULL("shop_soul") ? 0 : qr.GetInteger("shop_soul");
- hero.ShopCube = qr.IsNULL("shop_cube") ? 0 : qr.GetInteger("shop_cube");
- heroes.Add(hero);
- }
- return heroes;
- }
- #endregion
- #region SQL tbl_unlockhero
- //lay thong tin hero dua vao index_unlock trong tbl_heroUser
- public List<UnlockHero> GetIndexUnlocHeroToID(int id)
- {
- LoadDatabase("game");
- unlockHeroeQuerry = new List<UnlockHero>();
- SQLiteQuery qr = new SQLiteQuery(db, "SELECT * FROM tbl_UnlockHero Where id_hero=" + "'" + id + "'" + " and level_hero =1 ORDER BY id_unlockhero ASC");
- while (qr.Step())
- {
- UnlockHero unlockHero = new UnlockHero();
- setUnlockHero(unlockHero, qr);
- unlockHeroeQuerry.Add(unlockHero);
- }
- return unlockHeroeQuerry;
- }
- //lay thong tin hero dua vao index_unlock trong tbl_heroUser
- public List<UnlockHero> GetUnlockHeroesWhere(int indexUnlock)
- {
- LoadDatabase("game");
- unlockHeroeQuerry = new List<UnlockHero>();
- SQLiteQuery qr = new SQLiteQuery(db, "SELECT * FROM tbl_UnlockHero Where id_unlockhero=" + "'" + indexUnlock + "'" + " ORDER BY id_unlockhero ASC");
- while (qr.Step())
- {
- UnlockHero unlockHero = new UnlockHero();
- setUnlockHero(unlockHero, qr);
- unlockHeroeQuerry.Add(unlockHero);
- }
- return unlockHeroeQuerry;
- }
- public List<UnlockHero> GetUnlockHeroes()
- {
- LoadDatabase("game");
- unlockHeroes = new List<UnlockHero>();
- SQLiteQuery qr = new SQLiteQuery(db, "SELECT * FROM tbl_UnlockHero ORDER BY id_hero ASC");
- while (qr.Step())
- {
- UnlockHero unlockHero = new UnlockHero();
- setUnlockHero(unlockHero, qr);
- unlockHeroes.Add(unlockHero);
- }
- return unlockHeroes;
- }
- void setUnlockHero(UnlockHero hr, SQLiteQuery qr)
- {
- hr.ID = qr.IsNULL("id_unlockhero") ? 0 : qr.GetInteger("id_unlockhero");
- hr.HeroID = qr.IsNULL("id_hero") ? 0 : qr.GetInteger("id_hero");
- hr.Level = qr.IsNULL("level_hero") ? 0 : qr.GetInteger("level_hero");
- hr.AttackPower = qr.IsNULL("attack") ? 0 : qr.GetInteger("attack");
- hr.RSoul = qr.IsNULL("soul") ? 0 : qr.GetInteger("soul");
- hr.RFood = qr.IsNULL("food") ? 0 : qr.GetInteger("food");
- hr.RCube = qr.IsNULL("crystal") ? 0 : qr.GetInteger("crystal");
- hr.ImageName = qr.IsNULL("img") ? "0" : qr.GetString("img");
- }
- #endregion
- #region SQL tbl_HeroUser
- /// <summary>
- /// Lay danh sach heroUser trong tbl_HeroUser
- /// </summary>
- /// <returns></returns>
- public List<HeroUser> GetHeroesUserData()
- {
- LoadDatabase("user");
- heroesUserData = new List<HeroUser>();
- SQLiteQuery qr = new SQLiteQuery(db, "Select * FROM tbl_HeroUser ORDER BY id_hero ASC ");
- while (qr.Step())
- {
- HeroUser heroUserData = new HeroUser();
- heroUserData.ID = qr.IsNULL("id_hero") ? 0 : qr.GetInteger("id_hero");
- heroUserData.Level = qr.IsNULL("level_hero") ? 0 : qr.GetInteger("level_hero");
- heroUserData.State = qr.IsNULL("unlock") ? 0 : qr.GetInteger("unlock");
- heroUserData.SkillID = qr.IsNULL("id_skill") ? 0 : qr.GetInteger("id_skill");
- heroUserData.UnlockHeroID = qr.IsNULL("id_unlockhero") ? 0 : qr.GetInteger("id_unlockhero");
- heroUserData.AttackPower = qr.IsNULL("attack") ? 0 : qr.GetInteger("attack");
- heroesUserData.Add(heroUserData);
- }
- return heroesUserData;
- }
- /// <summary>
- /// Kiem tra list user, neu heroUser.cout<hero.cout
- /// Add them nhung hero con thieu vao tbl_heroUser
- /// </summary>
- void checkAddNew()
- {
- if (heroesUserData.Count < heroes.Count)
- {
- int loop = heroes.Count - heroesUserData.Count;
- int numHeroUser = heroesUserData.Count;
- for (int i = 0; i < loop; i++)
- {
- string unlock = "1";
- int id = i + numHeroUser + 1;
- //Debug.Log("id="+id );
- GetIndexUnlocHeroToID(heroes[id - 1].ID);
- GetIndexSkillToID(heroes[id - 1].SkillID);
- HeroUser hr = new HeroUser();
- hr.SkillID = skillHero[0].ID;
- hr.UnlockHeroID = unlockHeroeQuerry[0].ID;
- hr.AttackPower = unlockHeroeQuerry[0].AttackPower;
- if (heroes[id - 1].ID == 1)
- {
- unlock = "1";
- hr.State = 1;
- }
- else
- {
- unlock = "0";
- hr.State = 0;
- }
- hr.ID = heroes[id - 1].ID;
- hr.Level = 1;
- //add hero user to list
- heroesUserData.Add(hr);
- //add hero user to sqlite
- AddnewHeroUser(heroesUserData[id - 1].ID, unlock);
- }
- }
- }
- #endregion
- #region SQL tbl_Skill
- public List<Skill> GetIndexSkillToID(int typeSkill)
- {
- LoadDatabase("game");
- skillHero = new List<Skill>();
- SQLiteQuery qr = new SQLiteQuery(db, "Select * FROM tbl_Skill where type_skill =" + "'" + typeSkill + "'" + " and level_skill =1 ");
- while (qr.Step())
- {
- Skill skill = new Skill();
- setVauleSkill(skill, qr);
- skillHero.Add(skill);
- }
- //Debug.Log("Num skill=" + skillHero.Count);
- return skillHero;
- }
- public List<Skill> GetSkillsIndex(int indexSkill)
- {
- LoadDatabase("game");
- skillIndex = new List<Skill>();
- SQLiteQuery qr = new SQLiteQuery(db, "Select * FROM tbl_Skill where id_skill =" + "'" + indexSkill + "'" + " ORDER BY id_skill ASC ");
- while (qr.Step())
- {
- Skill skill = new Skill();
- setVauleSkill(skill, qr);
- skillIndex.Add(skill);
- }
- return skillIndex;
- }
- //public List<Skill> GetSkills ()
- //{
- // LoadDatabase ("game");
- // skills = new List<Skill> ();
- // SQLiteQuery qr = new SQLiteQuery (db, "Select * FROM tbl_Skill ORDER BY id_skill ASC ");
- // while (qr.Step()) {
- // Skill skill = new Skill ();
- // setVauleSkill(skill, qr);
- // skills.Add (skill);
- // }
- // return skills;
- //}
- void setVauleSkill(Skill skill, SQLiteQuery qr)
- {
- skill.ID = qr.IsNULL("id_skill") ? 0 : qr.GetInteger("id_skill");
- skill.SkillType = (Skill.Power)(qr.IsNULL("type_skill") ? 0 : qr.GetInteger("type_skill"));
- skill.Type = qr.IsNULL("type_skill") ? 0 : qr.GetInteger("type_skill");
- skill.Name = qr.IsNULL("name_skill") ? "0" : qr.GetString("name_skill");
- skill.SkillLevel = qr.IsNULL("level_skill") ? 0 : qr.GetInteger("level_skill");
- skill.MaxSkillAccu = qr.IsNULL("num_gem") ? 0 : qr.GetInteger("num_gem");
- skill.AttackPower = qr.IsNULL("dame") ? 0 : qr.GetInteger("dame");
- skill.Range = qr.IsNULL("range") ? 0 : qr.GetInteger("range");
- skill.Des = qr.IsNULL("des") ? "0" : qr.GetString("des");
- }
- #endregion
- #region SQL Enemy
- //public List<Enemy> GetEnemies ()
- //{
- // LoadDatabase ("game");
- // enemies = new List<Enemy> ();
- // SQLiteQuery qr = new SQLiteQuery (db, "Select * FROM tbl_Boss ORDER BY id_boss ASC ");
- // while (qr.Step()) {
- // Enemy enemy;
- // // enemy.ID = qr.IsNULL ("id_boss") ? 0 : qr.GetInteger ("id_boss");
- // // enemy.LevelID = qr.IsNULL ("id_level") ? 0 : qr.GetInteger ("id_level");
- // // enemy.Name = qr.IsNULL ("name_boss") ? "0" : qr.GetString ("name_boss");
- // // enemy.MaxHealth = qr.IsNULL ("blood") ? 0 : qr.GetInteger ("blood");
- // // enemy.ResitType = qr.IsNULL ("resist") ? 0 : qr.GetInteger ("resist");
- // // enemy.SkillType = qr.IsNULL ("special") ? 0 : qr.GetInteger ("special");
- // // enemy.WaitTime = qr.IsNULL ("move") ? 0 : qr.GetInteger ("move");
- // // enemy.SkillAmount = qr.IsNULL ("num_special") ? 0 : qr.GetInteger ("num_special");
- // // enemy.Image = qr.IsNULL ("img") ? "0" : qr.GetString ("img");
- // enemy = new Enemy (qr.IsNULL ("id_boss") ? 0 : qr.GetInteger ("id_boss"),
- // qr.IsNULL ("id_level") ? 0 : qr.GetInteger ("id_level"),
- // qr.IsNULL ("name_boss") ? "0" : qr.GetString ("name_boss"),
- // qr.IsNULL ("blood") ? 0 : qr.GetInteger ("blood"),
- // qr.IsNULL ("resist") ? 0 : qr.GetInteger ("resist"),
- // qr.IsNULL ("move") ? 0 : qr.GetInteger ("move"),
- // qr.IsNULL ("special") ? 0 : qr.GetInteger ("special"),
- // qr.IsNULL ("num_special") ? 0 : qr.GetInteger ("num_special"),
- // qr.IsNULL ("img") ? "0" : qr.GetString ("img")
- // );
- // enemies.Add (enemy);
- // }
- // return enemies;
- //}
- public List<Enemy> GetEnemiesByLevelID(int id_level)
- {
- LoadDatabase("game");
- enemies = new List<Enemy>();
- SQLiteQuery qr = new SQLiteQuery(db, "Select * FROM tbl_Boss Where id_level=" + "'" + id_level + "'" + " ORDER BY id_boss ASC ");
- while (qr.Step())
- {
- Enemy enemy;
- // enemy.ID = qr.IsNULL ("id_boss") ? 0 : qr.GetInteger ("id_boss");
- // enemy.LevelID = qr.IsNULL ("id_level") ? 0 : qr.GetInteger ("id_level");
- // enemy.Name = qr.IsNULL ("name_boss") ? "0" : qr.GetString ("name_boss");
- // enemy.MaxHealth = qr.IsNULL ("blood") ? 0 : qr.GetInteger ("blood");
- // enemy.ResitType = qr.IsNULL ("resist") ? 0 : qr.GetInteger ("resist");
- // enemy.SkillType = qr.IsNULL ("special") ? 0 : qr.GetInteger ("special");
- // enemy.WaitTime = qr.IsNULL ("move") ? 0 : qr.GetInteger ("move");
- // enemy.SkillAmount = qr.IsNULL ("num_special") ? 0 : qr.GetInteger ("num_special");
- // enemy.Image = qr.IsNULL ("img") ? "0" : qr.GetString ("img");
- enemy = new Enemy(qr.IsNULL("id_boss") ? 0 : qr.GetInteger("id_boss"),
- qr.IsNULL("type") ? 0 : qr.GetInteger("type"),
- qr.IsNULL("id_level") ? 0 : qr.GetInteger("id_level"),
- qr.IsNULL("name_boss") ? "0" : qr.GetString("name_boss"),
- qr.IsNULL("blood") ? 0 : qr.GetInteger("blood"),
- qr.IsNULL("resist") ? 0 : qr.GetInteger("resist"),
- qr.IsNULL("move") ? 0 : qr.GetInteger("move"),
- qr.IsNULL("special") ? 0 : qr.GetInteger("special"),
- qr.IsNULL("num_special") ? 0 : qr.GetInteger("num_special"),
- qr.IsNULL("img") ? "0" : qr.GetString("img"),
- qr.IsNULL("blood_special") ? 0 : qr.GetInteger("blood_special")
- );
- enemies.Add(enemy);
- }
- return enemies;
- }
- #endregion
- #region SQL Draw
- public List<Draw> GetDrawNote(int note)
- {
- LoadDatabase("game");
- draws = new List<Draw>();
- SQLiteQuery qr = new SQLiteQuery(db, "SELECT * FROM tbl_Draw Where Note=" + "'" + note + "'" + " ORDER BY id ASC");
- while (qr.Step())
- {
- Draw dr = new Draw();
- dr.Id = qr.IsNULL("id") ? 0 : qr.GetInteger("id");
- dr.Note = qr.IsNULL("note") ? 0 : qr.GetInteger("note");
- dr.Food = qr.IsNULL("food") ? 0 : qr.GetInteger("food");
- dr.Soul = qr.IsNULL("soul") ? 0 : qr.GetInteger("soul");
- dr.Cube = qr.IsNULL("cube") ? 0 : qr.GetInteger("cube");
- dr.Cube_Buy = qr.IsNULL("cube_buy") ? 0 : qr.GetInteger("cube_buy");
- dr.PFood = qr.IsNULL("food_percent") ? "0" : qr.GetString("food_percent");
- dr.Food_Percent = float.Parse(dr.PFood);
- dr.PSoul = qr.IsNULL("soul_percent") ? "0" : qr.GetString("soul_percent");
- dr.Soul_Percent = float.Parse(dr.PSoul);
- dr.PCube = qr.IsNULL("cube_percent") ? "0" : qr.GetString("cube_percent");
- dr.Cube_Percent = float.Parse(dr.PCube);
- draws.Add(dr);
- }
- return draws;
- }
- #endregion
- #region SQL Energy
- public List<Energy> GetEnergy()
- {
- LoadDatabase("game");
- energys = new List<Energy>();
- SQLiteQuery qr = new SQLiteQuery(db, "SELECT * FROM tbl_Energy ORDER BY note ASC");
- while (qr.Step())
- {
- Energy er = new Energy();
- er.Buy = qr.IsNULL("buy") ? 0 : qr.GetInteger("buy");
- er.Note = qr.IsNULL("note") ? 0 : qr.GetInteger("note");
- er.EnergyMax = qr.IsNULL("energy") ? 0 : qr.GetInteger("energy");
- er.EnergyBuy = qr.IsNULL("energy_buy") ? 0 : qr.GetInteger("energy_buy");
- er.CubeBuy = qr.IsNULL("buy_cube") ? 0 : qr.GetInteger("buy_cube");
- er.Refill = qr.IsNULL("energy_refill") ? "0" : qr.GetString("energy_refill");
- er.RefillEnergy = float.Parse(er.Refill);
- energys.Add(er);
- }
- return energys;
- }
- #endregion
- #region SetHeroInfo
- private void setInfoHero()
- {
- if (heroes.Count == heroesUserData.Count)
- for (int i = 0; i < heroes.Count; i++)
- {
- //get list hero unlock
- GetUnlockHeroesWhere(heroesUserData[i].UnlockHeroID);
- GetSkillsIndex(heroesUserData[i].SkillID);
- HeroInfo hero = new HeroInfo();
- //set id
- hero.IDHero = heroes[i].ID;
- //set type
- hero.TypeHero = heroes[i].Type;
- //set name
- hero.Name = heroes[i].Name;
- //set level;
- hero.Level = heroesUserData[i].Level;
- //set attack
- hero.Attack = heroesUserData[i].AttackPower;
- //set type skill
- hero.Type_Skill = heroes[i].SkillID;
- //set index skill
- hero.Index_Skill = heroesUserData[i].SkillID;
- //set index unlock
- hero.Index_Unlock = heroesUserData[i].UnlockHeroID;
- //set unlock
- hero.Unlock = heroesUserData[i].State;
- //set img
- hero.ImageName = unlockHeroeQuerry[0].ImageName;
- //set soul
- hero.Soul = unlockHeroeQuerry[0].RSoul;
- //set food
- hero.Food = unlockHeroeQuerry[0].RFood;
- ////set crystal
- hero.Cube = unlockHeroeQuerry[0].RCube;
- //set des
- hero.Des = heroes[i].Desc;
- //set name skill
- hero.NameSkill = skillIndex[0].Name;
- //set skill level
- hero.SkillLevel = skillIndex[0].SkillLevel;
- //set attackPower
- hero.AttackPowerSkill = skillIndex[0].SkillLevel;
- //set maxskillaccu
- hero.MaxSkillAccu = skillIndex[0].MaxSkillAccu;
- //curSkillAccu
- hero.CurSkillAccu = skillIndex[0].CurSkillAccu;
- //set range
- hero.Range = skillIndex[0].Range;
- //test = new List<HeroInfos>();
- heroInfoData.Add(hero);
- }
- }
- #endregion
- #region update
- //upgrade MapUser---------------------------------------------------
- //unlock, topdame, topmove, play
- public void UpdateLevel(int _id, int _play, int _topdame, int _topmove) // list heroesUserData
- {
- LoadDatabase("user");
- SQLiteQuery qr = new SQLiteQuery(db, "UPDATE tbl_LevelUser SET unlock = " + "1" + ",play=" + "'" + _play + "'" + ",top_dame= " + "'" + _topdame + "'" + ",top_move=" + "'" + _topmove + "'" + " WHERE id_level =" + " '" + _id + "'");
- qr.Step();
- qr.Release();
- }
- /// <summary>
- /// Update hero:event Click button Update
- /// </summary>
- /// <param name="idHero">ID hero </param>
- /// <param name="level">Level hero </param>
- /// <param name="indexUnlock">Index Unlock </param>
- /// <param name="indexSkill">Index Skill </param>
- /// <param name="attack">Attack Power</param>
- public void UpdateHeroUser(int idHero, int level, int indexUnlock, int indexSkill, int attack)
- {
- LoadDatabase("user");
- SQLiteQuery qr = new SQLiteQuery(db, "UPDATE tbl_herouser SET level_hero=" + "'" + level + "'" + ", attack=" + "'" + attack + "'" + " ,id_unlockhero=" + "'" + indexUnlock + "'" + ", id_skill=" + "'" + indexSkill + "'" + " WHERE id_hero=" + "'" + idHero + "'");
- qr.Step();
- qr.Release();
- }
- /// <summary>
- /// unlock hero khi QUay boxDraw not user
- /// </summary>
- /// <param name="idHero"> ID Hero </param>
- public void UnLockHero(int idHero)
- {
- LoadDatabase("user");
- SQLiteQuery qr = new SQLiteQuery(db, "UPDATE tbl_herouser SET unlock =1 WHERE id_hero=" + "'" + idHero + "'");
- qr.Step();
- qr.Release();
- }
- /// <summary>
- /// Add hero user
- /// </summary>
- /// <param name="idHero">ID Hero</param>
- /// <param name="unlock">State unlock 1 or 0 </param>
- public void AddnewHeroUser(int idHero, string unlock)
- {
- var id = idHero - 1;
- LoadDatabase("user");
- SQLiteQuery qr = new SQLiteQuery(db, "INSERT INTO tbl_HeroUser (id_hero, id_unlockhero, id_skill, level_hero, attack,unlock) VALUES (?,?,?,?,?,?)");
- qr.Bind(idHero);
- qr.Bind(heroesUserData[id].UnlockHeroID);
- qr.Bind(heroesUserData[id].SkillID);
- qr.Bind(heroesUserData[id].Level);
- qr.Bind(heroesUserData[id].AttackPower);
- qr.Bind(unlock);
- qr.Step();
- qr.Release();
- }
- /// <summary>
- /// Unlock Hero ?????????????????????????????????????
- /// </summary>
- /// <param name="idHero"> ID Hero</param>
- //public void UnLockHero (int idHero)
- //{
- // var id = idHero - 1;
- // LoadDatabase ("user");
- // SQLiteQuery qr = new SQLiteQuery(db, "INSERT INTO tbl_HeroUser (id_hero, id_unlockhero, id_skill, level_hero, attack,unlock) VALUES (?,?,?,?,?,?)");
- // qr.Bind(idHero);
- // qr.Bind(heroInfoData[id].Index_Unlock);
- // qr.Bind(heroInfoData[id].Index_Skill);
- // qr.Bind(heroInfoData[id].Level);
- // qr.Bind(heroInfoData[id].Attack);
- // qr.Bind("1");
- // qr.Step ();
- // qr.Release ();
- //}
- public void UpdateLevelNew(int level)
- {
- LoadDatabase("user");
- //INSERT INTO test_values (str_field,blob_field) VALUES(?,?);";
- SQLiteQuery qr = new SQLiteQuery(db, "INSERT INTO tbl_LevelUser (id_level, play,unlock, top_dame, top_move) VALUES (?,?,?,?,?)");
- qr.Bind(level.ToString());//id level
- qr.Bind("1");//play=1
- qr.Bind("1");//unlock=1
- qr.Bind("0");
- qr.Bind("0");
- qr.Step();
- qr.Release();
- }
- //unlock level
- public void UnLockLevel()
- {
- var levelMap = PlayerPrefs.GetInt("LevelSelect");
- if (levelMap - 1 == levelsUserData.Count)
- {
- //unlock lan dau
- UpdateLevelNew(levelMap);
- //all level to list uesr
- LevelUser lv = new LevelUser(levelMap, 1, 1, 0, 0);
- levelsUserData.Add(lv);
- EncryptedPlayerPrefs.SetInt("Level", levelMap + 1);
- //Debug.Log("Map Unlock lan 1");
- }
- else
- {
- //Debug.Log("Map unlock lan N");
- }
- //Debug.Log("Level Play=" + EncryptedPlayerPrefs.GetInt("Level"));
- //--------------------DEMO--------------------
- //var levelMap = PlayerPrefs.GetInt("LevelSelect");
- //if (levelMap > EncryptedPlayerPrefs.GetInt("Level")) EncryptedPlayerPrefs.SetInt("Level", levelMap + 1);
- }
- #endregion
- void CheckNull()
- {
- if (levels.Count == 0) Debug.LogError("list Level is null , check tbl_level ");
- if (heroes.Count == 0) Debug.LogError("list hero is null, check tbl_Hero ");
- //if (unlockHeroes.Count == 0) Debug.LogError("list unlockHero is null, check tbl_unlockHeroes");
- if (energys.Count == 0) Debug.LogError("list energy is null, check tbl_Energy");
- //if (enemies.Count == 0) Debug.LogError("list boss is null, check tbl_Boss");
- //if (skills.Count == 0 ) Debug.LogError("list skill is null, check Map level Null");
- }
- IEnumerator Download(WWW www)
- {
- yield return www;
- }
- //==============================
- // Test cleart data
- //==============================
- public void ButtonClearDataGame()
- {
- string filename = Application.persistentDataPath + "/" + dbNameGame;
- if (File.Exists(filename) )
- {
- File.Delete(filename);
- Application.LoadLevel(0);
- Debug.Log("delete file " + filename);
- }
- }
- public void ButtonClearDataUser()
- {
- string filename = Application.persistentDataPath + "/" + dbNameUser;
- if (File.Exists(filename))
- {
- File.Delete(filename);
- Application.LoadLevel(0);
- Debug.Log("delete file " + filename);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment