public BaseToolTask() : base(ResourceManagerFactory.CreateResourceManager())
 {
     m_switchOrderList          = new ArrayList();
     MinimalRebuildFromTracking = true;
     TrackFileAccess            = true;
     ToolArchitecture           = "Native64Bit";
 }
Beispiel #2
0
        /// <summary>
        /// 初始化状态机
        /// </summary>
        private void InitStateMachine()
        {
            // 初始化状态列表
            this.stateList = new List <AbstractState>();
            this.Animator  = GetComponentInChildren <Animator>();
            // 根据编译器配置的枚举类型名称反射得到枚举的类型
            stateEnumType   = Type.GetType(scriptsPackageName + ".StateID");
            triggerEnumType = Type.GetType(scriptsPackageName + ".TriggerID");
            // 获取配置信息
            Dictionary <string, Dictionary <string, string> > configMapper =
                ResourceManagerFactory.GetConfigMapper(configFilename);

            foreach (var config in configMapper)
            {
                // 将字符串转换为枚举
                object stateID = Enum.Parse(stateEnumType, config.Key);
                // 创建状态对象
                AbstractState state = this.CreateState((Enum)stateID);
                foreach (var mapper in config.Value)
                {
                    // 将包名传递
                    state.ScriptsPackageName = this.scriptsPackageName;
                    // 给状态对象添加 {条件: 状态} 映射
                    state.AddTransition((Enum)Enum.Parse(triggerEnumType, mapper.Key),
                                        (Enum)Enum.Parse(stateEnumType, mapper.Value));
                }

                // 将状态加入状态机
                this.stateList.Add(state);
            }
        }
Beispiel #3
0
        public void StreamToBlobs()
        {
            XElement definition = new XElement("Resources",
                                               BuildFileElement(id: "NonZeroByteExcel_Main_V1", name: "ChunkIds.txt", filePath: "Microsoft.Office.WopiValidator.Core.Resources.ZipChunking.NonZeroByteExcel.Version1.MainContent.")
                                               );

            IResourceManager resourceManager = new ResourceManagerFactory().GetResourceManager(definition);

            new ZipChunkProcessor().StreamToBlobs(resourceManager, "NonZeroByteExcel_Main_V1", out string[] blobIds, out IReadOnlyDictionary <string, IBlob> blobs);

            Assert.AreEqual(21, blobIds.Length);
            Assert.AreEqual(21, blobs.Count);
        }
Beispiel #4
0
        public void SingleEmptyFileElement()
        {
            XElement definition = new XElement("Resources",
                                               BuildFileElement(id: "ZeroByteFile", name: "ZeroByteFile.wopitest", filePath: "ZeroByteFile.wopitest")
                                               );

            IResourceManager resourceManager = new ResourceManagerFactory().GetResourceManager(definition);
            SpookyHash       spookyHash      = new SpookyHash();

            using (MemoryStream ms = new MemoryStream())
                using (StreamWriter sw = new StreamWriter(ms))
                {
                    sw.Write(String.Empty);
                    sw.Flush();
                    Assert.AreEqual(resourceManager.GetFileName("ZeroByteFile"), "ZeroByteFile.wopitest");
                    Assert.AreEqual(spookyHash.CalculateHash(resourceManager.GetContentStream("ZeroByteFile")), spookyHash.CalculateHash(ms));
                }
        }
Beispiel #5
0
        public void SingleNonEmptyFileElement()
        {
            XElement definition = new XElement("Resources",
                                               BuildFileElement(id: "WordBlankDocument", name: "WordBlankDocument.docx", filePath: "WordBlankDocument.docx")
                                               );

            IResourceManager resourceManager = new ResourceManagerFactory().GetResourceManager(definition);
            SpookyHash       spookyHash      = new SpookyHash();

            using (MemoryStream ms = new MemoryStream())
                using (StreamWriter sw = new StreamWriter(ms))
                {
                    sw.Write("WordBlankDocument" + "WordBlankDocument.docx" + "WordBlankDocument.docx");
                    sw.Flush();
                    Assert.AreEqual(resourceManager.GetFileName("WordBlankDocument"), "WordBlankDocument.docx");
                    Assert.AreEqual(spookyHash.CalculateHash(resourceManager.GetContentStream("WordBlankDocument")), spookyHash.CalculateHash(ms));
                }
        }
Beispiel #6
0
        public Chess()
        {
            Content.RootDirectory = "Content";

            new GraphicsDeviceManager(this);

            m_inputManager = InputManagerFactory.GetInputManager(this);
            Components.Add(m_inputManager);

            m_audioManager = AudioManagerFactory.GetAudioManager(this);
            Components.Add(m_audioManager);

            m_resourceManager = ResourceManagerFactory.GetResourceManager(this);
            Components.Add(m_resourceManager);

            m_graphicsManager = GraphicsManagerFactory.GetGraphicsManager(this);
            Components.Add(m_graphicsManager);

            m_gameStateManager = GameStateManagerFactory.GetGameStateManager(this);
            Components.Add(m_gameStateManager);
        }