Esempio n. 1
0
        public void Load(IFileLoadInfo loadInfo)
        {
            var ppApp          = new Application();
            var ppPresentation = ppApp.Presentations.Open(loadInfo.FilePath, MsoTriState.msoTrue, MsoTriState.msoTrue, MsoTriState.msoFalse);
            var context        = InitConversionContext(loadInfo, ppPresentation);

            foreach (Slide slide in ppPresentation.Slides)
            {
                LoadSlideNode(context, slide);
            }
            var sceneRoot  = context.World.Scenes.First().Root;
            var cStoryRoot = sceneRoot.GetComponent <StoryServiceRootComponent>();

            foreach (var nodePair in context.SlideNodes.SequentialPairs())
            {
                cStoryRoot.Edges.Add(Tuples.SameTypePair(nodePair.First.Id, nodePair.Second.Id));
            }
            var cStory = sceneRoot.GetComponent <IStoryComponent>();

            cStory.ShowAux1 = false;
            cStory.ShowAux2 = false;
            loadInfo.OnLoadedWorld(context.World);
            ppPresentation.Close();
        }
Esempio n. 2
0
 public void Load(IFileLoadInfo loadInfo)
 {
     using (var archive = new ZipArchive(loadInfo.FileSystem.OpenRead(loadInfo.FilePath), ZipArchiveMode.Read, false, Encoding.UTF8))
     {
         var metadata           = LoadMetadata(archive);
         var typeAliases        = LoadTypeAliases(archive, metadata);
         var assets             = LoadAssets(archive, metadata, typeAliases, loadInfo);
         var generatedResources = LoadGeneratedResources(archive, metadata, typeAliases);
         if (metadata.IncludesReadOnlyWorld && (loadInfo.PreferReadOnly || !metadata.IncludesEditingWorld))
         {
             var world = LoadWorld(archive, "readOnlyWorld.json", metadata, typeAliases, assets, generatedResources);
             loadInfo.OnLoadedReadOnlyWorld(world);
         }
         else if (metadata.IncludesEditingWorld)
         {
             var world = LoadWorld(archive, "world.json", metadata, typeAliases, assets, generatedResources);
             loadInfo.OnLoadedWorld(world);
         }
         else
         {
             loadInfo.OnLoadedNoWorld();
         }
     }
 }