示例#1
0
 public void Complete(CommandResult commandResult)
 {
     CommandExecuteContext.OnCommandExecuted(commandResult);
     if (_mailbox != null)
     {
         _mailbox.CompleteMessage(this);
     }
 }
示例#2
0
        /// <summary>
        /// 执行命令。
        /// </summary>
        /// <param name="context">命令执行上下文。</param>
        public override void Execute(CommandExecuteContext context)
        {
            var settings = ShellSettingsManager.LoadSettings()
                           .FirstOrDefault(i => i.Name.Equals(TenantName, StringComparison.OrdinalIgnoreCase));

            if (settings == null)
            {
                context.WriteLine("找名称为 '{0}' 的租户信息。", TenantName);
                return;
            }
            if (Domains == null)
            {
                Domains = new List <string>();
            }
            Domains = Domains.Where(i => !string.IsNullOrWhiteSpace(i)).Select(i => i.Trim()).ToList();

            var host = settings["RequestUrlHost"];

            string[] hosts = null;
            var      msg   = string.Empty;

            context.Is(() =>
            {
                msg      = "添加";
                var list = string.IsNullOrWhiteSpace(host)
                    ? new string[0]
                    : host.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToArray();
                var domains = Domains.Where(i => !list.Any(d => i.Equals(d, StringComparison.OrdinalIgnoreCase)));
                hosts       = list.Concat(domains).ToArray();
            }, "Add-SiteDomain");

            context.Is(() =>
            {
                msg   = "设置";
                hosts = Domains.ToArray();
            }, "Set-SiteDomain");

            context.Is(() =>
            {
                msg      = "删除";
                var list = string.IsNullOrWhiteSpace(host)
                    ? new string[0]
                    : host.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToArray();
                hosts = list.Where(i => !Domains.Any(d => i.Equals(d, StringComparison.OrdinalIgnoreCase))).ToArray();
            }, "Remove-SiteDomain", "Delete-SiteDomain");

            if (hosts == null)
            {
                return;
            }

            settings["RequestUrlHost"] = string.Join(",", hosts);
            ShellSettingsManager.SaveSettings(settings);

            context.WriteLine(msg + "成功。");
        }
示例#3
0
        void IQueueMessageHandler.Handle(QueueMessage queueMessage, IMessageContext context)
        {
            var commandItems          = new Dictionary <string, string>();
            var commandMessage        = _jsonSerializer.Deserialize <CommandMessage>(Encoding.UTF8.GetString(queueMessage.Body));
            var commandType           = _typeNameProvider.GetType(queueMessage.Tag);
            var command               = _jsonSerializer.Deserialize(commandMessage.CommandData, commandType) as ICommand;
            var commandExecuteContext = new CommandExecuteContext(_repository, _aggregateRootStorage, queueMessage, context, commandMessage, _sendReplyService);

            commandItems["CommandReplyAddress"] = commandMessage.ReplyAddress;
            _processor.Process(new ProcessingCommand(command, commandExecuteContext, commandItems));
        }
示例#4
0
        void IQueueMessageHandler.Handle(QueueMessage queueMessage, IMessageContext context)
        {
            var commandItems          = new Dictionary <string, string>();
            var commandMessage        = _jsonSerializer.Deserialize <CommandMessage>(Encoding.UTF8.GetString(queueMessage.Body));
            var commandType           = _typeCodeProvider.GetType(commandMessage.CommandTypeCode);
            var command               = _jsonSerializer.Deserialize(commandMessage.CommandData, commandType) as ICommand;
            var commandExecuteContext = new CommandExecuteContext(_repository, queueMessage, context, commandMessage, _commandExecutedMessageSender);

            commandItems["DomainEventHandledMessageTopic"] = commandMessage.DomainEventHandledMessageTopic;
            _processor.Process(new ProcessingCommand(command, commandExecuteContext, commandItems));
        }
示例#5
0
        /// <summary>
        /// 执行命令。
        /// </summary>
        /// <param name="context">命令执行上下文。</param>
        public override void Execute(CommandExecuteContext context)
        {
            var setting = SettingsManager.LoadSettings()
                          .FirstOrDefault(i => TenantName.Equals(i.Name, StringComparison.OrdinalIgnoreCase));

            if (setting == null)
            {
                context.WriteLine("找不到任何可用的租户信息。");
            }

            GetTenantsCommand.WriteSetting(new[] { setting }, context);
        }
示例#6
0
        /// <summary>
        /// 执行命令。
        /// </summary>
        /// <param name="context">命令执行上下文。</param>
        public override void Execute(CommandExecuteContext context)
        {
            var settings = SettingsManager.LoadSettings().FirstOrDefault(i => string.Equals(i.Name, TenantName, StringComparison.OrdinalIgnoreCase));
            var isAdd    = settings == null;

            if (settings != null && !Quiet)
            {
                context.WriteLine("已经存在名称为 '{0}' 的租户,确定要替换吗?\t输入'Y'继续执行,输入其他则终止执行。", TenantName);
                var t = context.Read("y");
                if (!t.Equals("y", StringComparison.OrdinalIgnoreCase))
                {
                    return;
                }
            }
            else
            {
                settings = new ShellSettings();
            }

            if (List != null)
            {
                foreach (var temp in List.Where(i => !string.IsNullOrWhiteSpace(i)))
                {
                    var index = temp.IndexOf("=", StringComparison.Ordinal);
                    if (index == -1)
                    {
                        continue;
                    }

                    var key   = temp.Substring(0, index).Escape();
                    var value = temp.Substring(index);

                    if (value.StartsWith("="))
                    {
                        value = value.Remove(0, 1);
                    }

                    if (string.IsNullOrWhiteSpace(value))
                    {
                        continue;
                    }

                    value         = value.Escape();
                    settings[key] = value.Escape();
                }
            }

            settings.Name  = TenantName;
            settings.State = State;
            SettingsManager.SaveSettings(settings);

            context.WriteLine("{0}租户 '{1}' 成功。", isAdd ? "添加" : "修改", TenantName);
        }
        void IKafkaMessageHandler.Handle(KafkaMessage message, IKafkaMessageContext context)
        {
            var commandItems          = new Dictionary <string, string>();
            var eNodeMessage          = _jsonSerializer.Deserialize <ENodeMessage>(message.Value);
            var commandMessage        = _jsonSerializer.Deserialize <CommandMessage>(eNodeMessage.Body);
            var commandType           = _typeNameProvider.GetType(eNodeMessage.Tag);
            var command               = _jsonSerializer.Deserialize(commandMessage.CommandData, commandType) as ICommand;
            var commandExecuteContext = new CommandExecuteContext(_repository, _aggregateStorage, message, context, commandMessage, _sendReplyService);

            commandItems["CommandReplyAddress"] = commandMessage.ReplyAddress;
            _logger.InfoFormat("ENode command message received, messageId: {0}, aggregateRootId: {1}", command.Id, command.AggregateRootId);
            _commandProcessor.Process(new ProcessingCommand(command, commandExecuteContext, commandItems));
        }
        public static void EnableEditorToolsCompilationMenuItemHandler(CommandExecuteContext context)
        {
            if (Menu.GetChecked(MenuPath))
            {
                DisableEditorToolsCompilation();
            }
            else
            {
                EnableEditorToolsCompilation();
            }

            Menu.SetChecked(MenuPath, File.Exists(CompileEditorToolsFlagFilePath));
        }
示例#9
0
        /// <summary>
        /// 执行命令。
        /// </summary>
        /// <param name="context">命令执行上下文。</param>
        public override void Execute(CommandExecuteContext context)
        {
            var settings = ShellSettingsManager.LoadSettings()
                .FirstOrDefault(i => i.Name.Equals(TenantName, StringComparison.OrdinalIgnoreCase));

            if (settings == null)
            {
                context.WriteLine("找名称为 '{0}' 的租户信息。", TenantName);
                return;
            }
            if (Domains == null)
                Domains = new List<string>();
            Domains = Domains.Where(i => !string.IsNullOrWhiteSpace(i)).Select(i => i.Trim()).ToList();

            var host = settings["RequestUrlHost"];
            string[] hosts = null;
            var msg = string.Empty;
            context.Is(() =>
            {
                msg = "添加";
                var list = string.IsNullOrWhiteSpace(host)
                    ? new string[0]
                    : host.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToArray();
                var domains = Domains.Where(i => !list.Any(d => i.Equals(d, StringComparison.OrdinalIgnoreCase)));
                hosts = list.Concat(domains).ToArray();
            }, "Add-SiteDomain");

            context.Is(() =>
            {
                msg = "设置";
                hosts = Domains.ToArray();
            }, "Set-SiteDomain");

            context.Is(() =>
            {
                msg = "删除";
                var list = string.IsNullOrWhiteSpace(host)
                    ? new string[0]
                    : host.Split(new[] { ',' }, StringSplitOptions.RemoveEmptyEntries).ToArray();
                hosts = list.Where(i => !Domains.Any(d => i.Equals(d, StringComparison.OrdinalIgnoreCase))).ToArray();
            }, "Remove-SiteDomain", "Delete-SiteDomain");

            if (hosts == null)
                return;

            settings["RequestUrlHost"] = string.Join(",", hosts);
            ShellSettingsManager.SaveSettings(settings);

            context.WriteLine(msg + "成功。");
        }
示例#10
0
        static void DrawPlaybar(CommandExecuteContext ctx)
        {
            // Enter / Exit Playmode
            var isOrWillEnterPlaymode = EditorApplication.isPlayingOrWillChangePlaymode;
            var isPlaying             = EditorApplication.isPlaying;

            GUI.changed = false;

            var buttonOffset = isPlaying ? 4 : 0;

            var c = GUI.color + new Color(.01f, .01f, .01f, .01f);

            GUI.contentColor = new Color(1.0f / c.r, 1.0f / c.g, 1.0f / c.g, 1.0f / c.a);
            GUI.SetNextControlName("ToolbarPlayModePlayButton");
            GUILayout.Toggle(isOrWillEnterPlaymode, s_PlayIcons[buttonOffset], isPlaying ? LiveLinkStyles.CommandLeftOn : LiveLinkStyles.CommandLeft);
            GUI.backgroundColor = Color.white;
            if (GUI.changed)
            {
                TogglePlaying();
                GUIUtility.ExitGUI();
            }

            // Pause game
            GUI.changed = false;

            buttonOffset = EditorApplication.isPaused ? 4 : 0;
            GUI.SetNextControlName("ToolbarPlayModePauseButton");
            var isPaused = GUILayout.Toggle(EditorApplication.isPaused, s_PlayIcons[buttonOffset + 1], LiveLinkStyles.CommandMid);

            if (GUI.changed)
            {
                EditorApplication.isPaused = isPaused;
                GUIUtility.ExitGUI();
            }

            using (new EditorGUI.DisabledScope(!isPlaying))
            {
                // Step playmode
                GUI.SetNextControlName("ToolbarPlayModeStepButton");
                if (GUILayout.Button(s_PlayIcons[2], LiveLinkStyles.CommandRight))
                {
                    EditorApplication.Step();
                    GUIUtility.ExitGUI();
                }
            }

            s_LiveLinkBuildSettingsDropdown.DrawDropdown();
            s_LinkConnectionsDropdown.DrawDropdown();
        }
示例#11
0
        /// <summary>
        /// 执行命令。
        /// </summary>
        /// <param name="context">命令执行上下文。</param>
        public override void Execute(CommandExecuteContext context)
        {
            var command = _commandService.GetCommand(FindName);

            context.Write(Environment.NewLine);
            if (command == null)
            {
                context.WriteLine("找不到名称为 \"{0}\",的命令。", FindName);
            }
            else
            {
                context.WriteLine("下面是命令 '{0}' 的帮助信息。", FindName);
                context.WriteLine(command.GetUsage());
            }
        }
示例#12
0
        /// <summary>
        /// 执行命令。
        /// </summary>
        /// <param name="context">命令执行上下文。</param>
        public override void Execute(CommandExecuteContext context)
        {
            var command = _commandService.GetCommand(FindName);

            context.Write(Environment.NewLine);
            if (command == null)
            {
                context.WriteLine("找不到名称为 \"{0}\",的命令。", FindName);
            }
            else
            {
                context.WriteLine("下面是命令 '{0}' 的帮助信息。", FindName);
                context.WriteLine(command.GetUsage());
            }
        }
示例#13
0
        public static void DeleteSelection(CommandExecuteContext context)
        {
            var session         = Application.AuthoringProject?.Session;
            var worldManager    = session.GetManager <IWorldManager>();
            var m_EntityManager = worldManager.EntityManager;
            var m_SceneManager  = session.GetManager <IEditorSceneManagerInternal>();

            var selection = SelectionUtility.GetEntityGuidSelection();

            foreach (var group in selection.Select(worldManager.GetEntityFromGuid).GroupBy(e => m_EntityManager.GetSharedComponentData <SceneGuid>(e)))
            {
                var graph = m_SceneManager.GetGraphForScene(group.Key);
                foreach (var node in group.Select(graph.FindNode))
                {
                    graph.Delete(node);
                }
            }
        }
示例#14
0
        /// <summary>
        /// 执行命令。
        /// </summary>
        /// <param name="context">命令执行上下文。</param>
        public override void Execute(CommandExecuteContext context)
        {
            var settings = SettingsManager.LoadSettings().FirstOrDefault(i => string.Equals(i.Name, TenantName, StringComparison.OrdinalIgnoreCase));
            var isAdd = settings == null;
            if (settings != null && !Quiet)
            {
                context.WriteLine("已经存在名称为 '{0}' 的租户,确定要替换吗?\t输入'Y'继续执行,输入其他则终止执行。", TenantName);
                var t = context.Read("y");
                if (!t.Equals("y", StringComparison.OrdinalIgnoreCase))
                    return;
            }
            else
                settings = new ShellSettings();

            if (List != null)
            {
                foreach (var temp in List.Where(i => !string.IsNullOrWhiteSpace(i)))
                {
                    var index = temp.IndexOf("=", StringComparison.Ordinal);
                    if (index == -1)
                        continue;

                    var key = temp.Substring(0, index).Escape();
                    var value = temp.Substring(index);

                    if (value.StartsWith("="))
                        value = value.Remove(0, 1);

                    if (string.IsNullOrWhiteSpace(value))
                        continue;

                    value = value.Escape();
                    settings[key] = value.Escape();
                }
            }

            settings.Name = TenantName;
            settings.State = State;
            SettingsManager.SaveSettings(settings);

            context.WriteLine("{0}租户 '{1}' 成功。", isAdd ? "添加" : "修改", TenantName);
        }
示例#15
0
        public static void CreateEmptyChild(CommandExecuteContext context = null)
        {
            var session      = Application.AuthoringProject.Session;
            var worldManager = session.GetManager <IWorldManager>();

            using (var pooled = ListPool <Entity> .GetDisposable())
            {
                var list = pooled.List;
                foreach (var guid in SelectionUtility.GetEntityGuidSelection())
                {
                    list.Add(CreateEntity(Application.AuthoringProject.Session.GetManager <IArchetypeManager>().Empty, "Entity", guid));
                }

                if (list.Count == 0)
                {
                    list.Add(CreateEntity(Application.AuthoringProject.Session.GetManager <IArchetypeManager>().Empty, "Entity", default));
                }

                EntityHierarchyWindow.SelectOnNextPaint(list.Select(worldManager.GetEntityGuid).ToList());
            }
        }
示例#16
0
 /// <summary>
 /// 执行命令。
 /// </summary>
 /// <param name="command">命令对象。</param>
 /// <param name="context">命令上下文。</param>
 /// <returns>是否执行成功。</returns>
 private static bool Executed(ICommand command, CommandExecuteContext context)
 {
     try
     {
         command.Is(c => c.Executing(context));
         command.Execute(context);
         return(true);
     }
     catch (Exception exception)
     {
         if (command.Is(c => c.Fail(context, exception)))
         {
             throw;
         }
     }
     finally
     {
         command.Is(c => c.Executed(context));
     }
     return(false);
 }
示例#17
0
        /// <summary>
        ///     执行命令。
        /// </summary>
        /// <param name="context">命令执行上下文。</param>
        public override void Execute(CommandExecuteContext context)
        {
            var commands = _commandService.GetCommands();

            //命令信息
            if (commands == null)
                return;

            var help = CommandHelper.GetHelpText();
            foreach (var text in commands
                .Select(i =>
                {
                    var usage = i.GetUsage();
                    return string.IsNullOrWhiteSpace(usage) ? i.CommandName : usage;
                }))
            {
                help.AddPreOptionsLine(text);
            }

            context.WriteLine(help);
        }
示例#18
0
        internal static void DrawPlayBar(CommandExecuteContext context)
        {
            if (PlayBarStyles == null)
            {
                PlayBarStyles = new Styles();
            }
            EditorGUILayout.BeginHorizontal(PlayBarStyles.OffsetStyle);
            var settings = Application.AuthoringProject?.Settings;

            if (settings == null)
            {
                if (GUILayout.Button("Open a DOTS project"))
                {
                    CommandService.Execute(CommandIds.File.OpenProject);
                    GUIUtility.ExitGUI();
                }
                EditorGUILayout.EndHorizontal();
                return;
            }

            EditorGUILayout.BeginVertical();

            var workspaceManager = Application.AuthoringProject.Session.GetManager <WorkspaceManager>();

            workspaceManager.ActivePlatform = PlatformSettings.DrawPlatformPopup(workspaceManager.ActivePlatform, style: PlayBarStyles.DropdownStyle);
            EditorGUILayout.EndVertical();

            EditorGUILayout.BeginVertical();
            workspaceManager.ActiveConfiguration = (Configuration)EditorGUILayout.EnumPopup(workspaceManager.ActiveConfiguration, PlayBarStyles.DropdownStyle, GUILayout.MinWidth(60));
            EditorGUILayout.EndVertical();

            EditorGUILayout.BeginVertical();
            if (GUILayout.Button(PlayBarStyles.PlayIcon, PlayBarStyles.CommandStyle))
            {
                CommandService.Execute(CommandIds.Edit.Play);
                GUIUtility.ExitGUI();
            }
            EditorGUILayout.EndVertical();
            EditorGUILayout.EndHorizontal();
        }
示例#19
0
        /// <summary>
        /// 执行命令。
        /// </summary>
        /// <param name="context">命令执行上下文。</param>
        public override void Execute(CommandExecuteContext context)
        {
            var setting = SettingsManager.LoadSettings()
                          .FirstOrDefault(i => i.Name.Equals(TenantName, StringComparison.OrdinalIgnoreCase));

            if (setting == null)
            {
                context.WriteLine("找不到名称为 '{0}' 的租户。", TenantName);
                return;
            }
            if (!Quiet)
            {
                context.WriteLine("确定要删除租户 '{0}' 吗?\t输入'Y'继续执行,输入其他则终止执行。", setting.Name);
                var t = context.Read("y");
                if (!t.Equals("y", StringComparison.OrdinalIgnoreCase))
                {
                    return;
                }
            }

            SettingsManager.DeleteSettings(TenantName);
            context.WriteLine("成功删除租户 '{0}'。", TenantName);
        }
示例#20
0
        public static void DuplicateSelection(CommandExecuteContext context)
        {
            var session         = Application.AuthoringProject?.Session;
            var worldManager    = session.GetManager <IWorldManager>();
            var m_EntityManager = worldManager.EntityManager;
            var m_SceneManager  = session.GetManager <IEditorSceneManagerInternal>();

            using (var pooled = ListPool <ISceneGraphNode> .GetDisposable())
            {
                var toSelect  = pooled.List;
                var selection = SelectionUtility.GetEntityGuidSelection();

                foreach (var group in selection.Select(worldManager.GetEntityFromGuid)
                         .GroupBy(e => m_EntityManager.GetSharedComponentData <SceneGuid>(e)))
                {
                    var graph = m_SceneManager.GetGraphForScene(group.Key);
                    var list  = group.Select(graph.FindNode).Cast <ISceneGraphNode>().ToList();
                    toSelect.AddRange(graph.Duplicate(list));
                }

                EntityHierarchyWindow.SelectOnNextPaint(toSelect.OfType <EntityNode>().Select(e => e.Guid).ToList());
            }
        }
示例#21
0
        /// <summary>
        ///     执行命令。
        /// </summary>
        /// <param name="context">命令执行上下文。</param>
        public override void Execute(CommandExecuteContext context)
        {
            var commands = _commandService.GetCommands();

            //命令信息
            if (commands == null)
            {
                return;
            }

            var help = CommandHelper.GetHelpText();

            foreach (var text in commands
                     .Select(i =>
            {
                var usage = i.GetUsage();
                return(string.IsNullOrWhiteSpace(usage) ? i.CommandName : usage);
            }))
            {
                help.AddPreOptionsLine(text);
            }

            context.WriteLine(help);
        }
示例#22
0
        static void InstantiateDefaultScene(CommandExecuteContext context)
        {
            if (SceneTemplatePreferences.Get().newDefaultSceneOverride == SceneTemplatePreferences.NewDefaultSceneOverride.DefaultBuiltin)
            {
                EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects, NewSceneMode.Single);
                return;
            }

            var templateInfos = SceneTemplateUtils.GetSceneTemplateInfos();
            var templateInfo  = templateInfos.FirstOrDefault(info => info.isPinned && !info.IsInMemoryScene);

            if (templateInfo == null)
            {
                templateInfo = templateInfos.FirstOrDefault(info => !info.isPinned && !info.IsInMemoryScene);
            }

            if (templateInfo != null && templateInfo.sceneTemplate)
            {
                Instantiate(templateInfo.sceneTemplate, false);
                return;
            }

            EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects, NewSceneMode.Single);
        }
示例#23
0
 /// <summary>
 /// Start
 /// </summary>
 /// <returns></returns>
 public CommandConsumer Start()
 {
     _sendReplyService.Start();
     _consumer.OnMessageReceived += (sender, e) =>
     {
         try
         {
             var commandItems          = new Dictionary <string, string>();
             var commandMessage        = _jsonSerializer.Deserialize <CommandMessage>(Encoding.UTF8.GetString(e.Context.GetBody()));
             var commandType           = _typeNameProvider.GetType(e.Context.GetMessageType());
             var command               = _jsonSerializer.Deserialize(commandMessage.CommandData, commandType) as ICommand;
             var commandExecuteContext = new CommandExecuteContext(_repository, _aggregateStorage, commandMessage, _sendReplyService, e.Context, _logger);
             commandItems["CommandReplyAddress"] = commandMessage.ReplyAddress;
             _logger.DebugFormat("ENode command message received, messageId: {0}, aggregateRootId: {1}", command.Id, command.AggregateRootId);
             _commandProcessor.Process(new ProcessingCommand(command, commandExecuteContext, commandItems));
         }
         catch (Exception ex)
         {
             _logger.Error($"ENode command message handle failed: {ex.Message}, commandMessage: {e.Context.GetBody()}, commandType: {e.Context.GetMessageType()}", ex);
         }
     };
     _consumer.Start();
     return(this);
 }
示例#24
0
 /// <summary>
 /// 执行命令。
 /// </summary>
 /// <param name="context">命令执行上下文。</param>
 public override void Execute(CommandExecuteContext context)
 {
     var settings = SettingsManager.LoadSettings();
     WriteSetting(settings, context);
 }
示例#25
0
 public static void ImportSampleProjects(CommandExecuteContext context)
 {
     ImportSampleProjects();
 }
示例#26
0
 public static void BuildAndRun(CommandExecuteContext context)
 {
     BuildAndRun();
 }
示例#27
0
 public static void BuildProject(CommandExecuteContext context)
 {
     BuildProject();
 }
示例#28
0
        /// <summary>
        /// 执行命令。
        /// </summary>
        /// <param name="context">命令执行上下文。</param>
        public override void Execute(CommandExecuteContext context)
        {
            var setting = SettingsManager.LoadSettings()
                .FirstOrDefault(i => TenantName.Equals(i.Name, StringComparison.OrdinalIgnoreCase));
            if (setting == null)
                context.WriteLine("找不到任何可用的租户信息。");

            GetTenantsCommand.WriteSetting(new[] { setting }, context);
        }
示例#29
0
 /// <summary>
 /// 执行命令。
 /// </summary>
 /// <param name="command">命令对象。</param>
 /// <param name="context">命令上下文。</param>
 /// <returns>是否执行成功。</returns>
 private static bool Executed(ICommand command, CommandExecuteContext context)
 {
     try
     {
         command.Is(c => c.Executing(context));
         command.Execute(context);
         return true;
     }
     catch (Exception exception)
     {
         if (command.Is(c => c.Fail(context, exception)))
             throw;
     }
     finally
     {
         command.Is(c => c.Executed(context));
     }
     return false;
 }
示例#30
0
 public static void ValidateEntityCreation(CommandExecuteContext context)
 {
     context.result = Application.AuthoringProject != null;
 }
示例#31
0
        public static void UICanvas(CommandExecuteContext context)
        {
            var entity = CreateEntity(Application.AuthoringProject.Session.GetManager <IArchetypeManager>().UICanvas, "UICanvas");

            SetComponentDefaultValue <UICanvas>(entity);
        }
示例#32
0
        public static void Sprite(CommandExecuteContext context)
        {
            var entity = CreateEntity(Application.AuthoringProject.Session.GetManager <IArchetypeManager>().Sprite, "Sprite");

            SetComponentDefaultValue <Sprite2DRenderer>(entity);
        }
示例#33
0
        public static void Camera(CommandExecuteContext context)
        {
            var entity = CreateEntity(Application.AuthoringProject.Session.GetManager <IArchetypeManager>().Camera, "Camera");

            SetComponentDefaultValue <Camera2D>(entity);
        }
示例#34
0
 public static void SaveProject(CommandExecuteContext context)
 {
     SaveProject();
 }
示例#35
0
 private static void ValidateDuplicateSelection(CommandExecuteContext context)
 {
     context.result = !SelectionUtility.IsEntitySelectionEmpty();
 }
示例#36
0
 public static void CloseProject(CommandExecuteContext context)
 {
     CloseProject();
 }
示例#37
0
 public static void CreateEmpty(CommandExecuteContext context = null)
 {
     CreateEntity(Application.AuthoringProject.Session.GetManager <IArchetypeManager>().Empty, "Entity");
 }
示例#38
0
        /// <summary>
        /// 执行命令。
        /// </summary>
        /// <param name="context">命令执行上下文。</param>
        public override void Execute(CommandExecuteContext context)
        {
            var setting = SettingsManager.LoadSettings()
                .FirstOrDefault(i => i.Name.Equals(TenantName, StringComparison.OrdinalIgnoreCase));
            if (setting == null)
            {
                context.WriteLine("找不到名称为 '{0}' 的租户。", TenantName);
                return;
            }
            if (!Quiet)
            {
                context.WriteLine("确定要删除租户 '{0}' 吗?\t输入'Y'继续执行,输入其他则终止执行。", setting.Name);
                var t = context.Read("y");
                if (!t.Equals("y", StringComparison.OrdinalIgnoreCase))
                    return;
            }

            SettingsManager.DeleteSettings(TenantName);
            context.WriteLine("成功删除租户 '{0}'。", TenantName);
        }