示例#1
0
        public static void Show(
            string clanTag,
            bool addShowFactionInformationMenuEntry)
        {
            var isCurrentClientFaction = clanTag == FactionSystem.ClientCurrentFactionClanTag;

            // create new context menu
            var menuItems = new List <MenuItem>();

            menuItems.Add(
                new MenuItem()
            {
                Header  = CoreStrings.Faction_CopyTag,
                Command = new ActionCommand(
                    () => Api.Client.Core.CopyToClipboard($"[{clanTag}]"))
            });

            if (addShowFactionInformationMenuEntry)
            {
                menuItems.Add(
                    new MenuItem()
                {
                    Header  = CoreStrings.Faction_ShowFactionInformation,
                    Command = new ActionCommand(
                        () => FactionDetailsControl.Show(clanTag))
                });
            }

            menuItems.Add(
                new MenuItem()
            {
                Header  = CoreStrings.Faction_PrivateMessageToLeader,
                Command = new ActionCommand(
                    () => FactionSystem.ClientOpenPrivateChatWithFactionLeader(clanTag))
            });

            if (FactionSystem.ClientHasFaction &&
                !isCurrentClientFaction &&
                FactionSystem.SharedIsDiplomacyFeatureAvailable &&
                FactionSystem.ClientHasAccessRight(FactionMemberAccessRights.DiplomacyManagement))
            {
                AddDiplomacyManagementMenuEntries(clanTag, menuItems);
            }

            ClientContextMenuHelper.ShowMenuOnClick("FactionContextMenu", menuItems);
        }
示例#2
0
        public static void Show(string clanTag)
        {
            var control      = new FactionDetailsControl(clanTag);
            var dialogWindow = DialogWindow.ShowDialog(
                title: null,
                control,
                okText: CoreStrings.Button_Close,
                closeByEscapeKey: true);

            dialogWindow.HorizontalContentAlignment = HorizontalAlignment.Stretch;
            dialogWindow.VerticalContentAlignment   = VerticalAlignment.Stretch;
            dialogWindow.HorizontalAlignment        = HorizontalAlignment.Center;
            dialogWindow.VerticalAlignment          = VerticalAlignment.Center;
            dialogWindow.GameWindow.Padding         = new Thickness(6, 8, 6, 8);
            dialogWindow.GameWindow.Width           = Api.Client.UI.GetApplicationResource <float>("GameMenuStandardWindowWidth");
            dialogWindow.GameWindow.RefreshWindowSize();
            control.dialogWindow = dialogWindow;
        }