public DisasterMgr(XmlNode disastersNode) { // Load XML XmlNodeList disasterNodes = disastersNode.SelectNodes("Disaster"); foreach (XmlNode disasterNode in disasterNodes) { Disaster.DisasterType type = Disaster.StringToType(disasterNode.SelectSingleNode("Type").InnerText); string[] pointStr = disasterNode.SelectSingleNode("Point").InnerText.Replace(" ", "").Split(','); int x = int.Parse(pointStr[0]); int y = int.Parse(pointStr[1]); Vector3Int point = new Vector3Int(x, y, 0); int floor = int.Parse(disasterNode.SelectSingleNode("Floor").InnerText); int turn = int.Parse(disasterNode.SelectSingleNode("Turn").InnerText); disasters.Add(new Disaster(type, point, floor, turn)); } disasters.Sort(delegate(Disaster e1, Disaster e2) { return(e1.LeftTurn.CompareTo(e2.LeftTurn)); }); }