コード例 #1
0
        public IEngineModule Create(Type enginemoduletype, IModuleStorage modulestorage, IContextDataReader contextdatareader)
        {
            EEngineModuleType engineModuleType;

            if (moduletypes.TryGetValue(enginemoduletype, out engineModuleType))
            {
                switch (engineModuleType)
                {
                case EEngineModuleType.ConfigurationPersistenceModule:
                    return(new ReaderFacadeOfConfigurationPersistence(new RfcpLocalContextProvider(modulestorage, contextdatareader)));

                case EEngineModuleType.ConfigurationHandlerModule:
                    return(new MainFacadeOfConfigurationHandler(new MfchLocalContextProvider(modulestorage, contextdatareader)));

                case EEngineModuleType.LoadModelInstanceManagerModule:
                    return(new LoadFacadeOfModelInstanceManager(new LfmimLocalContextProvider(modulestorage, contextdatareader)));

                case EEngineModuleType.MainModelIntstanceManagerModule:
                    return(new MainFacadeOfModelInstanceManager(new MfmimLocalContextProvider(modulestorage, contextdatareader)));

                default:
                    return(null);
                }
            }
            return(null);
        }
コード例 #2
0
        /// <summary>
        /// コンストラクタ
        /// </summary>
        /// <param name="ware">ウェア情報</param>
        /// <param name="macro">マクロ名</param>
        /// <param name="moduleType">モジュール種別</param>
        /// <param name="maxWorkers">従業員数</param>
        /// <param name="workersCapacity">最大収容人数</param>
        /// <param name="noBluePrint">設計図が無いか</param>
        /// <param name="products">モジュールの製品</param>
        /// <param name="storage">保管庫情報</param>
        /// <param name="equipments">装備一覧</param>
        public Module(
            IWare ware,
            string macro,
            IModuleType moduleType,
            long maxWorkers,
            long workersCapacity,
            bool noBluePrint,
            IReadOnlyList <IModuleProduct> products,
            IModuleStorage storage,
            IReadOnlyDictionary <string, IWareEquipment> equipments
            )
        {
            ID            = ware.ID;
            Name          = ware.Name;
            WareGroup     = ware.WareGroup;
            TransportType = ware.TransportType;
            Description   = ware.Description;
            Volume        = ware.Volume;
            MinPrice      = ware.MinPrice;
            AvgPrice      = ware.AvgPrice;
            MaxPrice      = ware.MaxPrice;
            Owners        = ware.Owners;
            Productions   = ware.Productions;
            Resources     = ware.Resources;
            Tags          = ware.Tags;
            WareEffects   = ware.WareEffects;

            MacroName       = macro;
            ModuleType      = moduleType;
            MaxWorkers      = maxWorkers;
            WorkersCapacity = workersCapacity;
            NoBluePrint     = noBluePrint;
            Products        = products;
            Storage         = storage;
            Equipments      = equipments;
        }
コード例 #3
0
 public LfmimLocalContextProvider(IModuleStorage modulestorage, IContextDataReader contextdatareader)
 {
     moduleStorage     = modulestorage;
     contextDataReader = contextdatareader;
 }
コード例 #4
0
 public ModuleLogic(IModuleStorage moduleStorage)
 {
     _moduleStorage = moduleStorage;
 }
 public MfchLocalContextProvider(IModuleStorage modulestorage, IContextDataReader contextdatareader)
 {
     readerFacadeOfConfigurationPersistence = modulestorage.GetModule <IReaderFacadeOfConfigurationPersistence>();
     loadFacadeOfModelInstanceManager       = modulestorage.GetModule <ILoadFacadeOfModelInstanceManager>();
 }
コード例 #6
0
        //private IContextProviderManager contextProviderManager;

        public MainContext()
        {
            moduleStorage = new ModuleStorage(new ModuleFactory(), contextDataReader);
            //contextProviderManager = new ContextProviderManager(moduleStorage, contextDataReader);
        }