Example #1
0
 private GameStructure()
 {
     GameCollection.Parameters pars = new GameCollection.Parameters()
     {
         RequestAssemblyCallback = OnRequestAssembly,
         RequestResourceCallback = OnRequestResource,
     };
     FileCollection = new GameCollection(pars);
 }
        private void Load(List <string> pathes, LayoutInfo layinfo)
        {
            if (CheckPC(pathes))
            {
            }
            else if (CheckLinux(pathes))
            {
            }
            else if (CheckMac(pathes))
            {
            }
            else if (CheckAndroid(pathes))
            {
            }
            else if (CheckiOS(pathes))
            {
            }
            else if (CheckSwitch(pathes))
            {
            }
            else if (CheckWebGL(pathes))
            {
            }
            else if (CheckWebPlayer(pathes))
            {
            }
            CheckMixed(pathes);

            using (GameStructureProcessor processor = new GameStructureProcessor())
            {
                if (PlatformStructure != null)
                {
                    ProcessPlatformStructure(processor, PlatformStructure);
                }
                if (MixedStructure != null)
                {
                    ProcessPlatformStructure(processor, MixedStructure);
                }
                processor.AddDependencySchemes(RequestDependency);

                if (processor.IsValid)
                {
                    layinfo = layinfo ?? processor.GetLayoutInfo();
                    AssetLayout layout             = new AssetLayout(layinfo);
                    GameCollection.Parameters pars = new GameCollection.Parameters(layout);
                    pars.ScriptBackend           = GetScriptingBackend();
                    pars.RequestAssemblyCallback = OnRequestAssembly;
                    pars.RequestResourceCallback = OnRequestResource;
                    FileCollection = new GameCollection(pars);
                    processor.ProcessSchemes(FileCollection);
                }
            }
        }