public static BlockState xmlEle2BlockState(XmlElement xblock) { BlockState resState = new BlockState(); resState.name = xblock.GetAttribute("name"); XmlNodeList stateList = xblock.SelectNodes("state"); foreach (XmlElement xstate in stateList) { string name = xstate.GetAttribute("name"); string input = ""; foreach (XmlElement xele in xstate.ChildNodes) { if ("input".Equals(xele.Name)) { input = xele.InnerText; } } UniState newState = resState.addState(name, input); if (newState != null) { s_Instance.stateDict.Add(resState.name + "." + name, newState); } } return(resState); }