public static void Main(string[] args) { try { Console.WriteLine("PtilopsisCliServer 0.1"); Console.WriteLine("2019-11-08"); DBManager.Get().Start(); RunnerManager.Get().Start(); TaskManager.Get().Start(); AppManager.Get().Start(); EventManager.Get().Start(); #if DEBUG string myEnvironmentValue = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"); if (myEnvironmentValue == "Development") { string path = Path.Combine(Environment.CurrentDirectory.ToString(), "../ptilopsis-web/build"); Console.WriteLine(Directory.GetCurrentDirectory()); FileHelper.CopyDirectory(path, "./ClientApp"); } #endif CreateHostBuilder(args).Build().Run(); } catch (Exception e) { Console.WriteLine("Start Error£¡Message:" + e.ToString()); Thread.Sleep(3000); } }
public void ExeTest() { var pluginPath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "Plugins"); var currentDir = new DirectoryInfo(AppDomain.CurrentDomain.SetupInformation.ApplicationBase); var rootPath = currentDir.Parent.Parent.Parent; var lib1V1Path = Path.Combine(rootPath.FullName, @"bin\MEFTestExe1.exe"); var lib1PluginPath = Path.Combine(pluginPath, "MEFTestExe1.exe"); // Clear plugin folder if (Directory.Exists(pluginPath)) { Directory.Delete(pluginPath, true); } Directory.CreateDirectory(pluginPath); // Copy lib1 File.Copy(lib1V1Path, lib1PluginPath); var runner = RunnerManager.CreateRunner <Runner, IExport>("Plugins", pluginPath); var actual = runner.DoSomething(); var expected = "Exe1"; Assert.AreEqual(expected, actual); }
public void ChangePluginFolderTest() { var pluginPath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "Plugins2"); var currentDir = new DirectoryInfo(AppDomain.CurrentDomain.SetupInformation.ApplicationBase); var rootPath = currentDir.Parent.Parent.Parent; var lib1V1Path = Path.Combine(rootPath.FullName, @"bin\MEFTestLib1.dll"); var lib1V2Path = Path.Combine(rootPath.FullName, @"bin\MEFTestLib1-v2.dll"); var lib2Path = Path.Combine(rootPath.FullName, @"bin\MEFTestLib2.dll"); var lib1PluginPath = Path.Combine(pluginPath, "MEFTestLib1.dll"); var lib2PluginPath = Path.Combine(pluginPath, "MEFTestLib2.dll"); // Clear plugin folder if (Directory.Exists(pluginPath)) { Directory.Delete(pluginPath, true); } Directory.CreateDirectory(pluginPath); // Copy lib1 File.Copy(lib1V1Path, lib1PluginPath); var runner = RunnerManager.CreateRunner <Runner, IExport>("Plugins", pluginPath); var actual = runner.DoSomething(); var expected = "Lib1"; Assert.AreEqual(expected, actual); // Copy lib2 File.Copy(lib2Path, lib2PluginPath); runner.Recompose(); actual = runner.DoSomething(); expected = "Lib1 Lib2"; Assert.AreEqual(expected, actual); // Replace lib1 with v2 File.Delete(lib1PluginPath); runner.Recompose(); File.Copy(lib1V2Path, lib1PluginPath, true); runner.Recompose(); actual = runner.DoSomething(); expected = "Lib2 Lib1-v2"; Assert.AreEqual(expected, actual); // Delete Lib1 File.Delete(lib1PluginPath); runner.Recompose(); actual = runner.DoSomething(); expected = "Lib2"; Assert.AreEqual(expected, actual); // Delete Lib2 File.Delete(lib2PluginPath); runner.Recompose(); actual = runner.DoSomething(); expected = string.Empty; Assert.AreEqual(expected, actual); }
void Awake() { gameManager = FindObjectOfType <RunnerManager>(); label = GetComponent <Text>(); text = label.text; }
void Awake() { renderer = GetComponent <SpriteRenderer>(); gameManager = FindObjectOfType <RunnerManager>(); genManager = FindObjectOfType <GeneratorManager>(); plantManager = FindObjectOfType <PlantOptionsManager>(); }
private void Awake() { manager = FindObjectOfType <RunnerManager>(); genManager = FindObjectOfType <GeneratorManager>(); audio = GetComponent <AudioSource>(); }
void Awake() { gameManager = FindObjectOfType <RunnerManager>(); genManager = FindObjectOfType <GeneratorManager>(); width = GetComponent <SpriteRenderer>().bounds.size.x; genManager.ResolutionChanged.AddListener(DoSizing); }
void Awake() { gameManager = FindObjectOfType <RunnerManager>(); gameManager.GameStarted.AddListener(OnGameStarted); gameManager.GameEnded.AddListener(OnGameEnded); label = GetComponent <Text>(); }
void RunnerManager_RunnerManagerUnhanledRuntimeException(string id, string ExceptionType, string ExceptionMessage, string StackTraceData, List <RunManager.StackTraceItem> StackTrace) { string localiseMsg = RuntimeExceptionsStringResources.Get(ExceptionMessage); WorkbenchServiceFactory.OperationsService.AddTextToOutputWindowSync(id, string.Format(Form1StringResources.Get("OW_RUNTIME_EXCEPTION{0}_MESSAGE{1}"), ExceptionType, localiseMsg) + Environment.NewLine); if (StackTraceData != null) { WorkbenchServiceFactory.OperationsService.AddTextToOutputWindowSync(id, string.Format(Form1StringResources.Get("OW_RUNTIME_EXCEPTION_STACKTRACE{0}"), StackTraceData) + Environment.NewLine); } RunManager.StackTraceItem ToSend = null; foreach (RunManager.StackTraceItem StackTraceItem in StackTrace) { if (StackTraceItem.SourceFileName != null) { if (ToSend == null && File.Exists(StackTraceItem.SourceFileName)) { ToSend = StackTraceItem; } if (Workbench.UserOptions.SkipStakTraceItemIfSourceFileInSystemDirectory && (Path.GetDirectoryName(StackTraceItem.SourceFileName) == WorkbenchServiceFactory.BuildService.CompilerOptions.SearchDirectory || Path.GetDirectoryName(StackTraceItem.SourceFileName) == WorkbenchServiceFactory.BuildService.CompilerOptions.SearchDirectory + "Source")) { continue; } if (!(bool)Workbench.VisualEnvironmentCompiler.SourceFilesProvider(StackTraceItem.SourceFileName, PascalABCCompiler.SourceFileOperation.Exists)) { string fn = Path.Combine(WorkbenchStorage.LibSourceDirectory, Path.GetFileName(StackTraceItem.SourceFileName)); if (File.Exists(fn)) { StackTraceItem.SourceFileName = fn; } else { continue; } } ToSend = StackTraceItem; break; } } if (ToSend != null) { List <PascalABCCompiler.Errors.Error> list = new List <PascalABCCompiler.Errors.Error>(); list.Add(new RuntimeException( string.Format( Form1StringResources.Get("ERRORLIST_RUNTIME_EXCEPTION_MESSAGE{0}"), localiseMsg.Replace(Environment.NewLine, " ")), ToSend.SourceFileName, 0, ToSend.LineNumber) ); Workbench.ErrorsListWindow.ShowErrorsSync(list, true); if (RunnerManager.Count > 0) { RunnerManager.KillAll(); } } }
private void InitLogger() { this.logger = new MyLogger(); this.runnerManager = new RunnerManager(this.logger); // updating of log by timer this.outputUpdateTimmer = new DispatcherTimer(); this.outputUpdateTimmer.Tick += (s, e) => this.UpdateOutput(); this.outputUpdateTimmer.Interval = new TimeSpan(0, 0, 0, 0, 250); this.outputUpdateTimmer.Start(); }
public RunnersForm(RunnerManager runnerManager, StateManager stateManager) { InitializeComponent(); _runnerManager = runnerManager; _stateManager = stateManager; SetRowsToDatagrid(); PopulateDataGrid(); InitCountrycmbx(); InitSex(); EditbuttonsAvailable(false); }
static void Main() { IStateRepository stateRepository = new StateRepository(); StateManager stateManager = new StateManager(stateRepository); IFileRepository fileRepository = new FileRepository(); RaceManager raceManager = new RaceManager(fileRepository); RunnerManager runnerManager = new RunnerManager(fileRepository); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new MainForm(runnerManager, stateManager, raceManager, fileRepository)); }
static void Main(string[] args) { Console.WriteLine("PtilopsisCliServer 0.1"); Console.WriteLine("2019-11-08"); DBManager.Get().Start(); RunnerManager.Get().Start(); TaskManager.Get().Start(); AppManager.Get().Start(); EventManager.Get().Start(); }
public MainForm(RunnerManager runnerManager, StateManager stateManager, RaceManager raceManager, IFileRepository fileRepository) { InitializeComponent(); _runnerManager = runnerManager; _raceManager = raceManager; _fileRepository = fileRepository; _stateManager = stateManager; bttnRunnerAddLap.Enabled = false; bttnRunnerSteppingOut.Enabled = false; SetRowsToDatagrid(); SetRowsToDtGrdVwFinishedRunners(); race = fileRepository.GetRace(); form = new RunnersForm(_runnerManager, _stateManager); }
void Start() { Instance = this; globals = new Globals(); globals.bones = new Bones(); globals.bones[0] = new Bone { point0 = 0, point1 = 1 }; //thigh 1 globals.bones[1] = new Bone { point0 = 1, point1 = 2 }; //shin 1 globals.bones[2] = new Bone { point0 = 0, point1 = 3 }; //thigh 2 globals.bones[3] = new Bone { point0 = 3, point1 = 4 }; //shin 2 globals.bones[4] = new Bone { point0 = 0, point1 = 5 }; //lower spine globals.bones[5] = new Bone { point0 = 5, point1 = 6 }; //upper spine globals.bones[6] = new Bone { point0 = 6, point1 = 7 }; //bicep 1 globals.bones[7] = new Bone { point0 = 7, point1 = 8 }; //forearm 1 globals.bones[8] = new Bone { point0 = 6, point1 = 9 }; //bicep 2 globals.bones[9] = new Bone { point0 = 9, point1 = 10 }; //forearm 2 globals.bones[10] = new Bone { point0 = 6, point1 = 11 }; //head globals.runSpeed = 10f; globals.pitRadius = PitGenerator.pitRadius; random = new Unity.Mathematics.Random(0xBAD5EED); manager = World.Active.GetOrCreateManager <EntityManager>(); archetype = manager.CreateArchetype(typeof(Runner), typeof(BoneMatrices), typeof(BoneColor)); }
public bool?KillTaskById(string id, int timeout = 10000) { var ptiEvent = EventManager.Get().RegEvent(ptievent => { return(RunnerManager.Get().TaskKillById(id)); }, PtiEventType.Default); DateTime TimeOut = DateTime.Now.AddMilliseconds(timeout); while (DateTime.Now < TimeOut) { if (ptiEvent.IsExcuted) { return(ptiEvent.EventResult as bool?); } Thread.Sleep(100); } return(null); }
public async Task TestSponsor() { var pluginPath = Path.Combine(AppDomain.CurrentDomain.SetupInformation.ApplicationBase, "Plugins"); var currentDir = new DirectoryInfo(AppDomain.CurrentDomain.SetupInformation.ApplicationBase); var rootPath = currentDir.Parent.Parent.Parent; var lib1V1Path = Path.Combine(rootPath.FullName, @"bin\MEFTestLib1.dll"); var lib1PluginPath = Path.Combine(pluginPath, "MEFTestLib1.dll"); // Copy lib1 File.Copy(lib1V1Path, lib1PluginPath); var runner = RunnerManager.CreateRunner <Runner, IExport>("Plugins"); var actual = runner.Exports.First().Value; Assert.AreEqual("MEFTestLib1.Import", actual.Name); await Task.Delay(new TimeSpan(0, 5, 10)); actual = runner.Exports.First().Value; Assert.AreEqual("MEFTestLib1.Import", actual.Name); }
private void LoadFile() { if (openFileDialog.ShowDialog() == DialogResult.OK) { string strfilename = openFileDialog.InitialDirectory + openFileDialog.FileName; try { _fileRepository.LoadDataFromFile(strfilename); _runnerManager = new RunnerManager(_fileRepository); _raceManager = new RaceManager(_fileRepository); race = _fileRepository.GetRace(); form = new RunnersForm(_runnerManager, _stateManager); if (race.LengthOfLap != 0) { nmrcUpDwnLengthOfLap.Text = race.LengthOfLap.ToString(); nmrcUpDwnNumberOfLaps.Text = race.NumberOfLaps.ToString(); nmrcUpDwnNumberOfWinners.Text = race.NumberOfWinners.ToString(); SetBttnsAndTextAtStartRace(); lblRaceStartTime.Text = _runnerManager.GetDictionaryOFRunners().Values.ElementAt(0).GetFinishedLapsTimeList()[0].ToString(); foreach (var runner in _runnerManager.GetDictionaryOFRunners()) { dtGrdVwMainRaceForm.Rows.Add(_runnerManager.KeyValueToString(runner.Key), runner.Value.GetFinishedLapsTimeList().Last().ToString(), runner.Value.CountTimeTotal().ToString()); } foreach (var runner in _runnerManager.GetDictionaryOFRunners()) { _raceManager.IsFinishedRunnerAddedToWinningDirectory(race.NumberOfLaps, runner.Key, runner.Value); } PopulateDtGrdVwFinishedRunners(); } } catch (InvalidOperationException e) { MessageBox.Show("Could not open the file " + e.Message); } } }
public void Awake() { /*This wont destroy main gamemanager on scene download, keeps track of level progress and stuff * When developing new level, comment this and uncomment manager = this; and InitialPanel(); line * When done developing level, remove Gamemanager from scene */ if (manager == null) { manager = this; DontDestroyOnLoad(manager); currentState = GameState.Pause; } else if (manager != this && manager.gameObject.name != "GameManager") { Destroy(manager); } /* * manager = this; * InitialPanel(); */ }
public override void OnExit(RunnerManager _manager) { base.OnExit(_manager); Manager.animator.SetTrigger("Falling"); }
public override void OnEnter(RunnerManager _manager) { base.OnEnter(_manager); Manager.animator.SetTrigger("Falling"); Manager.isFalling = true; }
/// <summary> /// 循环遍历所有任务,检查可执行的并且执行 /// </summary> /// <param name="value"></param> /// <returns></returns> public object CheckAllTasksEvent(PtiEventer value) { DateTime now = DateTime.Now; foreach (var runtask in this.TaskPool) { try { //判断是否已经禁用任务,从内存中删除任务 if (!runtask.PtiTasker.Enable) { this.RemoveList.Add(runtask); continue; } //判断任务运行是否已经超时 if (runtask.PtiTasker.TimeOutSeconds > 0) { if ((runtask.LastRunDate - now) >= TimeSpan.FromSeconds(runtask.PtiTasker.TimeOutSeconds)) { if (!RunnerManager.Get().CheckTaskAndKill(runtask.PtiTasker)) { WriteWarning($"Task {runtask.PtiTasker._id}({runtask.PtiTasker.TaskName}) Kill Failure!"); } } } //判断启动时间启动任务 if (now >= runtask.NextRunDate) { if (!RunnerManager.Get().CreateAndStart(runtask)) { WriteWarning($"Task {runtask.PtiTasker._id}({runtask.PtiTasker.TaskName}) Start Failure!"); } //没有任务计划的为一次性任务,执行后标记为失效 if (string.IsNullOrWhiteSpace(runtask.PtiTasker.Schedule)) { runtask.PtiTasker.Enable = false; } else { runtask.NextRunDate = Schedule.CalculateDateScheduleFromNow(runtask.PtiTasker.Schedule); } } } catch (Exception e) { WriteError(e.ToString()); } } foreach (var removetask in this.RemoveList) { //立即更新任务 DBManager.Get().SaveTask(removetask.PtiTasker); //如果任务还在运行 if (RunnerManager.Get().TaskExist(removetask.Runner)) { continue; } //在内存中移除任务 if (!this.TaskPool.Remove(removetask)) { WriteWarning($"Task {removetask.PtiTasker._id}({removetask.PtiTasker.TaskName}) remove failure!"); } } this.RemoveList = new List <PtiRunTask>(); WriteInfo("Check All Tasks Success"); return(true); }
public override void OnExit(RunnerManager _manager) { base.OnExit(_manager); Manager.animator.SetBool("Idle", false); }
void Awake() { gameManager = FindObjectOfType <RunnerManager>(); gameManager.GameStarted.AddListener(OnGameStarted); gameManager.GameEnded.AddListener(OnGameEnded); }
public virtual void OnExit(RunnerManager _manager) { this.manager = _manager; }
public void TearDown() { RunnerManager.RemoveRunner("Plugins"); }
private void Awake() { manager = FindObjectOfType <RunnerManager>(); genManager = FindObjectOfType <GeneratorManager>(); }
public override void OnEnter(RunnerManager _manager) { base.OnEnter(_manager); Manager.animator.SetBool("Run", true); }
public override void OnExit(RunnerManager _manager) { base.OnExit(_manager); Manager.animator.SetBool("Run", false); Manager.animator.SetLayerWeight(1, 0f); }
static void Main(string[] args) { Console.WriteLine("Ptilopsis 0.1"); Console.WriteLine("2019-10-21"); var dbManager = DBManager.Get(); var runnerManager = RunnerManager.Get(); var taskManager = TaskManager.Get(); var appManager = AppManager.Get(); var eventManager = EventManager.Get(); dbManager.Start(); runnerManager.Start(); taskManager.Start(); appManager.Start(); eventManager.Start(); #region 任务计划计算测试 //DateSchedule sch = new DateSchedule(); //Console.WriteLine(sch.CalculateDateScheduleFromNow("*,*,*,1,0")); //Console.WriteLine(sch.CalculateDateScheduleFromNow("*,*,5,1,0")); #endregion #region App解压测试 PtiApp app = new PtiApp() { Name = "Hello Ptilopsis", ZipFile = "main.zip", DefaultRunCmd = "node" }; app.Id = MD5Helper.getMd5Hash(app.Name); appManager.AddApp(app); //PtiApp app2 = new PtiApp() //{ // Name = "EchoTest", // DefaultRunCmd = "echo" //}; //app2.Id = MD5Helper.getMd5Hash(app.Name); //appManager.AddApp(app2); foreach (var item in dbManager.GetAllApps()) { Console.WriteLine(item.Name); } #endregion #region TASK测试 //PtiTasker task = new PtiTasker() //{ // ApplicationId=app.Id, // RunArgs="main.py", // TaskName= "Hello Ptilopsis", // _id=Guid.NewGuid().ToString("N") //}; PtiTasker task = new PtiTasker() { ApplicationId = app.Id, RunArgs = "main.js", TaskName = "testNode", _id = Guid.NewGuid().ToString("N") }; var _t = taskManager.AddTask(task); //while (!_t.IsExcuted) //{ // Thread.Sleep(100); //} //Console.WriteLine(_t.EventResult); while (true) { Thread.Sleep(100); } #endregion //#if DEBUG // PtiTester tester = new PtiTester(); // PtiApp app = new PtiApp();//APP 项目目录 // PtiTask task = new PtiTask(); // task.RunPath = "D:\\RunPath"; // task.RunCmd = "python"; // task.RunArgs = "main.py"; // PtiRunner runner = new PtiRunner(task, app); // tester.TestRunner(runner); //#endif // Console.WriteLine("Hello World!"); }