Пример #1
0
    public void DeckParser(string id)
    {
        stringBuilder.Clear();
        string sql = stringBuilder.Append("SELECT*FROM Deck WHERE Id =").Append("'").Append(id).Append("'").ToString();

        IDataReader       dataReader = DBManager.GetInstance().DataBaseRead(sql);
        List <DiceStatus> dices      = new List <DiceStatus>();
        DiceCache         cache      = DiceCache.GetInstance();

        while (dataReader.Read())
        {
            for (int i = 1; i < dataReader.FieldCount; i++)
            {
                Debug.Log("덱 확인" + dataReader.GetString(i));
                DiceStatus diceStatus = cache.diceCache[dataReader.GetString(i)];
                dices.Add(diceStatus);
            }
        }

        Deck.GetInstance().decks.Add(id, dices);
    }
Пример #2
0
    public void DiceParse()
    {
        string      sql        = "SELECT*FROM AttackType ";
        IDataReader dataReader = DBManager.GetInstance().DataBaseRead(sql);


        while (dataReader.Read())
        {
            DiceStatus diceStatus = new DiceStatus();
            try

            {
                diceStatus.diceName = dataReader.GetString(0);
                //diceStatus.diceEye = 1;

                if (Application.platform == RuntimePlatform.Android)
                {
                    string spritePath = string.Empty;
                    spritePath = dataReader.GetString(1);
                    spritePath = spritePath.Replace("./Assets/Resources/", "").Replace(".png", "");
                    Debug.Log("안드로이드 리소스 로딩");
                    Debug.Log(spritePath);
                    diceStatus.sprite    = Resources.Load <Sprite>(spritePath);
                    diceStatus.dotSprite = Resources.Load <Sprite>(spritePath.Replace("Dice", "Dot"));
                    if (!dataReader.IsDBNull(10))
                    {
                        diceStatus.attackType.effect = Resources.Load <Sprite>(dataReader.GetString(10).Replace("./Assets/Resources/", "").Replace(".png", ""));
                    }
                }
                else
                {
                    diceStatus.sprite    = SpriteLoader.LoadNewSprite(dataReader.GetString(1));
                    diceStatus.dotSprite = SpriteLoader.LoadNewSprite(dataReader.GetString(1).Replace("Dice.png", "Dot.png"));
                    if (!dataReader.IsDBNull(10))
                    {
                        Debug.Log("이미지 로딩");
                        diceStatus.attackType.effect = SpriteLoader.LoadNewSprite(dataReader.GetString(10));
                    }
                }

                diceStatus.attackType.ofensiveType = EnumUtills.Parse <OfensiveType>(dataReader.GetString(2));
                diceStatus.attackType.damageType   = EnumUtills.Parse <DamageType>(dataReader.GetString(3));
                diceStatus.attackType.target       = EnumUtills.Parse <Target>(dataReader.GetString(4));
                diceStatus.attackType.damage       = dataReader.GetFloat(5);
                diceStatus.attackType.attackSpeed  = dataReader.GetFloat(6);
                diceStatus.attackType.diffusion    = dataReader.GetFloat(7);
                diceStatus.attackType.range        = dataReader.GetInt32(8);
                diceStatus.describe = dataReader.GetString(9);
                string path = "";
                try
                {
                    path = "Animation/" + dataReader.GetString(1).Replace("./Assets/Resources/", "").Replace("Dice.png", "Dot");
                    diceStatus.animator = Resources.Load <RuntimeAnimatorController>(path);
                    Debug.Log(path);
                    if (diceStatus.animator != null)
                    {
                        Debug.Log("애니메이션 존재");
                    }
                }
                catch (Exception e)
                {
                    Debug.Log(e);
                }


                if (!dataReader.IsDBNull(11))
                {
                    diceStatus.attackType.animationEffect = Resources.Load <RuntimeAnimatorController>(dataReader.GetString(11));
                }
                // 12번은 디버프 적용 부위 설정임.
                diceStatus.attackType.potential = dataReader.GetFloat(13);
                DiceCache.GetInstance().diceCache.Add(diceStatus.diceName, diceStatus);
            }
            catch (Exception e)
            {
                Debug.Log("데이터 파싱 에러" + e);
            }
        }
    }