示例#1
0
        private void UiBuilder_ItemsWithoutText()
        {
            if (ImGui.CollapsingHeader("Non-text Matching"))
            {
                if (ImGui.Checkbox("Desynthesis", ref plugin.Configuration.DesynthDialogEnabled))
                {
                    plugin.SaveConfiguration();
                }
                ImGuiEx.TextTooltip("Don't blame me when you destroy something important");

                if (ImGui.Checkbox("Materialize", ref plugin.Configuration.MaterializeDialogEnabled))
                {
                    plugin.SaveConfiguration();
                }
                ImGuiEx.TextTooltip("The dialog that extracts materia from items");

                if (ImGui.Checkbox("Item Inspection Result", ref plugin.Configuration.ItemInspectionResultEnabled))
                {
                    plugin.SaveConfiguration();
                }
                ImGuiEx.TextTooltip("Eureka/Bozja lockboxes, forgotten fragments, and more.");

                if (ImGui.Checkbox("Assign on Retainer Venture Request", ref plugin.Configuration.RetainerTaskAskEnabled))
                {
                    plugin.SaveConfiguration();
                }
                ImGuiEx.TextTooltip("The final dialog before sending out a retainer.");

                if (ImGui.Checkbox("Reassign on Retainer Venture Result", ref plugin.Configuration.RetainerTaskResultEnabled))
                {
                    plugin.SaveConfiguration();
                }
                ImGuiEx.TextTooltip("Where you receive the item and can resend on the same task.");
            }
        }
示例#2
0
        private void UiBuilder_ItemsWithoutText()
        {
            if (!ImGui.CollapsingHeader("Non-text Matching"))
            {
                return;
            }

            if (ImGui.Checkbox("Desynthesis", ref plugin.Configuration.DesynthDialogEnabled))
            {
                plugin.SaveConfiguration();
            }
            ImGuiEx.TextTooltip("Don't blame me when you destroy something important.");

            if (ImGui.Checkbox("Desynthesis (Bulk)", ref plugin.Configuration.DesynthBulkDialogEnabled))
            {
                plugin.SaveConfiguration();
            }
            ImGuiEx.TextTooltip("That little checkbox when wanting to bulk desynthesize. The checkbox isn't actually clicked, but it works.");

            if (ImGui.Checkbox("Materialize", ref plugin.Configuration.MaterializeDialogEnabled))
            {
                plugin.SaveConfiguration();
            }
            ImGuiEx.TextTooltip("The dialog that extracts materia from items.");

            if (ImGui.Checkbox("Item Inspection Result", ref plugin.Configuration.ItemInspectionResultEnabled))
            {
                plugin.SaveConfiguration();
            }
            ImGuiEx.TextTooltip("Eureka/Bozja lockboxes, forgotten fragments, and more.");

            if (ImGui.Checkbox("Assign on Retainer Venture Request", ref plugin.Configuration.RetainerTaskAskEnabled))
            {
                plugin.SaveConfiguration();
            }
            ImGuiEx.TextTooltip("The final dialog before sending out a retainer.");

            if (ImGui.Checkbox("Reassign on Retainer Venture Result", ref plugin.Configuration.RetainerTaskResultEnabled))
            {
                plugin.SaveConfiguration();
            }
            ImGuiEx.TextTooltip("Where you receive the item and can resend on the same task.");

            if (ImGui.Checkbox("Grand Company Expert Delivery Reward", ref plugin.Configuration.GrandCompanySupplyReward))
            {
                plugin.SaveConfiguration();
            }
            ImGuiEx.TextTooltip("Don't blame me when you give away something important.");

            if (ImGui.Checkbox("Shop Card Dialog", ref plugin.Configuration.ShopCardDialog))
            {
                plugin.SaveConfiguration();
            }
            ImGuiEx.TextTooltip("When selling Triple Triad cards.");
        }
示例#3
0
        private void UiBuilder_TextEntry(ConfigTextEntry entry)
        {
            if (ImGui.Checkbox($"###enabled-{entry.GetHashCode()}", ref entry.Enabled))
            {
                plugin.SaveConfiguration();
            }
            if (ImGui.IsItemHovered() && ImGui.IsMouseClicked(ImGuiMouseButton.Right))
            {
                var io = ImGui.GetIO();
                if (io.KeyCtrl && io.KeyShift)
                {
                    TextEntryQuickDeleteTarget = entry;
                }
                else
                {
                    TextEntryOptionsTarget = entry;
                    ImGui.OpenPopup("EntryOptions");
                }
            }

            ImGuiEx.TextTooltip("Enabled");

            if (entry.IsRegex && entry.Regex == null)
            {
                ImGui.PushStyleColor(ImGuiCol.Text, 0xFF0000FF);
                ImGui.PushFont(UiBuilder.IconFont);

                ImGui.SameLine();
                ImGui.Text(FontAwesomeIcon.Exclamation.ToIconString());

                ImGui.PopFont();
                ImGui.PopStyleColor();

                ImGuiEx.TextTooltip("Invalid Regex");
            }

            ImGui.PushItemWidth(-1);

            ImGui.SameLine();
            if (ImGui.InputText($"###text-{entry.GetHashCode()}", ref entry.Text, 10_000) && (!entry.IsRegex || entry.Regex != null))
            {
                plugin.SaveConfiguration();
            }

            ImGui.PopItemWidth();
        }
示例#4
0
        private void UiBuilder_DisplayTextEntryNode(TextEntryNode node)
        {
            var validRegex = node.IsTextRegex && node.TextRegex != null || !node.IsTextRegex;
            var validZone  = !node.ZoneRestricted || node.ZoneIsRegex && node.ZoneRegex != null || !node.ZoneIsRegex;

            if (!node.Enabled && (!validRegex || !validZone))
            {
                ImGui.PushStyleColor(ImGuiCol.Text, new Vector4(.5f, 0, 0, 1));
            }
            else if (!node.Enabled)
            {
                ImGui.PushStyleColor(ImGuiCol.Text, new Vector4(.5f, .5f, .5f, 1));
            }
            else if (!validRegex || !validZone)
            {
                ImGui.PushStyleColor(ImGuiCol.Text, new Vector4(1, 0, 0, 1));
            }

            ImGui.TreeNodeEx($"{node.Name}##{node.Name}-tree", ImGuiTreeNodeFlags.Leaf);
            ImGui.TreePop();

            if (!node.Enabled || !validRegex || !validZone)
            {
                ImGui.PopStyleColor();
            }

            if (!validRegex && !validZone)
            {
                ImGuiEx.TextTooltip("Invalid Text and Zone Regex");
            }
            else if (!validRegex)
            {
                ImGuiEx.TextTooltip("Invalid Text Regex");
            }
            else if (!validZone)
            {
                ImGuiEx.TextTooltip("Invalid Zone Regex");
            }


            if (ImGui.IsItemHovered())
            {
                if (ImGui.IsMouseDoubleClicked(ImGuiMouseButton.Left))
                {
                    node.Enabled = !node.Enabled;
                    plugin.SaveConfiguration();
                    return;
                }
                else if (ImGui.IsMouseClicked(ImGuiMouseButton.Right))
                {
                    var io = ImGui.GetIO();
                    if (io.KeyCtrl && io.KeyShift)
                    {
                        if (plugin.Configuration.TryFindParent(node, out var parent))
                        {
                            RemoveTextNode.Add(new() { Node = node, ParentNode = parent });
                        }
                        return;
                    }
                    else
                    {
                        ImGui.OpenPopup($"{node.GetHashCode()}-popup");
                    }
                }
            }

            TextNodePopup(node);
            TextNodeDragDrop(node);
        }