//private readonly Logger _logger = LogManager.GetCurrentClassLogger(); #endif public void Run(CLICommand command) { var wSpaceFile = RunCommandFilesSearcher.FindWSpaceFile(Directory.GetCurrentDirectory()); var worldSpaceCreationSettings = new WorldSpaceCreationSettings() { ProjectName = command.ProjectName }; if (wSpaceFile == null) { WorldSpaceCreator.CreateWithOutWSpaceFile(worldSpaceCreationSettings, Directory.GetCurrentDirectory() , errorMsg => ConsoleWrapper.WriteError(errorMsg) ); } else { WorldSpaceCreator.CreateWithWSpaceFile(worldSpaceCreationSettings, wSpaceFile , errorMsg => ConsoleWrapper.WriteError(errorMsg) ); } }
public void Run(CLICommand command) { ConsoleWrapper.WriteText($"Loading {command.InputFile}..."); #if DEBUG //_logger.Info($"command = {command}"); #endif var targetFiles = RunCommandFilesSearcher.Run(command); #if DEBUG //_logger.Info($"targetFiles = {targetFiles}"); #endif var invokingInMainThread = DefaultInvokerInMainThreadFactory.Create(); var instance = WorldFactory.WorldInstance; world = instance; var settings = new WorldSettings(); settings.EnableAutoloadingConvertors = true; settings.SharedModulesDirs = new List <string>() { targetFiles.SharedModulesDir }; settings.ImagesRootDir = targetFiles.ImagesRootDir; settings.TmpDir = targetFiles.TmpDir; settings.HostFile = targetFiles.WorldFile; settings.InvokerInMainThread = invokingInMainThread; var logDir = Path.Combine(Environment.GetEnvironmentVariable("APPDATA"), "SymOntoClay", "CLI", "NpcLogs"); settings.Logging = new LoggingSettings() { LogDir = logDir, RootContractName = "Hi1", PlatformLoggers = new List <IPlatformLogger>() { new CLIPlatformLogger() }, Enable = true, EnableRemoteConnection = true }; #if DEBUG //_logger.Info($"settings = {settings}"); #endif instance.SetSettings(settings); var platformListener = this; var npcSettings = new HumanoidNPCSettings(); npcSettings.Id = "#020ED339-6313-459A-900D-92F809CEBDC5"; //npcSettings.HostFile = Path.Combine(Directory.GetCurrentDirectory(), @"Source\Hosts\PeaceKeeper\PeaceKeeper.host"); npcSettings.LogicFile = targetFiles.LogicFile; npcSettings.HostListener = platformListener; npcSettings.PlatformSupport = new PlatformSupportCLIStub(); #if DEBUG //_logger.Info($"npcSettings = {npcSettings}"); #endif var npc = instance.GetHumanoidNPC(npcSettings); instance.Start(); ConsoleWrapper.WriteText("Press 'exit' and Enter for exit."); while (true) { var inputStr = Console.ReadLine(); ConsoleWrapper.WriteText(inputStr); if (inputStr == "exit") { ConsoleWrapper.WriteText("Are you sure? Type y/n and press Enter."); inputStr = Console.ReadLine(); if (inputStr == "y") { break; } } else { ConsoleWrapper.WriteError("Unknown command! Press 'exit' and Enter for exit."); } } }