Ejemplo n.º 1
0
    public static StgData LoadStgData(TextAsset textAsset)
    {
        XmlDocument document = new XmlDocument();

        document.Load(new StringReader(textAsset.text));
        XmlNode node = document.SelectSingleNode("ROOT");
        StgData data = new StgData
        {
            dataHead = StgDataHead.ToStgDataHead(node["H"])
        };
        XmlNode     node2      = node["ES"];
        IEnumerator enumerator = node2.ChildNodes.GetEnumerator();

        try
        {
            while (enumerator.MoveNext())
            {
                XmlNode     current = (XmlNode)enumerator.Current;
                StgEventAbs item    = StgEventAbs.ToStgEvent(current);
                data.evtList.Add(item);
            }
        }
        finally
        {
            //IDisposable disposable = enumerator as IDisposable;
            //if (disposable == null)
            //{
            //}
            //disposable.Dispose();
        }
        return(data);
    }
Ejemplo n.º 2
0
    // 读取信息,生成一个StgData,填充其中的StgDataHead和List<StgEventAbs>
    public static StgData GetStageData(string resName)
    {
        XmlDocument document = new XmlDocument();
        TextAsset   asset    = Resources.Load(gameDir + resName, typeof(TextAsset)) as TextAsset;

        document.Load(new StringReader(asset.text));
        XmlNode node = document.SelectSingleNode("ROOT");
        StgData data = new StgData {
            dataHead = StgDataHead.ToStgDataHead(node["H"])
        };
        XmlNode node2 = node["ES"];

        IEnumerator enumerator = node2.ChildNodes.GetEnumerator();

        try
        {
            while (enumerator.MoveNext())
            {
                XmlNode     current = (XmlNode)enumerator.Current;
                StgEventAbs item    = StgEventAbs.ToStgEvent(current);
                data.evtList.Add(item);
            }
        }
        finally
        {
            IDisposable disposable = enumerator as IDisposable;
            if (disposable == null)
            {
            }
            disposable.Dispose();
        }

        return(data);
    }
Ejemplo n.º 3
0
 public void SetStageHead(StgDataHead dataHead)
 {
     this.stgType    = dataHead.stgType;
     this.stgEndType = dataHead.stgEndType;
     this.describe   = dataHead.describe;
     if (this.describe.Equals(string.Empty))
     {
         // 待补充
     }
     this.special = dataHead.special;
     this.count   = dataHead.endCount;
     // 待补充
 }
Ejemplo n.º 4
0
    public static StgDataHead ToStgDataHead(XmlNode node)
    {
        StgDataHead head = new StgDataHead {
            stgType    = (StgType)int.Parse(node["T"].InnerText),
            stgEndType = (StgEndType)int.Parse(node["E"].InnerText),
            endCount   = int.Parse(node["C"].InnerText),
            map        = node["M"].InnerText
        };

        if (node["D"] != null)
        {
            head.describe = node["D"].InnerText;
        }
        if (node["S"] != null)
        {
            head.special = node["S"].InnerText;
        }
        if (node["DK"] != null)
        {
            head.describe = node["DK"].InnerText;
        }
        return(head);
    }