Esempio n. 1
0
        public bool ReadCamera(Location location)
        {
            if (_root == null)
            {
                return(false);
            }

            XmlElement node = _root["FieldCameras"];

            if (node == null)
            {
                return(false);
            }

            if (!node.GetBoolean("IsExists"))
            {
                return(true);
            }

            FieldCameras fieldCameras = new FieldCameras(node.ChildNodes.Count);

            foreach (XmlElement child in node.ChildNodes)
            {
                fieldCameras.Add(ReadFieldCamera(child));
            }
            location.FieldCameras = fieldCameras;

            location.SaveRequest &= ~LocationProperty.FieldCamera;
            location.Importable  |= LocationProperty.FieldCamera;
            return(true);
        }
Esempio n. 2
0
        public bool ReadCamera(Location location)
        {
            ArchiveFileEntry caEntry = (ArchiveFileEntry)_locationDirectory.Childs.TryGetValue(_name + ".ca");

            if (caEntry == null)
            {
                return(true);
            }

            using (CaFileReader caReader = new CaFileReader(caEntry.OpenReadableContentStream()))
            {
                FieldCameras cameras = new FieldCameras(caReader.Rects.Length);
                foreach (CaCamera rect in caReader.Rects)
                {
                    FieldCamera camera = new FieldCamera
                    {
                        XAxis    = rect.XAxis,
                        YAxis    = rect.YAxis,
                        ZAxis    = rect.ZAxis,
                        Position = rect.Position,
                        Zoom     = rect.Zoom
                    };
                    cameras.Add(camera);
                }
                location.FieldCameras = cameras;
            }

            location.SaveRequest &= ~LocationProperty.FieldCamera;
            location.Importable  &= ~LocationProperty.FieldCamera;
            return(true);
        }