public void Load(int charId)
        {
            Stats = new CharacterStat(charId);
            Task.WaitAll(Stats.LoadFromDB());
            Look = new AvatarLook();
            Look.CopyStats(Stats);

            using (var conn = new NpgsqlConnection(Constants.DB_World0_ConString))
            {
                conn.Open();
                using (var cmd = new NpgsqlCommand($"SELECT item_id, inventory_slot FROM {Constants.DB_All_World_Schema_Name}.char_inventory_equips "
                                                   + $"WHERE character_id = {charId} AND inventory_slot < 0 AND inventory_slot > -200"
                                                   + $"ORDER BY inventory_slot ASC", conn))
                    using (var r = cmd.ExecuteReader())
                        while (r.Read())
                        {
                            var slot = Math.Abs(r.GetInt16(1));

                            if (slot >= 100)
                            {
                                slot -= 100;
                            }

                            if (Look.aEquip[slot] == 0)
                            {
                                Look.aEquip[slot] = r.GetInt32(0);
                            }
                            else
                            {
                                Look.aUnseenEquip[slot] = r.GetInt32(0);
                            }
                        }
            }
        }
Beispiel #2
0
 public AvatarData()
 {
     Stats = new GW_CharacterStat();
     Look  = new AvatarLook();
 }