public PlayerDataManager(StorageType storageType) { StorageType = storageType; if (storageType == StorageType.MySql) { context = new DatasContext(); } else if (storageType == StorageType.Json) { folder = Path.Combine(Starver.Instance.Config.SavePath, "PlayerDatas"); } }
public void Initialize() { XiServerConfigProvider.XiServerConfig.ServerUrl = MachineConfigProvider.MachineConfig.PLC_OpcXiServerConfig_ServerUrl; XiServerConfigProvider.XiServerConfig.UserName = MachineConfigProvider.MachineConfig.PLC_OpcXiServerConfig_UserName; XiServerConfigProvider.XiServerConfig.Password = MachineConfigProvider.MachineConfig.PLC_OpcXiServerConfig_Password; var localDbInstanceName = MachineConfigProvider.MachineConfig.General_LocalDbInstanceName; string connectionStringForLocalDb = ConnectionStringForLocalDb.Replace("LocalDbInstanceName", localDbInstanceName); var dc = new DatasContext(connectionStringForLocalDb); Container.RegisterInstance <IDatasContext>(dc, new ContainerControlledLifetimeManager()); TestDb(); //return; string channelName = MachineConfigProvider.MachineConfig.PLC_SimulationAccessChannelEnabled ? AccessChannelNames.SimAccessChannelFactory : AccessChannelNames.AccessChannelFactory; EventAggregator .GetEvent <SplashFinishedEvent>() .Subscribe(async e => { Debug.WriteLine(DateTime.Now + ": AccessChannelController.Start begin."); await AccessChannelController.StartAsync(channelName); EventAggregator .GetEvent <CommunicationInitializedEvent>() .Publish(new CommunicationInitializedEvent()); IMachine machine = Container.Resolve <IMachineProvider>().Machine; int speed = 25000; machine.TestME_Slider_JogSpeedDevice.Write(speed); machine.TestME_Slider_ScanSpeedDevice.Write(speed); machine.TestME_Slider_StartSpeedDevice.Write(speed); Debug.WriteLine(DateTime.Now + ": Speeds have been set. "); Observable .Interval(TimeSpan.FromSeconds(5)) .ObserveOnTaskPool() .Subscribe(x => { var mp = Container.Resolve <IMachineProvider>(); mp.Machine.General_PlcStartedPlcEventDevice.Subscribe( p => { mp.Machine.General_PlcStartedPlcEventDevice.WriteTrue(); // mp.Machine.TestME_Slider_JogSpeedDevice.Write(speed); mp.Machine.TestME_Slider_ScanSpeedDevice.Write(speed); // mp.Machine.TestME_Slider_StartSpeedDevice.Write(speed); // Debug.WriteLine(DateTime.Now + ": Speeds have been set. "); }); if (!_isConnected) { mp.Machine.General_AppStartedPcEventDevice.WriteTrue(); _isConnected = true; } if (_isStoped) { return; } mp.Machine.General_UpdateWatchdogCommandDevice.WriteTrue(); // mp.Machine.TestME_Slider_JogSpeedDevice.Write(speed); mp.Machine.TestME_Slider_ScanSpeedDevice.Write(speed); // mp.Machine.TestME_Slider_StartSpeedDevice.Write(speed); //Debug.WriteLine(DateTime.Now + ": Speeds have been set. "); }); Debug.WriteLine(DateTime.Now + ": AccessChannelController.Start end."); }, ThreadOption.BackgroundThread, true); var mvmp = Container.Resolve <IMachineViewModelProvider>(); // var inspectorProvider = Container.Resolve<IInspectorControllerProvider>(); // var productionService = Container.Resolve<IInspectionDomainService>(); AccessChannelController .Config(cfg => { cfg.ServerUrl = MachineConfigProvider.MachineConfig.PLC_OpcXiServerConfig_ServerUrl; cfg.UserName = MachineConfigProvider.MachineConfig.PLC_OpcXiServerConfig_UserName; cfg.Password = MachineConfigProvider.MachineConfig.PLC_OpcXiServerConfig_Password; }); var xmlLocalizationService = new XmlLocalizationService(); // string lcidString = MachineConfigProvider.MachineConfig.Language; string lcidString = "zh-CN"; xmlLocalizationService.Update(lcidString); LocalizationServiceLocator.Service = xmlLocalizationService; Container.RegisterInstance <ILocalizationService>( xmlLocalizationService, new ContainerControlledLifetimeManager()); Application.Current.Exit += (sender, args) => { _isStoped = true; AccessChannelController.Stop(); }; // Start watchdog. // Interval = 10s, PLC Timeout = 60s _isConnected = false; }