예제 #1
0
        void RefreshMenuItems()
        {
            foreach (var menuPairs in _menus)
            {
                var referenceGridForm = menuPairs.Key;
                var menu = menuPairs.Value;
                if (menu != null)
                {
                    for (int index = menu.Tool.Tools.Count - 1; index >= 0; index--)
                    {
                        using (var tool = menu.Tool.Tools[index])
                        {
                            menu.Tool.Tools.Remove(tool);
                            menu.Tool.ToolbarsManager.Tools.Remove(tool);
                        }
                    }

                    foreach (var workSpace in _settings.WorkSpaces)
                    {
                        menu.AddCommandbarButton(ButtonKey.FormatString(referenceGridForm.Id.ToString(), workSpace.Id), workSpace.Caption);
                    }


                    var button = menu.AddCommandbarButton(ButtonKey_Create.FormatString(referenceGridForm.Id.ToString()), Properties.Resources.Button_CreateWorkSpace);
                    button.HasSeparator = true;
                    menu.AddCommandbarButton(ButtonKey_Edit.FormatString(referenceGridForm.Id.ToString()), Properties.Resources.Button_EditWorkSpaces);
                }
            }
        }
예제 #2
0
        private static Button GetButton(ButtonKey key)
        {
            switch (key)
            {
            case ButtonKey.Back:
                return(Button.Back);

            case ButtonKey.Left:
                return(Button.Left);

            case ButtonKey.Down:
                return(Button.Down);

            case ButtonKey.Right:
                return(Button.Right);

            case ButtonKey.Up:
                return(Button.Up);

            case ButtonKey.Enter:
                return(Button.Enter);

            default:
                throw new Exception($"Unexpected key: {key}");
            }
        }
예제 #3
0
    static public UIEvent Get(Transform transform, ButtonKey buttonKey)
    {
        UIEvent listener = transform.GetComponent <UIEvent>();

        if (listener == null)
        {
            listener = transform.gameObject.AddComponent <UIEvent>();
        }
        listener.buttonKey = buttonKey;
        return(listener);
    }
예제 #4
0
    static public UIEvent Get(GameObject go, ButtonKey buttonKey)
    {
        UIEvent listener = go.GetComponent <UIEvent>();

        if (listener == null)
        {
            listener = go.AddComponent <UIEvent>();
        }
        listener.buttonKey = buttonKey;
        return(listener);
    }
예제 #5
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var request          = filterContext.HttpContext.Request;
            var actionParameters = filterContext.ActionParameters;

            var actionParameterKey = actionParameters.Keys.FirstOrDefault(
                i => ParameterKey.ToLowerInvariant().Equals(i.ToLowerInvariant()));

            if (actionParameterKey != null)
            {
                actionParameters[actionParameterKey] = request.Params.AllKeys.Any(
                    k => k.ToLowerInvariant() == ButtonKey.ToLowerInvariant());
            }
        }
        public void Draw(Rect rect)
        {
            var fifth  = rect.width / 5;
            var height = 0f;

            var linkRect        = new Rect(0, height, fifth * 2, Height);
            var otherShieldRect = new Rect(fifth * 2, height, fifth * 2, Height);

            var buttonRect = new Rect(fifth * 4, height, fifth, Height);

            var linkListing = new Listing_Standard();

            linkListing.Begin(linkRect);

            var twoLabel    = Other.Label;
            var twoPosition = Other.Position;

            // link
            var text = new StringBuilder();

            text.AppendLine("FrontierDevelopments.Shields.ITab.LinkWith".Translate(twoLabel, twoPosition.x, twoPosition.z));
            text.AppendLine("PowerNeeded".Translate() + ": " + PowerNeeded.ToString("#####0") + " W");
            text.AppendLine("FrontierDevelopments.Shields.ITab.Efficiency".Translate((int)(Efficiency * 100)));
            if (Blocked)
            {
                text.AppendLine("FrontierDevelopments.Shields.Linear.FieldBlocked".Translate());
            }
            linkListing.Label(text.ToString().TrimEndNewlines());
            linkListing.End();

            var shieldListing = new Listing_Standard();

            shieldListing.Begin(otherShieldRect);

            shieldListing.Label(Other.TextStats);
            shieldListing.End();

            FieldRenderOverride.Invoke(rect.Contains(Event.current.mousePosition));
            if (Widgets.ButtonText(buttonRect, ButtonKey.Translate()))
            {
                ButtonAction.Invoke();
            }
        }
예제 #7
0
        // Methods

        public override void OnBeforePerformingCommand(ReferenceGridForm referenceGridForm, BeforePerformingCommandEventArgs e)
        {
            e.Handled = true;

            if (e.Key.Equals(ButtonKey_Edit.FormatString(referenceGridForm.Id.ToString()), StringComparison.Ordinal))
            {
                EditWorkSpaces(referenceGridForm);
            }
            else if (e.Key.Equals(ButtonKey_Create.FormatString(referenceGridForm.Id.ToString()), StringComparison.Ordinal))
            {
                CreateWorkSpace(referenceGridForm);
            }
            else
            {
                if (_settings.WorkSpaces.FirstOrDefault(ws => e.Key.Equals(ButtonKey.FormatString(referenceGridForm.Id.ToString(), ws.Id), StringComparison.Ordinal)) is WorkSpace workSpace)
                {
                    referenceGridForm.LoadWorkSpace(workSpace);
                }
                else
                {
                    e.Handled = false;
                }
            }
        }
예제 #8
0
 private static void OnReleased(ButtonKey key)
 {
     GetButton(key).NotifyReleased();
 }
예제 #9
0
 private static void OnPressed(ButtonKey key)
 {
     GetButton(key).NotifyPressed();
 }