コード例 #1
0
ファイル: DalamudAtkTweaks.cs プロジェクト: r1ft4469/Dalamud
        private void ContextMenuOnContextMenuOpened(ContextMenuOpenedArgs args)
        {
            var systemText = Service <DataManager> .Get().GetExcelSheet <Addon>() !.GetRow(1059) !.Text.RawString; // "System"

            var configuration = Service <DalamudConfiguration> .Get();

            if (args.Title == systemText && configuration.DoButtonsSystemMenu)
            {
                var dalamudInterface = Service <DalamudInterface> .Get();

                args.Items.Insert(0, new CustomContextMenuItem(this.locDalamudSettings, selectedArgs =>
                {
                    dalamudInterface.ToggleSettingsWindow();
                }));

                args.Items.Insert(0, new CustomContextMenuItem(this.locDalamudPlugins, selectedArgs =>
                {
                    dalamudInterface.TogglePluginInstallerWindow();
                }));
            }
        }
コード例 #2
0
        private void ContextMenuOnContextMenuOpened(ContextMenuOpenedArgs args)
        {
            Log.Information("Got context menu with parent addon: {ParentAddonName}, title:{Title}, itemcnt:{ItemCount}", args.ParentAddonName, args.Title, args.Items.Count);
            if (args.GameObjectContext != null)
            {
                Log.Information("   => GameObject:{GameObjectName} world:{World} cid:{Cid} id:{Id}", args.GameObjectContext.Name, args.GameObjectContext.WorldId, args.GameObjectContext.ContentId, args.GameObjectContext.Id);
            }

            if (args.InventoryItemContext != null)
            {
                Log.Information("   => Inventory:{ItemId} hq:{Hq} count:{Count}", args.InventoryItemContext.Id, args.InventoryItemContext.IsHighQuality, args.InventoryItemContext.Count);
            }

            switch (this.currentSubStep)
            {
            case SubStep.TestSubMenu:
                args.AddCustomSubMenu("Aging Submenu", openedArgs =>
                {
                    openedArgs.AddCustomItem("Submenu Item 1", _ =>
                    {
                        this.multipleTriggerOne = true;
                    });

                    openedArgs.AddCustomItem("Submenu Item 2", _ =>
                    {
                        this.multipleTriggerTwo = true;
                    });
                });

                return;

            case SubStep.TestMultiple:
                args.AddCustomItem("Aging Item 1", _ =>
                {
                    this.multipleTriggerOne = true;
                });

                args.AddCustomItem("Aging Item 2", _ =>
                {
                    this.multipleTriggerTwo = true;
                });

                return;

            case SubStep.Finish:
                return;

            default:
                switch (args.ParentAddonName)
                {
                case "Inventory":
                    if (this.currentSubStep != SubStep.TestItem)
                    {
                        return;
                    }

                    args.AddCustomItem("Aging Item", _ =>
                    {
                        this.clickedItemId    = args.InventoryItemContext !.Id;
                        this.clickedItemHq    = args.InventoryItemContext !.IsHighQuality;
                        this.clickedItemCount = args.InventoryItemContext !.Count;
                        Log.Warning("Clicked item: {Id} hq:{Hq} count:{Count}", this.clickedItemId, this.clickedItemHq, this.clickedItemCount);
                    });
                    break;
コード例 #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CustomContextMenuItemSelectedArgs"/> class.
 /// </summary>
 /// <param name="contextMenuOpenedArgs">The currently opened context menu.</param>
 /// <param name="selectedItem">The selected item within the currently opened context menu.</param>
 internal CustomContextMenuItemSelectedArgs(ContextMenuOpenedArgs contextMenuOpenedArgs, CustomContextMenuItem selectedItem)
 {
     this.ContextMenuOpenedArgs = contextMenuOpenedArgs;
     this.SelectedItem          = selectedItem;
 }