// Use this for initialization void Start() { _sys = TmSystem.instance; _sys.mw.setHitLayerMask(1 << LayerMask.NameToLayer("layerTouch")); _partsList = new List <MyParts>(); XmlDocument doc = new XmlDocument(); TextAsset data = Instantiate(Resources.Load(_xmlPath, typeof(TextAsset))) as TextAsset; doc.LoadXml(data.text); XmlNodeList nodeList = doc.SelectNodes("book/page"); for (int ii = 0; ii < nodeList.Count; ++ii) { MyParts parts = createPartsFromNode(nodeList[ii], null); _partsList.Add(parts); } createPlayers(); }
private MyParts createPartsFromNode(XmlNode _node, MyParts _parent, GameObject _gameObject = null) { MyParts parts = new MyParts(); XmlAttributeCollection attr = _node.Attributes; if (attr["id"] != null) { parts.id = attr["id"].Value; } if (attr["name"] != null) { parts.name = attr["name"].Value; } if (attr["src"] != null) { parts.src = attr["src"].Value; } if (attr["comment"] != null) { parts.comment = attr["comment"].Value; } if (attr["link"] != null) { parts.link = attr["link"].Value; } parts.text = _node.InnerText; if (_gameObject == null) { GameObject[] gos = GameObject.FindGameObjectsWithTag("tagButton"); foreach (GameObject go in gos) { if (go.name == parts.name) { _gameObject = go; _gameObject.SendMessage("SM_SetPartsInfo", parts); break; } } } if (_gameObject == null) { _gameObject = GameObject.Instantiate(selButtonPartsPrefab) as GameObject; _gameObject.SendMessage("SM_SetPartsInfo", parts); } parts.partsObj = _gameObject; if (parts.name != "") { _gameObject.name = parts.name; } if (_parent != null) { parts.parent = _parent; parts.partsObj.transform.position = parts.parent.partsObj.transform.position + Vector3.forward * 0.1f; parts.partsObj.transform.rotation = parts.parent.partsObj.transform.rotation; parts.partsObj.transform.parent = parts.parent.partsObj.transform; } // Debug.Log(_node.ChildNodes.Count+":"+parts.id); if (_node.ChildNodes.Count > 0) { parts.childList = new List <MyParts>(); for (int ii = 0; ii < _node.ChildNodes.Count; ++ii) { parts.childList.Add(createPartsFromNode(_node.ChildNodes[ii], parts)); } } return(parts); }