Пример #1
0
 public void RequestResourceCDC(LoadRequestCDC loadRequest)
 {
     if (_loadRequestsCDC.Find(x => x.DataFile == loadRequest.DataFile) == null)
     {
         _loadRequestsCDC.Add(loadRequest);
     }
 }
Пример #2
0
        public void LoadResourceCDC(LoadRequestCDC loadRequest)
        {
            SceneCDC.progressLevel  = 0;
            SceneCDC.progressLevels = 1;
            SceneCDC.ProgressStage  = "Reading Data";

            SRFile srFile = SRFile.Create(loadRequest.DataFile, loadRequest.ObjectListFile, loadRequest.GameType, loadRequest.ExportOptions, loadRequest.ChildIndex);

            if (srFile == null)
            {
                SceneCDC.progressLevel = 1;
                SceneCDC.ProgressStage = "Done";
            }

            RenderResourceCDC renderResource;

            if (Resources.ContainsKey(srFile.Name))
            {
                renderResource = (RenderResourceCDC)Resources[srFile.Name];
                Resources.Remove(srFile.Name);
                CurrentObject?.UpdateModels();
                CurrentScene?.UpdateModels();
                renderResource.Dispose();
            }

            renderResource = new RenderResourceCDC(srFile);
            renderResource.LoadModels(loadRequest.ExportOptions);

            SceneCDC.progressLevel = 1;

            renderResource.LoadTextures(loadRequest.TextureFile, loadRequest.ExportOptions);

            Resources.Add(renderResource.Name, renderResource);

            CurrentObject?.UpdateModels();
            CurrentScene?.UpdateModels();

            SceneCDC.progressLevel = SceneCDC.progressLevels;
            SceneCDC.ProgressStage = "Done";

            loadRequest.ResourceName = srFile.Name;
        }