示例#1
0
        public virtual void EditorActionGetState(EditorAction.GetStateContext context)
        {
            switch (context.Action.Name)
            {
            case "Save":
                if (!string.IsNullOrEmpty(RealFileName))
                {
                    context.Enabled = true;
                }
                break;

            case "Save As":
                if (!string.IsNullOrEmpty(RealFileName))
                {
                    context.Enabled = CanSaveAs();
                }
                break;

            case "Undo":
                context.Enabled = undoSystem != null && undoSystem.GetTopUndoAction() != null;
                break;

            case "Redo":
                context.Enabled = undoSystem != null && undoSystem.GetTopRedoAction() != null;
                break;

            case "Play":
            {
                var component = LoadedResource?.ResultComponent;
                if (component != null && RunSimulation.CheckTypeSupportedByPlayer(component.BaseType))
                {
                    context.Enabled = true;
                }
            }
            break;

            case "Find Resource":
                context.Enabled = !string.IsNullOrEmpty(RealFileName);
                break;
            }
        }