Inheritance: EditorWindow
示例#1
0
    static void Init()
    {
        ResourceChecker window = (ResourceChecker)EditorWindow.GetWindow(typeof(ResourceChecker));

        window.CheckResources();
        window.minSize = new Vector2(MinWidth, 300);
    }
示例#2
0
        public void SetResourceMode(ResourceMode mode)
        {
            if (m_ResourceMode == m_ResourceMode.Unspecified)
            {
                m_ResourceMode = m_ResourceMode;

                if (m_ResourceMode == ResourceMode.Package)
                {
                    m_ResourceIniter = new ResourceIniter(this);
                    m_ResourceIniter.ResourceInitComplete += OnInitResourceInitComplete;
                }
                else if (m_ResourceMode == ResourceMode.Updatable)
                {
                    m_VersionListProcessor = new VersionListProcessor(this);
                    m_VersionListProcessor.VersionListUpdateSuccess += OnVersionListProcessorUpdateSuccess;

                    m_ResourceChecker = new ResourceChecker(this);
                    m_ResourceChecker.ResourceNeedUpdate += OnCheckerResourceNeedUpdate;
                    m_ResourceChecker.ResourceCheckComplete += OnCheckResourceCheckComplete;

                    m_ResourceUpdater = new ResourceUpdater(this);
                    m_ResourceUpdater.ResourceUpdateStart += OnUpdateResourceUpdateStart;
                    m_ResourceUpdater.ResourceUpdateSuccess += OnUpdateResourceUpdateSuccess;
                }
            }
        }
示例#3
0
        private void OnCheckerResourceCheckComplete(int removedCount, int updateCount, int updateTotalLength, int updateTotalZipLength)
        {
            m_VersionListProcessor.VersionListUpdateSuccess -= OnVersionListProcessorUpdateSuccess;
            m_VersionListProcessor.VersionListUpdateFailure -= OnVersionListProcessorUpdateFailure;
            m_VersionListProcessor.Shutdown();
            m_VersionListProcessor = null;

            m_ResourceChecker.ResourceNeedUpdate    -= OnCheckerResourceNeedUpdate;
            m_ResourceChecker.ResourceCheckComplete -= OnCheckerResourceCheckComplete;
            m_ResourceChecker.Shutdown();
            m_ResourceChecker = null;

            m_ResourceUpdater.CheckResourceComplete(removedCount > 0);

            if (updateCount <= 0)
            {
                m_ResourceUpdater.ResourceUpdateStart       -= OnUpdaterResourceUpdateStart;
                m_ResourceUpdater.ResourceUpdateChanged     -= OnUpdaterResourceUpdateChanged;
                m_ResourceUpdater.ResourceUpdateSuccess     -= OnUpdaterResourceUpdateSuccess;
                m_ResourceUpdater.ResourceUpdateFailure     -= OnUpdaterResourceUpdateFailure;
                m_ResourceUpdater.ResourceUpdateAllComplete -= OnUpdaterResourceUpdateAllComplete;
                m_ResourceUpdater.Shutdown();
                m_ResourceUpdater = null;
            }

            if (m_ResourceCheckCompleteEventHandler != null)
            {
                m_ResourceCheckCompleteEventHandler(this, new ResourceCheckCompleteEventArgs(removedCount, updateCount, updateTotalLength, updateTotalZipLength));
            }
        }
        /// <summary>
        /// 初始化资源管理器的新实例。
        /// </summary>
        public ResourceManager()
        {
            m_AssetInfos             = new Dictionary <string, AssetInfo>();
            m_AssetDependencyInfos   = new Dictionary <string, AssetDependencyInfo>();
            m_ResourceInfos          = new Dictionary <ResourceName, ResourceInfo>();
            m_ResourceGroups         = new Dictionary <string, ResourceGroup>();
            m_ReadWriteResourceInfos = new SortedDictionary <ResourceName, ReadWriteResourceInfo>();

            m_ResourceIniter       = null;
            m_VersionListProcessor = null;
            m_ResourceChecker      = null;
            m_ResourceUpdater      = null;
            m_ResourceLoader       = new ResourceLoader(this);

            m_ResourceHelper          = null;
            m_ReadOnlyPath            = null;
            m_ReadWritePath           = null;
            m_ResourceMode            = ResourceMode.Unspecified;
            m_RefuseSetCurrentVariant = false;
            m_CurrentVariant          = null;
            m_UpdatePrefixUri         = null;
            m_ApplicableGameVersion   = null;
            m_InternalResourceVersion = 0;
            m_DecryptResourceCallback = null;

            m_ResourceInitCompleteEventHandler      = null;
            m_VersionListUpdateSuccessEventHandler  = null;
            m_VersionListUpdateFailureEventHandler  = null;
            m_ResourceCheckCompleteEventHandler     = null;
            m_ResourceUpdateStartEventHandler       = null;
            m_ResourceUpdateChangedEventHandler     = null;
            m_ResourceUpdateSuccessEventHandler     = null;
            m_ResourceUpdateFailureEventHandler     = null;
            m_ResourceUpdateAllCompleteEventHandler = null;
        }
示例#5
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddStandardImplementation();

            Assembly controllerAssembly = Assembly.Load(ControllerAssemblyName);

            services.AddCors();
            services.AddMvc()
            .AddApplicationPart(controllerAssembly)
            .AddControllersAsServices()
            .AddNewtonsoftJson(options => options.GetDefaultMvcJsonOptions(services));

            services.AddRazorPages(options =>
            {
                string pageName = ServerSettings.ServerConfig?.DefaultRoute ?? "/Index";
                options.Conventions.AddPageRoute(pageName, "");
            });

            //Check whether Submodel Service Provider exists and bind it to the Submodel-Services-Controller
            services.AddTransient(ctx =>
            {
                ISubmodelServiceProvider submodelServiceProvider = ctx
                                                                   .GetRequiredService <ISubmodelRepositoryServiceProvider>()
                                                                   .GetSubmodelServiceProvider(submodelId);

                return(new SubmodelServices(submodelServiceProvider));
            });

            // Register the Swagger generator, defining one or more Swagger documents
            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo
                {
                    Version     = "v1",
                    Title       = "BaSyx Submodel Repository HTTP REST-API",
                    Description = "The full description of the generic BaSyx Submodel Repository HTTP REST-API",
                    Contact     = new OpenApiContact {
                        Name = "Constantin Ziesche", Email = "*****@*****.**", Url = new Uri("https://www.bosch.com/de/")
                    },
                    License = new OpenApiLicense {
                        Name = "EPL-2.0", Url = new Uri("https://www.eclipse.org/legal/epl-2.0/")
                    }
                });

                // Set the comments path for the Swagger JSON and UI.
                var xmlFile = $"{controllerAssembly.GetName().Name}.xml";
                var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
                if (ResourceChecker.CheckResourceAvailability(controllerAssembly, ControllerAssemblyName, xmlFile, true))
                {
                    c.IncludeXmlComments(xmlPath);
                }
            });
            services.AddSwaggerGenNewtonsoftSupport();
        }
示例#6
0
 public void CheckTest2()
 {
     var checker = new ResourceChecker(new ResourceFileReaderFactory(), new SpecDocMetaInfoRepository());
     var results = checker.Check(new List <CheckTarget>()
     {
         new CheckTarget()
         {
             SpecName = "abc", SheetName = "sheet", CheckRows = new List <int> {
                 2, 3
             }
         }
     }
                                 );
     //Assert.Fail();
 }
示例#7
0
        /// <summary>
        /// 关闭并清理资源管理器。
        /// </summary>
        internal override void Shutdown()
        {
            if (m_ResourceIniter != null)
            {
                m_ResourceIniter.Shutdown();
                m_ResourceIniter = null;
            }

            if (m_VersionListProcessor != null)
            {
                m_VersionListProcessor.VersionListUpdateSuccess -= OnVersionListProcessorUpdateSuccess;
                m_VersionListProcessor.VersionListUpdateFailure -= OnVersionListProcessorUpdateFailure;
                m_VersionListProcessor.Shutdown();
                m_VersionListProcessor = null;
            }

            if (m_ResourceChecker != null)
            {
                m_ResourceChecker.ResourceNeedUpdate    -= OnCheckerResourceNeedUpdate;
                m_ResourceChecker.ResourceCheckComplete -= OnCheckerResourceCheckComplete;
                m_ResourceChecker.Shutdown();
                m_ResourceChecker = null;
            }

            if (m_ResourceUpdater != null)
            {
                m_ResourceUpdater.ResourceUpdateStart       -= OnUpdaterResourceUpdateStart;
                m_ResourceUpdater.ResourceUpdateChanged     -= OnUpdaterResourceUpdateChanged;
                m_ResourceUpdater.ResourceUpdateSuccess     -= OnUpdaterResourceUpdateSuccess;
                m_ResourceUpdater.ResourceUpdateFailure     -= OnUpdaterResourceUpdateFailure;
                m_ResourceUpdater.ResourceUpdateAllComplete -= OnUpdaterResourceUpdateAllComplete;
                m_ResourceUpdater.Shutdown();
                m_ResourceUpdater = null;
            }

            if (m_ResourceLoader != null)
            {
                m_ResourceLoader.Shutdown();
                m_ResourceLoader = null;
            }

            m_AssetInfos.Clear();
            m_AssetDependencyInfos.Clear();
            m_ResourceInfos.Clear();
            m_ResourceGroups.Clear();
            m_ReadWriteResourceInfos.Clear();
        }
示例#8
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddStandardImplementation();

            Assembly controllerAssembly = Assembly.Load(ControllerAssemblyName);

            services.AddCors();
            services.AddMvc()
            .AddApplicationPart(controllerAssembly)
            .AddControllersAsServices()
            .AddNewtonsoftJson(options => options.GetDefaultMvcJsonOptions(services));
            services.AddRazorPages(options =>
            {
                string pageName = ServerSettings.ServerConfig?.DefaultRoute ?? "/Index";
                options.Conventions.AddPageRoute(pageName, "");
            });


            services.AddSwaggerGen(c =>
            {
                c.SwaggerDoc("v1", new OpenApiInfo()
                {
                    Version     = "v1",
                    Title       = "BaSyx Registry HTTP REST-API",
                    Description = "The full description of the BaSyx Registry HTTP REST-API",
                    Contact     = new OpenApiContact {
                        Name = "Constantin Ziesche", Email = "*****@*****.**", Url = new Uri("https://www.bosch.com/de/")
                    },
                    License = new OpenApiLicense {
                        Name = "EPL-2.0", Url = new Uri("https://www.eclipse.org/legal/epl-2.0/")
                    }
                });

                var xmlFile = $"{controllerAssembly.GetName().Name}.xml";
                var xmlPath = Path.Combine(AppContext.BaseDirectory, xmlFile);
                if (ResourceChecker.CheckResourceAvailability(controllerAssembly, ControllerAssemblyName, xmlFile, true))
                {
                    c.IncludeXmlComments(xmlPath);
                }
            });
            services.AddSwaggerGenNewtonsoftSupport();
        }
示例#9
0
        /// <summary>
        /// 设置资源模式。
        /// </summary>
        /// <param name="resourceMode">资源模式。</param>
        public void SetResourceMode(ResourceMode resourceMode)
        {
            if (resourceMode == ResourceMode.Unspecified)
            {
                throw new AshException("Resource mode is invalid.");
            }

            if (m_ResourceMode == ResourceMode.Unspecified)
            {
                m_ResourceMode = resourceMode;

                if (m_ResourceMode == ResourceMode.Package)
                {
                    m_ResourceIniter = new ResourceIniter(this);
                    m_ResourceIniter.ResourceInitComplete += OnIniterResourceInitComplete;
                }
                else if (m_ResourceMode == ResourceMode.Updatable)
                {
                    m_VersionListProcessor = new VersionListProcessor(this);
                    m_VersionListProcessor.VersionListUpdateSuccess += OnVersionListProcessorUpdateSuccess;
                    m_VersionListProcessor.VersionListUpdateFailure += OnVersionListProcessorUpdateFailure;

                    m_ResourceChecker = new ResourceChecker(this);
                    m_ResourceChecker.ResourceNeedUpdate    += OnCheckerResourceNeedUpdate;
                    m_ResourceChecker.ResourceCheckComplete += OnCheckerResourceCheckComplete;

                    m_ResourceUpdater = new ResourceUpdater(this);
                    m_ResourceUpdater.ResourceUpdateStart       += OnUpdaterResourceUpdateStart;
                    m_ResourceUpdater.ResourceUpdateChanged     += OnUpdaterResourceUpdateChanged;
                    m_ResourceUpdater.ResourceUpdateSuccess     += OnUpdaterResourceUpdateSuccess;
                    m_ResourceUpdater.ResourceUpdateFailure     += OnUpdaterResourceUpdateFailure;
                    m_ResourceUpdater.ResourceUpdateAllComplete += OnUpdaterResourceUpdateAllComplete;
                }
            }
            else if (m_ResourceMode != resourceMode)
            {
                throw new AshException("You can not change resource mode at this time.");
            }
        }
        public MainWindowViewModel(Action <List <CheckResult> > showResult, Action <string> showMessage)
        {
            try
            {
                var repo            = new SpecDocMetaInfoRepository();
                var rcReaderFactory = new ResourceFileReaderFactory();
                var checker         = new ResourceChecker(rcReaderFactory, repo);
                SpecDocments = repo.GetSpecList();
                CheckTargets = new ObservableCollection <CheckTargetViewModel>();
                CheckTargets.Add(new CheckTargetViewModel());

                Check = new DelegateCommand(
                    () =>
                {
                    try
                    {
                        var targets = CheckTargets.Select(
                            x => new CheckTarget()
                        {
                            SpecName  = x.SpecName,
                            SheetName = x.SheetName,
                            CheckRows = x.CheckRows.Split(new char[] { ',' }).Select(n => int.Parse(n.Trim())).ToList(),
                        }
                            ).ToList();
                        var result = checker.Check(targets);
                        showResult(result);
                    }catch (Exception ex)
                    {
                        showMessage("エラー:\n" + ex.Message);
                    }
                }
                    );
            }
            catch (Exception ex)
            {
                showMessage("エラー:\n" + ex.Message);
            }
        }
示例#11
0
        /// <summary>
        /// 关闭并清理资源管理器。
        /// </summary>
        internal override void Shutdown()
        {
            if (m_ResourceIniter != null)
            {
                m_ResourceIniter.Shutdown();
                m_ResourceIniter = null;
            }

            if (m_VersionListProcessor != null)
            {
                m_VersionListProcessor.VersionListUpdateSuccess -= OnVersionListProcessorUpdateSuccess;
                m_VersionListProcessor.VersionListUpdateFailure -= OnVersionListProcessorUpdateFailure;
                m_VersionListProcessor.Shutdown();
                m_VersionListProcessor = null;
            }

            if (m_ResourceChecker != null)
            {
                m_ResourceChecker.ResourceNeedUpdate    -= OnCheckerResourceNeedUpdate;
                m_ResourceChecker.ResourceCheckComplete -= OnCheckerResourceCheckComplete;
                m_ResourceChecker.Shutdown();
                m_ResourceChecker = null;
            }

            if (m_ResourceUpdater != null)
            {
                m_ResourceUpdater.ResourceUpdateStart       -= OnUpdaterResourceUpdateStart;
                m_ResourceUpdater.ResourceUpdateChanged     -= OnUpdaterResourceUpdateChanged;
                m_ResourceUpdater.ResourceUpdateSuccess     -= OnUpdaterResourceUpdateSuccess;
                m_ResourceUpdater.ResourceUpdateFailure     -= OnUpdaterResourceUpdateFailure;
                m_ResourceUpdater.ResourceUpdateAllComplete -= OnUpdaterResourceUpdateAllComplete;
                m_ResourceUpdater.Shutdown();
                m_ResourceUpdater = null;
                m_UpdateFileCache = null;
                if (m_DecompressCache != null)
                {
                    m_DecompressCache.Dispose();
                    m_DecompressCache = null;
                }
            }

            if (m_ResourceLoader != null)
            {
                m_ResourceLoader.Shutdown();
                m_ResourceLoader = null;
            }

            if (m_AssetInfos != null)
            {
                m_AssetInfos.Clear();
                m_AssetInfos = null;
            }

            if (m_ResourceInfos != null)
            {
                m_ResourceInfos.Clear();
                m_ResourceInfos = null;
            }

            m_ReadWriteResourceInfos.Clear();
        }
示例#12
0
 public void SetResourceChecker(ResourceChecker rc)
 {
     resCheckerRef = rc;
 }