Пример #1
0
        public WelcomeController()
        {
            var rootStorage = RootStorage.getInstance();

            _game      = rootStorage.Game;
            _rootScene = rootStorage.RootScene;
        }
        internal MemoryStream GetEmfMemoryStream(Sheet sheet)
        {
            HRESULT      hr            = HRESULT.E_FAIL;
            IStorage     viewerStorage = null;
            IStream      emzStream     = null;
            MemoryStream memoryStream  = null;

            try
            {
                Marshal.ThrowExceptionForHR(hr = RootStorage.OpenStorage(StorageName.JDraftViewerInfo, out viewerStorage));
                Marshal.ThrowExceptionForHR(hr = viewerStorage.OpenStream(sheet.StreamName, out emzStream));
                memoryStream = emzStream.DecompressZlib();
            }
            catch
            {
            }
            finally
            {
                if (emzStream != null)
                {
                    emzStream.FinalRelease();
                }
                if (viewerStorage != null)
                {
                    viewerStorage.FinalRelease();
                }
            }

            return(memoryStream);
        }
Пример #3
0
        public RootController(Game game, RenderStatesNode rootSceneNode)
        {
            var rootStorage = RootStorage.getInstance();

            rootStorage.Game      = game;
            rootStorage.RootScene = rootSceneNode;
        }
Пример #4
0
        public LobbyController()
        {
            var rootStorage = RootStorage.getInstance();

            _game      = rootStorage.Game;
            _rootScene = rootStorage.RootScene;
            _userData  = UserStorage.getInstance().UserName;
        }
        protected virtual void LoadBuildVersions()
        {
            BUILDVERSIONS buildVersions = default(BUILDVERSIONS);

            if (NativeMethods.Succeeded(RootStorage.ReadStructure <BUILDVERSIONS>(StreamName.BuildVersions, out buildVersions)))
            {
                _createdVersion   = buildVersions.CreatedVersion.ToVersion();
                _lastSavedVersion = buildVersions.LastSavedVersion.ToVersion();
            }
        }
        private void LoadSheets()
        {
            List <Sheet> list         = new List <Sheet>();
            MemoryStream memoryStream = null;

            try
            {
                memoryStream = RootStorage.StreamToMemoryStream(StreamName.JDraftDocumentInfo, StorageName.JDraftViewerInfo);

                _documentInfo = memoryStream.ReadStructure <DRAFTDOCUMENTINFO>();

                for (int i = 0; i < _documentInfo.NumberOfSheets; i++)
                {
                    int    sheetNameLength;
                    string name;

                    sheetNameLength  = memoryStream.ReadInt32();
                    sheetNameLength *= 2;

                    name = memoryStream.ReadString(Encoding.Unicode, sheetNameLength, true);

                    SHEETINFO sheetInfo = memoryStream.ReadStructure <SHEETINFO>();

                    list.Add(new Sheet(this, i + 1, name, _documentInfo.Units, sheetInfo));
                }
            }
            catch
            {
                // Swallow exception.
#if DEBUG
                System.Diagnostics.Debugger.Break();
#endif
            }
            finally
            {
                if (memoryStream != null)
                {
                    memoryStream.Close();
                }
            }

            _sheets = list.ToArray();
        }
        private void LoadZones()
        {
            HRESULT     hr      = HRESULT.S_OK;
            List <Zone> list    = new List <Zone>();
            IStorage    storage = null;

            try
            {
                if (NativeMethods.Succeeded(hr = RootStorage.OpenStorage(StorageName.Zones, out storage)))
                {
                    System.Runtime.InteropServices.ComTypes.STATSTG[] elements;
                    if (NativeMethods.Succeeded(hr = storage.EnumElements(out elements)))
                    {
                        foreach (System.Runtime.InteropServices.ComTypes.STATSTG element in elements)
                        {
                            if ((STGTY)element.type == STGTY.STREAM)
                            {
                                list.Add(new Zone(element.pwcsName));
                            }
                        }
                    }
                }
            }
            catch
            {
            }
            finally
            {
                if (storage != null)
                {
                    storage.FinalRelease();
                }
            }

            _zones = list.ToArray();
        }