Пример #1
0
    void readDragonPlayer()
    {
        TextAsset textAsset = (TextAsset)Resources.Load(GameConfig.DatabasePathDragonPlayer);

        string[] temp = textAsset.text.Split('\n');

        int lenght = temp.Length;

        for (int i = 1; i <= lenght - 1; i++)
        {
            if (temp[i].Equals(""))
            {
                break;
            }

            DragonPlayerData data = new DragonPlayerData();
            string[]         s    = temp[i].Split(';');
            data.Name = s[1];
            data.HP   = int.Parse(s[2]);
            data.MP   = int.Parse(s[3]);
            data.DEF  = int.Parse(s[4]);
            string[] tempATK = s[5].Split('-');
            data.ATK       = new SMinMax(int.Parse(tempATK[0]), int.Parse(tempATK[1]));
            data.ATKSpeed  = float.Parse(s[7]);
            data.MoveSpeed = float.Parse(s[8]);

            #region SKILL
            int    index     = 0;
            string skillLine = s[12].Substring(0, s[12].Length - 1);
            if (!skillLine.Equals("none"))
            {
                string[] tempSkill = s[12].Split('-');
                foreach (string skill in tempSkill)
                {
                    DragonPlayerSkillData skillData = new DragonPlayerSkillData();
                    skillData.Index = index;

                    int    indexSS = skill.IndexOf("(ss)");
                    string tempStr = skill;
                    if (indexSS == -1)
                    {
                        skillData.Ulti = false;
                    }
                    else
                    {
                        tempStr        = skill.Substring(0, indexSS);
                        skillData.Ulti = true;
                    }
                    skillData.ID = tempStr;

                    data.Skills.Add(skillData);
                    index++;
                }
            }
            #endregion

            #region STATE
            string[] tempState     = s[9].Split('-');
            string[] tempTimeFrame = s[10].Split('-');
            string[] tempEvent     = s[11].Split(',');

            for (int k1 = 0; k1 < tempState.Length; k1++)
            {
                AnimationEventState animationState = new AnimationEventState();
                animationState.TimeFrame = float.Parse(tempTimeFrame[k1]);

                for (int k2 = 0; k2 < tempEvent.Length; k2++)
                {
                    if (tempEvent[k2] != "")
                    {
                        string[] ss = tempEvent[k2].Split('-');
                        if (tempState[k1].Equals(ss[0]))
                        {
                            for (int k3 = 1; k3 < ss.Length; k3++)
                            {
                                animationState.listKeyEventFrame.Add(ss[k3]);
                            }

                            break;
                        }
                    }
                }
                data.States.Add(tempState[k1].ToUpper(), animationState);
            }
            #endregion

            string branch = s[6];
            DragonInfo.Player.Add(branch.ToUpper(), data);
        }
    }
Пример #2
0
    void readDragonPlayer()
    {
        TextAsset textAsset = (TextAsset)Resources.Load(GameConfig.DatabasePathDragonPlayer);
        string[] temp = textAsset.text.Split('\n');

        int lenght = temp.Length;
        for (int i = 1; i <= lenght - 1; i++)
        {
            if (temp[i].Equals(""))
                break;

            DragonPlayerData data = new DragonPlayerData();
            string[] s = temp[i].Split(';');
            data.Name = s[1];
            data.HP = int.Parse(s[2]);
            data.MP = int.Parse(s[3]);
            data.DEF = int.Parse(s[4]);
            string[] tempATK = s[5].Split('-');
            data.ATK = new SMinMax(int.Parse(tempATK[0]), int.Parse(tempATK[1]));
            data.ATKSpeed = float.Parse(s[7]);
            data.MoveSpeed = float.Parse(s[8]);

            #region SKILL
            int index = 0;
            string skillLine = s[12].Substring(0, s[12].Length - 1);
            if (!skillLine.Equals("none"))
            {
                string[] tempSkill = s[12].Split('-');
                foreach (string skill in tempSkill)
                {
                    DragonPlayerSkillData skillData = new DragonPlayerSkillData();
                    skillData.Index = index;

                    int indexSS = skill.IndexOf("(ss)");
                    string tempStr = skill;
                    if (indexSS == -1)
                        skillData.Ulti = false;
                    else
                    {
                        tempStr = skill.Substring(0, indexSS);
                        skillData.Ulti = true;
                    }
                    skillData.ID = tempStr;

                    data.Skills.Add(skillData);
                    index++;
                }
            }
            #endregion

            #region STATE
            string[] tempState = s[9].Split('-');
            string[] tempTimeFrame = s[10].Split('-');
            string[] tempEvent = s[11].Split(',');

            for (int k1 = 0; k1 < tempState.Length; k1++)
            {
                AnimationEventState animationState = new AnimationEventState();
                animationState.TimeFrame = float.Parse(tempTimeFrame[k1]);

                for (int k2 = 0; k2 < tempEvent.Length; k2++)
                {
                    if (tempEvent[k2] != "")
                    {
                        string[] ss = tempEvent[k2].Split('-');
                        if (tempState[k1].Equals(ss[0]))
                        {
                            for (int k3 = 1; k3 < ss.Length; k3++)
                                animationState.listKeyEventFrame.Add(ss[k3]);

                            break;
                        }
                    }
                }
                data.States.Add(tempState[k1].ToUpper(), animationState);
            }
            #endregion

            string branch = s[6];
            DragonInfo.Player.Add(branch.ToUpper(), data);
        }
    }