コード例 #1
0
ファイル: IIndexedTime.cs プロジェクト: stoye/LiveSplit
        public static IIndexedTime ParseXml(XmlElement node)
        {
            var newTime = Time.FromXml(node);
            var index   = int.Parse(node.GetAttribute("id"));

            return(new IndexedTime(newTime, index));
        }
コード例 #2
0
ファイル: Attempt.cs プロジェクト: seewaldchris/LiveSplit
        public static Attempt ParseXml(XmlElement node)
        {
            var            newTime       = Time.FromXml(node);
            var            index         = int.Parse(node.Attributes["id"].InnerText, CultureInfo.InvariantCulture);
            AtomicDateTime?started       = null;
            var            startedSynced = false;
            AtomicDateTime?ended         = null;
            var            endedSynced   = false;

            if (node.HasAttribute("started"))
            {
                var startedTime = DateTime.Parse(node.Attributes["started"].InnerText, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);
                if (node.HasAttribute("isStartedSynced"))
                {
                    startedSynced = bool.Parse(node.Attributes["isStartedSynced"].InnerText);
                }
                started = new AtomicDateTime(startedTime, startedSynced);
            }

            if (node.HasAttribute("ended"))
            {
                var endedTime = DateTime.Parse(node.Attributes["ended"].InnerText, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);
                if (node.HasAttribute("isEndedSynced"))
                {
                    endedSynced = bool.Parse(node.Attributes["isEndedSynced"].InnerText);
                }
                ended = new AtomicDateTime(endedTime, endedSynced);
            }

            return(new Attempt(index, newTime, started, ended));
        }
コード例 #3
0
ファイル: IIndexedTime.cs プロジェクト: JMaynard24/LiveSplit
        public static IIndexedTime ParseXml(XmlElement node)
        {
            var newTime = Time.FromXml(node);
            var index   = int.Parse(node.Attributes["id"].InnerText);

            return(new IndexedTime(newTime, index));
        }
コード例 #4
0
ファイル: OngoingRun.cs プロジェクト: Remag/LiveSplit
        public static OngoingRun ParseXml(XmlNode node)
        {
            OngoingRun result = new OngoingRun();

            var size = node.ChildNodes.Count;

            for (int i = 0; i < size; i++)
            {
                var child  = node.ChildNodes[i];
                var deaths = int.Parse(child.Attributes["deathCount"].InnerText);
                var time   = Time.FromXml(child["Time"]);
                result.SplitDeaths.Add(deaths);
                result.SplitEndTimes.Add(time);
            }
            return(result);
        }
コード例 #5
0
ファイル: Attempt.cs プロジェクト: stoye/LiveSplit
        public static Attempt ParseXml(XmlElement node)
        {
            var      newTime = Time.FromXml(node);
            var      index   = int.Parse(node.Attributes["id"].InnerText, CultureInfo.InvariantCulture);
            DateTime?started = null;
            DateTime?ended   = null;

            if (node.HasAttribute("started"))
            {
                started = DateTime.Parse(node.Attributes["started"].InnerText, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);
            }

            if (node.HasAttribute("ended"))
            {
                ended = DateTime.Parse(node.Attributes["ended"].InnerText, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);
            }

            return(new Attempt(index, newTime, started, ended));
        }
コード例 #6
0
ファイル: Attempt.cs プロジェクト: Zyntex1/AeroSplit
        public static Attempt ParseXml(XmlElement node)
        {
            var            newTime       = Time.FromXml(node);
            var            index         = int.Parse(node.Attributes["id"].InnerText, CultureInfo.InvariantCulture);
            AtomicDateTime?started       = null;
            var            startedSynced = false;
            AtomicDateTime?ended         = null;
            var            endedSynced   = false;

            if (node.HasAttribute("started"))
            {
                var startedTime = DateTime.Parse(node.Attributes["started"].InnerText, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);
                if (node.HasAttribute("isStartedSynced"))
                {
                    startedSynced = bool.Parse(node.Attributes["isStartedSynced"].InnerText);
                }
                started = new AtomicDateTime(startedTime, startedSynced);
            }

            if (node.HasAttribute("ended"))
            {
                var endedTime = DateTime.Parse(node.Attributes["ended"].InnerText, CultureInfo.InvariantCulture, DateTimeStyles.AssumeUniversal);
                if (node.HasAttribute("isEndedSynced"))
                {
                    endedSynced = bool.Parse(node.Attributes["isEndedSynced"].InnerText);
                }
                ended = new AtomicDateTime(endedTime, endedSynced);
            }

            TimeSpan?pauseTime = null;

            if (node.GetElementsByTagName("PauseTime").Count > 0)
            {
                TimeSpan x;
                if (TimeSpan.TryParse(node["PauseTime"].InnerText, out x))
                {
                    pauseTime = x;
                }
            }

            return(new Attempt(index, newTime, started, ended, pauseTime));
        }