Ejemplo n.º 1
0
        public SaveItemXmlWrapper ToXmlWrapper(ISaveItem param)
        {
            SaveItemXmlWrapper pxw = new SaveItemXmlWrapper();

            if (param.Layer != null)
            {
                pxw.X = param.Layer.Resolution.X;
                pxw.Y = param.Layer.Resolution.Y;
                var arr = new float[pxw.X * pxw.Y];
                for (int y = 0; y < pxw.Y; y++)
                {
                    for (int x = 0; x < pxw.X; x++)
                    {
                        var val = param.Layer[x, y];
                        if (!val.HasValue)
                        {
                            arr[pxw.X * y + x] = nullRepr;
                        }
                        else
                        {
                            arr[pxw.X * y + x] = val.Value;
                        }
                    }
                }

                //  pxw.LayerData = arr; ;
            }

            pxw.World = wc.ToXmlWrapper(param.World);

            return(pxw);
        }
Ejemplo n.º 2
0
        public ISaveItem ToObject(SaveItemXmlWrapper wrapper)
        {
            SaveItem p = new SaveItem();

            //if (wrapper.LayerData != null && wrapper.LayerData.Length != 0)
            //{

            //    Layer2DObject l = new Layer2DObject(wrapper.X, wrapper.Y);
            //    for (int i = 0; i < wrapper.LayerData.Length; i++)
            //    {
            //        var x = i % wrapper.X;
            //        var y = i / wrapper.X;

            //        var cur = wrapper.LayerData[i];
            //        if (cur == nullRepr)
            //            l[x, y] = null;
            //        else
            //            l[x, y] = cur;
            //    }
            //    p.Layer = l;
            //}

            p.World = wc.ToObject(wrapper.World);

            return(p);
        }