从网页加载文本并对其进行排序

时间:2016-07-21 01:52:55

标签: c# unity3d

我试图从下面发布的链接中加载数据并对其进行排序并通过string.split输出所有内容,但是直到我添加了一个新行,现在它都不会加载新行,但它确实加载其余的。继续代码和链接,我现在已经尝试了好几个小时了,我似乎无法弄清楚什么是错的。

http://lgdev.site.nfoservers.com/getItems.php

IEnumerator loadItems()
{
    WWW w = new WWW("http://lgdev.site.nfoservers.com/getItems.php");
    yield return w;
    string[] tmpdata1 = w.text.Split(char.Parse("/"));
    foreach (string data in tmpdata1)
    {
        Debug.Log(data);
        string[] tmpinfo = data.Split(char.Parse("~"));
        GameObject tmpObj = Instantiate(Resources.Load("weapon", typeof(GameObject))) as GameObject;
        tmpObj.transform.SetParent(transform);
        gearList.Add(tmpObj);
        tmpObj.name = tmpinfo[0] + "-gear";
        tmpObj.GetComponent<gear>().name = tmpinfo[0];
        tmpObj.GetComponent<gear>().vitalisim = int.Parse(tmpinfo[1]);
        tmpObj.GetComponent<gear>().defence = int.Parse(tmpinfo[2]);
        tmpObj.GetComponent<gear>().strength = int.Parse(tmpinfo[3]);
        string[] offsetInfo1 = tmpinfo[5].Split(char.Parse(";"));
        foreach (string off in offsetInfo1)
        {
            string[] offset = off.Split(char.Parse(","));
            tmpObj.GetComponent<gear>().offsetsPos.Add(new Vector3(float.Parse(offset[0]), float.Parse(offset[1]), float.Parse(offset[2])));
            tmpObj.GetComponent<gear>().offetsRot.Add(new Vector3(float.Parse(offset[3]), float.Parse(offset[4]), float.Parse(offset[5])));
            tmpObj.GetComponent<gear>().offetsSize.Add(new Vector3(float.Parse(offset[6]), float.Parse(offset[7]), float.Parse(offset[8])));
        }

        string[] offsetInfo2 = tmpinfo[8].Split(char.Parse(";"));
        foreach (string off in offsetInfo2)
        {
            string[] offset = off.Split(char.Parse(","));
            tmpObj.GetComponent<gear>().sheathedOffsetsPos.Add(new Vector3(float.Parse(offset[0]), float.Parse(offset[1]), float.Parse(offset[2])));
            tmpObj.GetComponent<gear>().sheathedOffsetsRot.Add(new Vector3(float.Parse(offset[3]), float.Parse(offset[4]), float.Parse(offset[5])));
            tmpObj.GetComponent<gear>().sheathedOffsetsSize.Add(new Vector3(float.Parse(offset[6]), float.Parse(offset[7]), float.Parse(offset[8])));
        }

        string[] typeInfo = tmpinfo[4].Split(char.Parse(","));
        if (typeInfo.Length == 2)
        {
            if (typeInfo[1] == "SwordnShield")
            {
                tmpObj.GetComponent<gear>().anim = swordAndShieldAnimSet;
            }
            else if (typeInfo[1] == "TwoHanded")
            {
                tmpObj.GetComponent<gear>().anim = twoHandedAnimSet;
            }
        }
        foreach (string prefab in tmpinfo[6].Split(char.Parse(",")))
        {
            tmpObj.GetComponent<gear>().prefabs.Add("Gear"+"/"+typeInfo[0]+"/"+ prefab);
        }

        int i = 0;
        foreach (string bone in tmpinfo[7].Split(char.Parse(",")))
        {
            i = 0;
            foreach (string boneName in GetComponent<boneManager>().boneStrings)
            {
                if (bone == boneName)
                {
                    tmpObj.GetComponent<gear>().rootbones.Add(GetComponent<boneManager>().bones[i]);
                }
                i++;
            }
        }

        i = 0;
        foreach (string bone in tmpinfo[9].Split(char.Parse(",")))
        {
            if (System.Array.IndexOf(GetComponent<boneManager>().boneStrings, bone) >= 0)
            {
                tmpObj.GetComponent<gear>().sheathedRootbones.Add(GetComponent<boneManager>().bones[i]);
            }
        }

        tmpObj.GetComponent<gear>().type = typeInfo[0];
        tmpObj.GetComponent<gear>().spawnInModels();
        tmpObj.GetComponent<gear>().hubAnimator = hubAnimator;
        tmpObj.GetComponent<gear>().UnEquip();
    }
    gear = gearList.ToArray();

    if (PhotonNetwork.room.name == "Hub")
    {
        gear[currentWep].GetComponent<gear>().Sheathe();
        gear[currentBody].GetComponent<gear>().Sheathe();
        gear[currentLegs].GetComponent<gear>().Sheathe();
        gear[currentWep].GetComponent<gear>().Sheathe();
    }
    else
    {
        gear[currentWep].GetComponent<gear>().Equip();
        gear[currentBody].GetComponent<gear>().Equip();
        gear[currentLegs].GetComponent<gear>().Equip();
        gear[currentWep].GetComponent<gear>().Equip();
    }
}

0 个答案:

没有答案