示例#1
0
    public void fromXml(XmlDocument xmlDoc)
    {
        clearCubes();
        XmlNode memoryNode = xmlDoc.SelectSingleNode("//bookmark/memory");
        XmlNode nameNode   = memoryNode.SelectSingleNode("name");

        gameObject.name = nameNode.InnerText;
        XmlNode protectedNode = memoryNode.SelectSingleNode("read_protected_data");

        if (protectedNode != null)
        {
            readProtectedData = bool.Parse(protectedNode.InnerText);
        }
        Color   s1            = pipeBehavior.session1Color;
        Color   s2            = pipeBehavior.session2Color;
        XmlNode session1Color = memoryNode.SelectSingleNode("session1_color");

        if (session1Color != null)
        {
            s1 = myUtils.colorFromRGBA(session1Color.InnerText);
            XmlNode session2Color = memoryNode.SelectSingleNode("session2_color");
            s2 = myUtils.colorFromRGBA(session2Color.InnerText);
        }
        XmlNodeList cubeNodes = memoryNode.SelectNodes("cube");

        //Debug.Log ("memory fromXML # cubes is " + cubeNodes.Count);
        for (int i = 0; i < cubeNodes.Count; i++)
        {
            GameObject myData = getFreeData();
            //GameObject myData = Instantiate (Resources.Load ("dataPrefab")) as GameObject;
            dataBehaviorNew script = (dataBehaviorNew)myData.GetComponent(typeof(dataBehaviorNew));
            int             index  = script.fromXML(cubeNodes[i]);

            script.enabled = false;
            //myData.collider.enabled = false;
            //myData.collider2D.enabled = false;
            Vector3 pos = this.getAddressLocation(script.address);
            myData.transform.position = pos;
            //Debug.Log ("memory fromXML loaded cube "+index);
            cubes[index] = myData;
        }
        if (session1Color != null)
        {
            setCubeColor(s1, pipeBehavior.session1Color);
            setCubeColor(s2, pipeBehavior.session2Color);
        }
    }