Esempio n. 1
0
    static public void GetLevel(int levelId, ref GameController.Level levelToLoad)
    {
        Debug.Log("GET LEVEL");
        XmlDocument xmlDoc = LoadXMLFromAsset("Level" + levelId.ToString());

        ParseLevel(xmlDoc, ref levelToLoad);
    }
Esempio n. 2
0
    static private void ParseLevel(XmlDocument xmlDoc, ref GameController.Level levelToLoad)
    {
        Debug.Log("PARSE LEVEL");

        XmlNodeList levelInfo  = xmlDoc.GetElementsByTagName("levelInfo");
        XmlNodeList hazardList = xmlDoc.GetElementsByTagName("hazard");

        levelToLoad.levelArray = new ArrayList();

        foreach (XmlElement infoNode in levelInfo)
        {
            XmlNodeList infoList = infoNode.ChildNodes;

            foreach (XmlElement info in infoList)
            {
                switch (info.Name)
                {
                case "id":
                    levelToLoad.id = int.Parse(info.InnerText);
                    break;

                case "name":
                    Debug.Log(info.InnerText);
                    levelToLoad.name = info.InnerText;
                    break;

                case "bpm":
                    levelToLoad.bpm = float.Parse(info.InnerText);
                    break;

                case "offset":
                    levelToLoad.offset = float.Parse(info.InnerText);
                    break;

                case "audioFile":
                    levelToLoad.audioFile = info.InnerText;
                    break;
                }
            }
        }

        foreach (XmlElement hazard in hazardList)
        {
            XmlNodeList objectList = hazard.ChildNodes;

            GameController.Hazard tempHazard = new GameController.Hazard();
            tempHazard.hazardObjects = new ArrayList();

            tempHazard.bar = float.Parse(hazard.Attributes["bar"].Value);

            foreach (XmlElement hazardObjectNode in objectList)
            {
                XmlNodeList hazardObject = hazardObjectNode.ChildNodes;

                GameController.HazardObject tempHazardObject = new GameController.HazardObject();

                tempHazardObject.objectName    = "Cube";
                tempHazardObject.spawnSide     = "top";
                tempHazardObject.spawnPosition = 0;
                tempHazardObject.speed         = 0;
                tempHazardObject.rotation      = 0;
                tempHazardObject.color         = null;

                foreach (XmlElement objectElement in hazardObject)
                {
                    switch (objectElement.Name)
                    {
                    case "objectName":
                        tempHazardObject.objectName = objectElement.InnerText;
                        break;

                    case "spawnSide":
                        tempHazardObject.spawnSide = objectElement.InnerText;
                        break;

                    case "spawnPosition":
                        tempHazardObject.spawnPosition = float.Parse(objectElement.InnerText);
                        break;

                    case "speed":
                        tempHazardObject.speed = float.Parse(objectElement.InnerText);
                        break;

                    case "rotation":
                        tempHazardObject.rotation = float.Parse(objectElement.InnerText);
                        break;

                    case "color":
                        tempHazardObject.color = objectElement.InnerText;
                        break;

                    default:
                        break;
                    }
                }
                tempHazard.hazardObjects.Add(tempHazardObject);
            }
            levelToLoad.levelArray.Add(tempHazard);
        }
    }