public Skill(int id, string name, string description, Profession.ProfessionType profType, DamageType dmgType, int reach, float damage, float baseCritChance, TargetType target, int hpCost, int mpCost, int spCost, int level, Element element, Effects fX, int aoe, bool unlocked = true) { SkillID = id; this.name = name; this.Description = description; this.profType = profType; this.dmgType = dmgType; this.reach = reach; this.damage = damage; this.baseCritChance = baseCritChance; this.targets = target; this.hpCost = hpCost; this.mpCost = mpCost; this.spCost = spCost; this.level = level; this.element = element; this.FX = fX; areaOfEffectRange = aoe; this.Unlocked = unlocked; ID = GameManager.GenerateID(this); }
public static Skill[] GetSkillsByProfession(Profession.ProfessionType profession) { List <Skill> skills = new List <Skill>(); string conn = "URI=file:" + Application.dataPath + "/Databases/Skills.db"; //Path to database. IDbConnection dbconn; dbconn = (IDbConnection) new SqliteConnection(conn); dbconn.Open(); //Open connection to the database. IDbCommand dbcmd = dbconn.CreateCommand(); string sqlQuery = "SELECT * " + "FROM Skills " + "WHERE ProfessionType = " + (int)profession; Debug.Log("Profession DB : Class " + profession + " has being loaded! "); dbcmd.CommandText = sqlQuery; IDataReader reader = dbcmd.ExecuteReader(); LanguageCode lang = (LanguageCode)Enum.Parse(typeof(LanguageCode), GameManager.language); while (reader.Read()) { // for (int i = 0; i < 12; i++) // { // Debug.Log(reader.GetDataTypeName(i)); // // } string[] total = reader.GetString((int)lang + 1).Split(':'); string name = "Null"; string desc = "Null"; if (total.Length > 1) { name = total[0]; desc = total[1]; } Skill newSkill = new Skill( reader.GetInt32(0), name, //name desc, //description profession, //profession (DamageType)reader.GetInt32(5), //damage type reader.GetInt32(6), //reach reader.GetFloat(7), //damage amount reader.GetFloat(8), //base crit chance (Skill.TargetType)reader.GetInt32(9), // target reader.GetInt32(10), //hpCost reader.GetInt32(11), //mpCost reader.GetInt32(12), //spCost reader.GetInt32(13), //level reader.GetInt32(14), //element reader.GetInt32(15), //effects reader.GetInt32(16)); //area of effect range skills.Add(newSkill); } reader.Close(); reader = null; dbcmd.Dispose(); dbcmd = null; dbconn.Close(); dbconn = null; ; return(skills.ToArray()); }