Example #1
0
        public static Map Parse(WZProperty mapEntry, Map result)
        {
            if (mapEntry == null)
            {
                return(null);
            }
            WZProperty mapInfo = mapEntry.Resolve("info");

            Task loadLadders = Task.Run(() =>
            {
                List <LadderRope> ladderRopes = new List <LadderRope>();
                foreach (WZProperty entry in mapEntry.Resolve("ladderRope").Children)
                {
                    ladderRopes.Add(LadderRope.Parse(entry));
                }
                result.LadderRopes = ladderRopes;
            });

            ParseInfo(result, mapEntry, mapInfo);
            ParseFootholds(result, mapEntry);
            ParseLife(result, mapEntry);
            Task.WaitAll(loadLadders);

            return(result);
        }
Example #2
0
        public static LadderRope Parse(WZProperty entry)
        {
            LadderRope result = new LadderRope();

            foreach (WZProperty prop in entry.Children)
            {
                if (prop.Name == "x")
                {
                    result.x = prop.ResolveFor <int>() ?? 0;
                }
                if (prop.Name == "y1")
                {
                    result.y1 = prop.ResolveFor <int>() ?? 0;
                }
                if (prop.Name == "y2")
                {
                    result.y2 = prop.ResolveFor <int>() ?? 0;
                }
                if (prop.Name == "l")
                {
                    result.IsLadder = prop.ResolveFor <bool>() ?? false;
                }
            }

            return(result);
        }