muffin v7.5.1
This commit is contained in:
parent
a6481e7b9a
commit
965a736f84
59 changed files with 4112 additions and 5059 deletions
|
|
@ -8,8 +8,7 @@ public static class LAtkValue
|
|||
{
|
||||
public unsafe static string? ReadAtkString(this AtkValue atkValue)
|
||||
{
|
||||
//IL_0001: Unknown result type (might be due to invalid IL or missing references)
|
||||
if ((int)atkValue.Type == 0)
|
||||
if (atkValue.Type == AtkValueType.Undefined)
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
using System;
|
||||
using System.Runtime.CompilerServices;
|
||||
using Dalamud.Game.Addon.Lifecycle;
|
||||
using Dalamud.Game.Addon.Lifecycle.AddonArgTypes;
|
||||
using Dalamud.Plugin.Services;
|
||||
|
|
@ -223,11 +222,10 @@ public sealed class GrandCompanyShop : IDisposable
|
|||
|
||||
private unsafe void FireCallback(AtkUnitBase* addon, params int[] args)
|
||||
{
|
||||
//IL_001e: Unknown result type (might be due to invalid IL or missing references)
|
||||
AtkValue* ptr = stackalloc AtkValue[args.Length];
|
||||
for (int i = 0; i < args.Length; i++)
|
||||
{
|
||||
Unsafe.Write(&ptr[i].Type, (AtkValueType)3);
|
||||
ptr[i].Type = AtkValueType.Int;
|
||||
ptr[i].Int = args[i];
|
||||
}
|
||||
addon->FireCallback((uint)args.Length, ptr);
|
||||
|
|
@ -235,64 +233,48 @@ public sealed class GrandCompanyShop : IDisposable
|
|||
|
||||
private unsafe void FirePurchaseCallback(AtkUnitBase* addon, GrandCompanyItem item)
|
||||
{
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0024: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0048: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_006a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_008c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00ae: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00d0: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00f7: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_011e: Unknown result type (might be due to invalid IL or missing references)
|
||||
AtkValue* ptr = stackalloc AtkValue[9];
|
||||
Unsafe.Write(&ptr->Type, (AtkValueType)3);
|
||||
ptr->Type = AtkValueType.Int;
|
||||
ptr->Int = 0;
|
||||
Unsafe.Write(&ptr[1].Type, (AtkValueType)3);
|
||||
ptr[1].Type = AtkValueType.Int;
|
||||
ptr[1].Int = item.Index;
|
||||
Unsafe.Write(&ptr[2].Type, (AtkValueType)3);
|
||||
ptr[2].Type = AtkValueType.Int;
|
||||
ptr[2].Int = 1;
|
||||
Unsafe.Write(&ptr[3].Type, (AtkValueType)3);
|
||||
ptr[3].Type = AtkValueType.Int;
|
||||
ptr[3].Int = 0;
|
||||
Unsafe.Write(&ptr[4].Type, (AtkValueType)3);
|
||||
ptr[4].Type = AtkValueType.Int;
|
||||
ptr[4].Int = 0;
|
||||
Unsafe.Write(&ptr[5].Type, (AtkValueType)3);
|
||||
ptr[5].Type = AtkValueType.Int;
|
||||
ptr[5].Int = 0;
|
||||
Unsafe.Write(&ptr[6].Type, (AtkValueType)5);
|
||||
ptr[6].Type = AtkValueType.UInt;
|
||||
ptr[6].UInt = item.ItemId;
|
||||
Unsafe.Write(&ptr[7].Type, (AtkValueType)5);
|
||||
ptr[7].Type = AtkValueType.UInt;
|
||||
ptr[7].UInt = item.IconId;
|
||||
Unsafe.Write(&ptr[8].Type, (AtkValueType)5);
|
||||
ptr[8].Type = AtkValueType.UInt;
|
||||
ptr[8].UInt = item.SealCost;
|
||||
addon->FireCallback(9u, ptr);
|
||||
}
|
||||
|
||||
private unsafe static void ClickYes(AtkUnitBase* addon)
|
||||
{
|
||||
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
|
||||
AtkValue* ptr = stackalloc AtkValue[1];
|
||||
Unsafe.Write(&ptr->Type, (AtkValueType)3);
|
||||
ptr->Type = AtkValueType.Int;
|
||||
ptr->Int = 0;
|
||||
addon->FireCallback(1u, ptr);
|
||||
}
|
||||
|
||||
private unsafe static int GetAtkValueInt(AtkUnitBase* addon, int index)
|
||||
{
|
||||
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_003a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_003b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_003d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0053: Expected I4, but got Unknown
|
||||
if (addon == null || addon->AtkValues == null || index < 0 || index >= addon->AtkValuesCount)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
AtkValue atkValue = addon->AtkValues[index];
|
||||
AtkValueType type = atkValue.Type;
|
||||
return (type - 2) switch
|
||||
return atkValue.Type switch
|
||||
{
|
||||
1 => atkValue.Int,
|
||||
3 => (int)atkValue.UInt,
|
||||
0 => (atkValue.Byte != 0) ? 1 : 0,
|
||||
AtkValueType.Int => atkValue.Int,
|
||||
AtkValueType.UInt => (int)atkValue.UInt,
|
||||
AtkValueType.Bool => (atkValue.Byte != 0) ? 1 : 0,
|
||||
_ => -1,
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ public class RegularShopBase
|
|||
address->GetPosition(&num, &num2);
|
||||
ushort num3 = 0;
|
||||
ushort num4 = 0;
|
||||
address->GetSize(&num3, &num4, true);
|
||||
address->GetSize(&num3, &num4, scaled: true);
|
||||
num += (short)num3;
|
||||
Vector2? position = _parentWindow.Position;
|
||||
if (position.HasValue)
|
||||
|
|
|
|||
|
|
@ -140,6 +140,7 @@ public static class AssemblyQuestLoader
|
|||
LoadQuests106();
|
||||
LoadQuests107();
|
||||
LoadQuests108();
|
||||
LoadQuests109();
|
||||
}
|
||||
|
||||
private static void LoadQuests0()
|
||||
|
|
@ -382763,7 +382764,7 @@ public static class AssemblyQuestLoader
|
|||
num = 1;
|
||||
List<string> list194 = new List<string>(num);
|
||||
CollectionsMarshal.SetCount(list194, num);
|
||||
CollectionsMarshal.AsSpan(list194)[0] = "Theo";
|
||||
CollectionsMarshal.AsSpan(list194)[0] = "WigglyMuffin";
|
||||
questRoot22.Author = list194;
|
||||
num = 2;
|
||||
List<QuestSequence> list195 = new List<QuestSequence>(num);
|
||||
|
|
@ -382799,7 +382800,10 @@ public static class AssemblyQuestLoader
|
|||
num2 = 1;
|
||||
List<QuestStep> list197 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list197, num2);
|
||||
CollectionsMarshal.AsSpan(list197)[0] = new QuestStep(EInteractionType.CompleteQuest, 1054331u, new Vector3(-322.80463f, 18.201778f, -97.88666f), 1190);
|
||||
CollectionsMarshal.AsSpan(list197)[0] = new QuestStep(EInteractionType.CompleteQuest, 1054331u, new Vector3(-322.80463f, 18.201778f, -97.88666f), 1190)
|
||||
{
|
||||
NextQuestId = new QuestId(5329)
|
||||
};
|
||||
obj131.Steps = list197;
|
||||
reference150 = obj131;
|
||||
questRoot22.QuestSequence = list195;
|
||||
|
|
@ -382809,7 +382813,7 @@ public static class AssemblyQuestLoader
|
|||
num = 1;
|
||||
List<string> list198 = new List<string>(num);
|
||||
CollectionsMarshal.SetCount(list198, num);
|
||||
CollectionsMarshal.AsSpan(list198)[0] = "Theo";
|
||||
CollectionsMarshal.AsSpan(list198)[0] = "WigglyMuffin";
|
||||
questRoot23.Author = list198;
|
||||
num = 4;
|
||||
List<QuestSequence> list199 = new List<QuestSequence>(num);
|
||||
|
|
@ -382883,7 +382887,8 @@ public static class AssemblyQuestLoader
|
|||
{
|
||||
InSameTerritory = true
|
||||
}
|
||||
}
|
||||
},
|
||||
NextQuestId = new QuestId(5479)
|
||||
};
|
||||
obj135.Steps = list203;
|
||||
reference154 = obj135;
|
||||
|
|
@ -394300,4 +394305,891 @@ public static class AssemblyQuestLoader
|
|||
questRoot27.QuestSequence = list321;
|
||||
AddQuest(questId27, questRoot27);
|
||||
}
|
||||
|
||||
private static void LoadQuests109()
|
||||
{
|
||||
QuestId questId = new QuestId(5470);
|
||||
QuestRoot questRoot = new QuestRoot();
|
||||
int num = 1;
|
||||
List<string> list = new List<string>(num);
|
||||
CollectionsMarshal.SetCount(list, num);
|
||||
CollectionsMarshal.AsSpan(list)[0] = "WigglyMuffin";
|
||||
questRoot.Author = list;
|
||||
num = 5;
|
||||
List<QuestSequence> list2 = new List<QuestSequence>(num);
|
||||
CollectionsMarshal.SetCount(list2, num);
|
||||
Span<QuestSequence> span = CollectionsMarshal.AsSpan(list2);
|
||||
ref QuestSequence reference = ref span[0];
|
||||
QuestSequence obj = new QuestSequence
|
||||
{
|
||||
Sequence = 0
|
||||
};
|
||||
int num2 = 1;
|
||||
List<QuestStep> list3 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list3, num2);
|
||||
CollectionsMarshal.AsSpan(list3)[0] = new QuestStep(EInteractionType.AcceptQuest, 1056202u, new Vector3(14.938599f, 38.806587f, -408.74347f), 1186)
|
||||
{
|
||||
AetheryteShortcut = EAetheryteLocation.SolutionNine,
|
||||
AethernetShortcut = new AethernetShortcut
|
||||
{
|
||||
From = EAetheryteLocation.SolutionNine,
|
||||
To = EAetheryteLocation.SolutionNineResolution
|
||||
}
|
||||
};
|
||||
obj.Steps = list3;
|
||||
reference = obj;
|
||||
ref QuestSequence reference2 = ref span[1];
|
||||
QuestSequence obj2 = new QuestSequence
|
||||
{
|
||||
Sequence = 1
|
||||
};
|
||||
num2 = 2;
|
||||
List<QuestStep> list4 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list4, num2);
|
||||
Span<QuestStep> span2 = CollectionsMarshal.AsSpan(list4);
|
||||
span2[0] = new QuestStep(EInteractionType.Interact, 1054936u, new Vector3(-57.41974f, 42.8066f, -546.7765f), 1186)
|
||||
{
|
||||
TargetTerritoryId = (ushort)1299
|
||||
};
|
||||
span2[1] = new QuestStep(EInteractionType.Interact, 1058782u, new Vector3(4.043579f, 1.1999818f, 41.61133f), 1299);
|
||||
obj2.Steps = list4;
|
||||
reference2 = obj2;
|
||||
ref QuestSequence reference3 = ref span[2];
|
||||
QuestSequence obj3 = new QuestSequence
|
||||
{
|
||||
Sequence = 2
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list5 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list5, num2);
|
||||
CollectionsMarshal.AsSpan(list5)[0] = new QuestStep(EInteractionType.Interact, 1038588u, new Vector3(-101.76245f, 4.357501f, 0.7476196f), 962)
|
||||
{
|
||||
AetheryteShortcut = EAetheryteLocation.OldSharlayan,
|
||||
SkipConditions = new SkipConditions
|
||||
{
|
||||
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||
{
|
||||
InSameTerritory = true
|
||||
}
|
||||
}
|
||||
};
|
||||
obj3.Steps = list5;
|
||||
reference3 = obj3;
|
||||
ref QuestSequence reference4 = ref span[3];
|
||||
QuestSequence obj4 = new QuestSequence
|
||||
{
|
||||
Sequence = 3
|
||||
};
|
||||
num2 = 2;
|
||||
List<QuestStep> list6 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list6, num2);
|
||||
Span<QuestStep> span3 = CollectionsMarshal.AsSpan(list6);
|
||||
span3[0] = new QuestStep(EInteractionType.Interact, 2011936u, new Vector3(-108.56799f, 5.0201416f, 4.5318604f), 962)
|
||||
{
|
||||
TargetTerritoryId = (ushort)987
|
||||
};
|
||||
span3[1] = new QuestStep(EInteractionType.Interact, 2015337u, new Vector3(0.008126731f, 1.907349E-06f, -8.997082f), 987);
|
||||
obj4.Steps = list6;
|
||||
reference4 = obj4;
|
||||
ref QuestSequence reference5 = ref span[4];
|
||||
QuestSequence obj5 = new QuestSequence
|
||||
{
|
||||
Sequence = byte.MaxValue
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list7 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list7, num2);
|
||||
CollectionsMarshal.AsSpan(list7)[0] = new QuestStep(EInteractionType.CompleteQuest, 1058789u, new Vector3(-0.045776367f, 1.9073486E-06f, 1.3884888f), 987);
|
||||
obj5.Steps = list7;
|
||||
reference5 = obj5;
|
||||
questRoot.QuestSequence = list2;
|
||||
AddQuest(questId, questRoot);
|
||||
QuestId questId2 = new QuestId(5471);
|
||||
QuestRoot questRoot2 = new QuestRoot();
|
||||
num = 1;
|
||||
List<string> list8 = new List<string>(num);
|
||||
CollectionsMarshal.SetCount(list8, num);
|
||||
CollectionsMarshal.AsSpan(list8)[0] = "WigglyMuffin";
|
||||
questRoot2.Author = list8;
|
||||
num = 5;
|
||||
List<QuestSequence> list9 = new List<QuestSequence>(num);
|
||||
CollectionsMarshal.SetCount(list9, num);
|
||||
Span<QuestSequence> span4 = CollectionsMarshal.AsSpan(list9);
|
||||
ref QuestSequence reference6 = ref span4[0];
|
||||
QuestSequence obj6 = new QuestSequence
|
||||
{
|
||||
Sequence = 0
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list10 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list10, num2);
|
||||
CollectionsMarshal.AsSpan(list10)[0] = new QuestStep(EInteractionType.AcceptQuest, 1058790u, new Vector3(-1.1750488f, 1.9073486E-06f, -0.289917f), 987);
|
||||
obj6.Steps = list10;
|
||||
reference6 = obj6;
|
||||
ref QuestSequence reference7 = ref span4[1];
|
||||
QuestSequence obj7 = new QuestSequence
|
||||
{
|
||||
Sequence = 1
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list11 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list11, num2);
|
||||
CollectionsMarshal.AsSpan(list11)[0] = new QuestStep(EInteractionType.Interact, 1058791u, new Vector3(531.6395f, -36.65f, -231.49463f), 958)
|
||||
{
|
||||
AetheryteShortcut = EAetheryteLocation.GarlemaldTertium,
|
||||
SkipConditions = new SkipConditions
|
||||
{
|
||||
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||
{
|
||||
InSameTerritory = true
|
||||
}
|
||||
}
|
||||
};
|
||||
obj7.Steps = list11;
|
||||
reference7 = obj7;
|
||||
ref QuestSequence reference8 = ref span4[2];
|
||||
QuestSequence obj8 = new QuestSequence
|
||||
{
|
||||
Sequence = 2
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list12 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list12, num2);
|
||||
CollectionsMarshal.AsSpan(list12)[0] = new QuestStep(EInteractionType.Duty, null, null, 958)
|
||||
{
|
||||
DutyOptions = new DutyOptions
|
||||
{
|
||||
Enabled = true,
|
||||
ContentFinderConditionId = 1011u
|
||||
}
|
||||
};
|
||||
obj8.Steps = list12;
|
||||
reference8 = obj8;
|
||||
span4[3] = new QuestSequence
|
||||
{
|
||||
Sequence = 3
|
||||
};
|
||||
ref QuestSequence reference9 = ref span4[4];
|
||||
QuestSequence obj9 = new QuestSequence
|
||||
{
|
||||
Sequence = byte.MaxValue
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list13 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list13, num2);
|
||||
CollectionsMarshal.AsSpan(list13)[0] = new QuestStep(EInteractionType.CompleteQuest, 1058801u, new Vector3(533.4706f, -36.65f, -228.56494f), 958);
|
||||
obj9.Steps = list13;
|
||||
reference9 = obj9;
|
||||
questRoot2.QuestSequence = list9;
|
||||
AddQuest(questId2, questRoot2);
|
||||
QuestId questId3 = new QuestId(5472);
|
||||
QuestRoot questRoot3 = new QuestRoot();
|
||||
num = 1;
|
||||
List<string> list14 = new List<string>(num);
|
||||
CollectionsMarshal.SetCount(list14, num);
|
||||
CollectionsMarshal.AsSpan(list14)[0] = "WigglyMuffin";
|
||||
questRoot3.Author = list14;
|
||||
num = 9;
|
||||
List<QuestSequence> list15 = new List<QuestSequence>(num);
|
||||
CollectionsMarshal.SetCount(list15, num);
|
||||
Span<QuestSequence> span5 = CollectionsMarshal.AsSpan(list15);
|
||||
ref QuestSequence reference10 = ref span5[0];
|
||||
QuestSequence obj10 = new QuestSequence
|
||||
{
|
||||
Sequence = 0
|
||||
};
|
||||
num2 = 2;
|
||||
List<QuestStep> list16 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list16, num2);
|
||||
Span<QuestStep> span6 = CollectionsMarshal.AsSpan(list16);
|
||||
span6[0] = new QuestStep(EInteractionType.AcceptQuest, 1058804u, new Vector3(531.3954f, -36.65f, -231.95245f), 958)
|
||||
{
|
||||
AetheryteShortcut = EAetheryteLocation.GarlemaldTertium,
|
||||
SkipConditions = new SkipConditions
|
||||
{
|
||||
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||
{
|
||||
InSameTerritory = true
|
||||
}
|
||||
}
|
||||
};
|
||||
span6[1] = new QuestStep(EInteractionType.AcceptQuest, 1056141u, new Vector3(-7.5532227f, -0.003462526f, -7.950012f), 1334);
|
||||
obj10.Steps = list16;
|
||||
reference10 = obj10;
|
||||
ref QuestSequence reference11 = ref span5[1];
|
||||
QuestSequence obj11 = new QuestSequence
|
||||
{
|
||||
Sequence = 1
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list17 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list17, num2);
|
||||
ref QuestStep reference12 = ref CollectionsMarshal.AsSpan(list17)[0];
|
||||
QuestStep obj12 = new QuestStep(EInteractionType.Combat, null, new Vector3(-19.821533f, 57.32972f, 88.0293f), 959)
|
||||
{
|
||||
StopDistance = 0.5f,
|
||||
Fly = true,
|
||||
EnemySpawnType = EEnemySpawnType.AutoOnEnterArea
|
||||
};
|
||||
int num3 = 3;
|
||||
List<uint> list18 = new List<uint>(num3);
|
||||
CollectionsMarshal.SetCount(list18, num3);
|
||||
Span<uint> span7 = CollectionsMarshal.AsSpan(list18);
|
||||
span7[0] = 20055u;
|
||||
span7[1] = 20056u;
|
||||
span7[2] = 20057u;
|
||||
obj12.KillEnemyDataIds = list18;
|
||||
reference12 = obj12;
|
||||
obj11.Steps = list17;
|
||||
reference11 = obj11;
|
||||
ref QuestSequence reference13 = ref span5[2];
|
||||
QuestSequence obj13 = new QuestSequence
|
||||
{
|
||||
Sequence = 2
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list19 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list19, num2);
|
||||
CollectionsMarshal.AsSpan(list19)[0] = new QuestStep(EInteractionType.Interact, 1058809u, new Vector3(-19.821533f, 57.32972f, 88.0293f), 959);
|
||||
obj13.Steps = list19;
|
||||
reference13 = obj13;
|
||||
ref QuestSequence reference14 = ref span5[3];
|
||||
QuestSequence obj14 = new QuestSequence
|
||||
{
|
||||
Sequence = 3
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list20 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list20, num2);
|
||||
ref QuestStep reference15 = ref CollectionsMarshal.AsSpan(list20)[0];
|
||||
QuestStep obj15 = new QuestStep(EInteractionType.Combat, null, new Vector3(-187.36554f, 57.16567f, 411.24585f), 959)
|
||||
{
|
||||
StopDistance = 0.5f,
|
||||
Fly = true,
|
||||
EnemySpawnType = EEnemySpawnType.AutoOnEnterArea
|
||||
};
|
||||
num3 = 1;
|
||||
List<uint> list21 = new List<uint>(num3);
|
||||
CollectionsMarshal.SetCount(list21, num3);
|
||||
CollectionsMarshal.AsSpan(list21)[0] = 20058u;
|
||||
obj15.KillEnemyDataIds = list21;
|
||||
reference15 = obj15;
|
||||
obj14.Steps = list20;
|
||||
reference14 = obj14;
|
||||
ref QuestSequence reference16 = ref span5[4];
|
||||
QuestSequence obj16 = new QuestSequence
|
||||
{
|
||||
Sequence = 4
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list22 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list22, num2);
|
||||
CollectionsMarshal.AsSpan(list22)[0] = new QuestStep(EInteractionType.Interact, 1058812u, new Vector3(-187.36554f, 57.16567f, 411.24585f), 959);
|
||||
obj16.Steps = list22;
|
||||
reference16 = obj16;
|
||||
span5[5] = new QuestSequence
|
||||
{
|
||||
Sequence = 5
|
||||
};
|
||||
ref QuestSequence reference17 = ref span5[6];
|
||||
QuestSequence obj17 = new QuestSequence
|
||||
{
|
||||
Sequence = 6
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list23 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list23, num2);
|
||||
CollectionsMarshal.AsSpan(list23)[0] = new QuestStep(EInteractionType.Duty, null, null, 1373)
|
||||
{
|
||||
DutyOptions = new DutyOptions
|
||||
{
|
||||
Enabled = true,
|
||||
ContentFinderConditionId = 1115u
|
||||
}
|
||||
};
|
||||
obj17.Steps = list23;
|
||||
reference17 = obj17;
|
||||
span5[7] = new QuestSequence
|
||||
{
|
||||
Sequence = 7
|
||||
};
|
||||
ref QuestSequence reference18 = ref span5[8];
|
||||
QuestSequence obj18 = new QuestSequence
|
||||
{
|
||||
Sequence = byte.MaxValue
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list24 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list24, num2);
|
||||
CollectionsMarshal.AsSpan(list24)[0] = new QuestStep(EInteractionType.CompleteQuest, 1058818u, new Vector3(28.122314f, 56.632263f, 481.4984f), 1162);
|
||||
obj18.Steps = list24;
|
||||
reference18 = obj18;
|
||||
questRoot3.QuestSequence = list15;
|
||||
AddQuest(questId3, questRoot3);
|
||||
QuestId questId4 = new QuestId(5473);
|
||||
QuestRoot questRoot4 = new QuestRoot();
|
||||
num = 1;
|
||||
List<string> list25 = new List<string>(num);
|
||||
CollectionsMarshal.SetCount(list25, num);
|
||||
CollectionsMarshal.AsSpan(list25)[0] = "WigglyMuffin";
|
||||
questRoot4.Author = list25;
|
||||
num = 8;
|
||||
List<QuestSequence> list26 = new List<QuestSequence>(num);
|
||||
CollectionsMarshal.SetCount(list26, num);
|
||||
Span<QuestSequence> span8 = CollectionsMarshal.AsSpan(list26);
|
||||
ref QuestSequence reference19 = ref span8[0];
|
||||
QuestSequence obj19 = new QuestSequence
|
||||
{
|
||||
Sequence = 0
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list27 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list27, num2);
|
||||
CollectionsMarshal.AsSpan(list27)[0] = new QuestStep(EInteractionType.AcceptQuest, 1058818u, new Vector3(28.122314f, 56.632263f, 481.4984f), 1162);
|
||||
obj19.Steps = list27;
|
||||
reference19 = obj19;
|
||||
ref QuestSequence reference20 = ref span8[1];
|
||||
QuestSequence obj20 = new QuestSequence
|
||||
{
|
||||
Sequence = 1
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list28 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list28, num2);
|
||||
ref QuestStep reference21 = ref CollectionsMarshal.AsSpan(list28)[0];
|
||||
QuestStep questStep = new QuestStep(EInteractionType.Interact, 1058821u, new Vector3(7.9804688f, 57.865685f, 429.22095f), 1162);
|
||||
num3 = 1;
|
||||
List<DialogueChoice> list29 = new List<DialogueChoice>(num3);
|
||||
CollectionsMarshal.SetCount(list29, num3);
|
||||
CollectionsMarshal.AsSpan(list29)[0] = new DialogueChoice
|
||||
{
|
||||
Type = EDialogChoiceType.YesNo,
|
||||
Prompt = new ExcelRef("TEXT_KINGMK104_05473_SYSTEM_000_105")
|
||||
};
|
||||
questStep.DialogueChoices = list29;
|
||||
reference21 = questStep;
|
||||
obj20.Steps = list28;
|
||||
reference20 = obj20;
|
||||
ref QuestSequence reference22 = ref span8[2];
|
||||
QuestSequence obj21 = new QuestSequence
|
||||
{
|
||||
Sequence = 2
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list30 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list30, num2);
|
||||
CollectionsMarshal.AsSpan(list30)[0] = new QuestStep(EInteractionType.Interact, 1058824u, new Vector3(-1.3275757f, -0.40000772f, -59.494934f), 1077);
|
||||
obj21.Steps = list30;
|
||||
reference22 = obj21;
|
||||
ref QuestSequence reference23 = ref span8[3];
|
||||
QuestSequence obj22 = new QuestSequence
|
||||
{
|
||||
Sequence = 3
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list31 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list31, num2);
|
||||
CollectionsMarshal.AsSpan(list31)[0] = new QuestStep(EInteractionType.Interact, 1058827u, new Vector3(-35.996094f, -0.21963452f, 52.353638f), 1077);
|
||||
obj22.Steps = list31;
|
||||
reference23 = obj22;
|
||||
ref QuestSequence reference24 = ref span8[4];
|
||||
QuestSequence obj23 = new QuestSequence
|
||||
{
|
||||
Sequence = 4
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list32 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list32, num2);
|
||||
CollectionsMarshal.AsSpan(list32)[0] = new QuestStep(EInteractionType.Interact, 2015319u, new Vector3(-35.29428f, 0.2805768f, 53.37022f), 1077);
|
||||
obj23.Steps = list32;
|
||||
reference24 = obj23;
|
||||
ref QuestSequence reference25 = ref span8[5];
|
||||
QuestSequence obj24 = new QuestSequence
|
||||
{
|
||||
Sequence = 5
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list33 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list33, num2);
|
||||
CollectionsMarshal.AsSpan(list33)[0] = new QuestStep(EInteractionType.UseItem, 2015321u, new Vector3(128.8068f, 24.30001f, 60.58372f), 1077)
|
||||
{
|
||||
ItemId = 2003823u
|
||||
};
|
||||
obj24.Steps = list33;
|
||||
reference25 = obj24;
|
||||
ref QuestSequence reference26 = ref span8[6];
|
||||
QuestSequence obj25 = new QuestSequence
|
||||
{
|
||||
Sequence = 6
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list34 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list34, num2);
|
||||
ref QuestStep reference27 = ref CollectionsMarshal.AsSpan(list34)[0];
|
||||
QuestStep questStep2 = new QuestStep(EInteractionType.Interact, 1058830u, new Vector3(132.06677f, 24.30001f, 59.830566f), 1077);
|
||||
num3 = 1;
|
||||
List<DialogueChoice> list35 = new List<DialogueChoice>(num3);
|
||||
CollectionsMarshal.SetCount(list35, num3);
|
||||
CollectionsMarshal.AsSpan(list35)[0] = new DialogueChoice
|
||||
{
|
||||
Type = EDialogChoiceType.YesNo,
|
||||
Prompt = new ExcelRef("TEXT_KINGMK104_05473_SYSTEM_000_502")
|
||||
};
|
||||
questStep2.DialogueChoices = list35;
|
||||
reference27 = questStep2;
|
||||
obj25.Steps = list34;
|
||||
reference26 = obj25;
|
||||
ref QuestSequence reference28 = ref span8[7];
|
||||
QuestSequence obj26 = new QuestSequence
|
||||
{
|
||||
Sequence = byte.MaxValue
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list36 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list36, num2);
|
||||
CollectionsMarshal.AsSpan(list36)[0] = new QuestStep(EInteractionType.CompleteQuest, 1059789u, new Vector3(-21.164307f, -47.543007f, -490.95905f), 959);
|
||||
obj26.Steps = list36;
|
||||
reference28 = obj26;
|
||||
questRoot4.QuestSequence = list26;
|
||||
AddQuest(questId4, questRoot4);
|
||||
QuestId questId5 = new QuestId(5474);
|
||||
QuestRoot questRoot5 = new QuestRoot();
|
||||
num = 1;
|
||||
List<string> list37 = new List<string>(num);
|
||||
CollectionsMarshal.SetCount(list37, num);
|
||||
CollectionsMarshal.AsSpan(list37)[0] = "WigglyMuffin";
|
||||
questRoot5.Author = list37;
|
||||
num = 4;
|
||||
List<QuestSequence> list38 = new List<QuestSequence>(num);
|
||||
CollectionsMarshal.SetCount(list38, num);
|
||||
Span<QuestSequence> span9 = CollectionsMarshal.AsSpan(list38);
|
||||
ref QuestSequence reference29 = ref span9[0];
|
||||
QuestSequence obj27 = new QuestSequence
|
||||
{
|
||||
Sequence = 0
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list39 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list39, num2);
|
||||
CollectionsMarshal.AsSpan(list39)[0] = new QuestStep(EInteractionType.AcceptQuest, 1058834u, new Vector3(-23.941406f, -47.54248f, -490.28766f), 959);
|
||||
obj27.Steps = list39;
|
||||
reference29 = obj27;
|
||||
ref QuestSequence reference30 = ref span9[1];
|
||||
QuestSequence obj28 = new QuestSequence
|
||||
{
|
||||
Sequence = 1
|
||||
};
|
||||
num2 = 2;
|
||||
List<QuestStep> list40 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list40, num2);
|
||||
Span<QuestStep> span10 = CollectionsMarshal.AsSpan(list40);
|
||||
span10[0] = new QuestStep(EInteractionType.Interact, 2002881u, new Vector3(21.133728f, 22.323914f, -631.281f), 156)
|
||||
{
|
||||
TargetTerritoryId = (ushort)351,
|
||||
AetheryteShortcut = EAetheryteLocation.MorDhona,
|
||||
SkipConditions = new SkipConditions
|
||||
{
|
||||
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||
{
|
||||
InSameTerritory = true
|
||||
}
|
||||
}
|
||||
};
|
||||
span10[1] = new QuestStep(EInteractionType.Interact, 1058854u, new Vector3(-0.16790771f, 0f, -8.346741f), 351);
|
||||
obj28.Steps = list40;
|
||||
reference30 = obj28;
|
||||
ref QuestSequence reference31 = ref span9[2];
|
||||
QuestSequence obj29 = new QuestSequence
|
||||
{
|
||||
Sequence = 2
|
||||
};
|
||||
num2 = 5;
|
||||
List<QuestStep> list41 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list41, num2);
|
||||
Span<QuestStep> span11 = CollectionsMarshal.AsSpan(list41);
|
||||
ref QuestStep reference32 = ref span11[0];
|
||||
QuestStep questStep3 = new QuestStep(EInteractionType.Interact, 1058842u, new Vector3(4.135132f, 0.009977884f, -4.287842f), 351);
|
||||
num3 = 6;
|
||||
List<QuestWorkValue> list42 = new List<QuestWorkValue>(num3);
|
||||
CollectionsMarshal.SetCount(list42, num3);
|
||||
Span<QuestWorkValue> span12 = CollectionsMarshal.AsSpan(list42);
|
||||
span12[0] = null;
|
||||
span12[1] = null;
|
||||
span12[2] = null;
|
||||
span12[3] = null;
|
||||
span12[4] = null;
|
||||
span12[5] = new QuestWorkValue((byte)4, null, EQuestWorkMode.Bitwise);
|
||||
questStep3.CompletionQuestVariablesFlags = list42;
|
||||
reference32 = questStep3;
|
||||
ref QuestStep reference33 = ref span11[1];
|
||||
QuestStep questStep4 = new QuestStep(EInteractionType.Interact, 1058850u, new Vector3(9.47583f, 0.009977883f, -4.5625f), 351);
|
||||
num3 = 6;
|
||||
List<QuestWorkValue> list43 = new List<QuestWorkValue>(num3);
|
||||
CollectionsMarshal.SetCount(list43, num3);
|
||||
Span<QuestWorkValue> span13 = CollectionsMarshal.AsSpan(list43);
|
||||
span13[0] = null;
|
||||
span13[1] = null;
|
||||
span13[2] = null;
|
||||
span13[3] = null;
|
||||
span13[4] = null;
|
||||
span13[5] = new QuestWorkValue((byte)4, (byte)8, EQuestWorkMode.Bitwise);
|
||||
questStep4.CompletionQuestVariablesFlags = list43;
|
||||
reference33 = questStep4;
|
||||
ref QuestStep reference34 = ref span11[2];
|
||||
QuestStep questStep5 = new QuestStep(EInteractionType.Interact, 1058843u, new Vector3(3.40271f, 0f, -8.590881f), 351);
|
||||
num3 = 6;
|
||||
List<QuestWorkValue> list44 = new List<QuestWorkValue>(num3);
|
||||
CollectionsMarshal.SetCount(list44, num3);
|
||||
Span<QuestWorkValue> span14 = CollectionsMarshal.AsSpan(list44);
|
||||
span14[0] = null;
|
||||
span14[1] = null;
|
||||
span14[2] = null;
|
||||
span14[3] = null;
|
||||
span14[4] = null;
|
||||
span14[5] = new QuestWorkValue((byte)6, (byte)8, EQuestWorkMode.Bitwise);
|
||||
questStep5.CompletionQuestVariablesFlags = list44;
|
||||
reference34 = questStep5;
|
||||
ref QuestStep reference35 = ref span11[3];
|
||||
QuestStep questStep6 = new QuestStep(EInteractionType.Interact, 1058841u, new Vector3(-3.0975952f, 0.018040119f, -10.086243f), 351);
|
||||
num3 = 6;
|
||||
List<QuestWorkValue> list45 = new List<QuestWorkValue>(num3);
|
||||
CollectionsMarshal.SetCount(list45, num3);
|
||||
Span<QuestWorkValue> span15 = CollectionsMarshal.AsSpan(list45);
|
||||
span15[0] = null;
|
||||
span15[1] = null;
|
||||
span15[2] = null;
|
||||
span15[3] = null;
|
||||
span15[4] = null;
|
||||
span15[5] = new QuestWorkValue((byte)14, (byte)8, EQuestWorkMode.Bitwise);
|
||||
questStep6.CompletionQuestVariablesFlags = list45;
|
||||
reference35 = questStep6;
|
||||
span11[4] = new QuestStep(EInteractionType.Interact, 1058844u, new Vector3(-6.240967f, 0.009977883f, -4.867676f), 351);
|
||||
obj29.Steps = list41;
|
||||
reference31 = obj29;
|
||||
ref QuestSequence reference36 = ref span9[3];
|
||||
QuestSequence obj30 = new QuestSequence
|
||||
{
|
||||
Sequence = byte.MaxValue
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list46 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list46, num2);
|
||||
CollectionsMarshal.AsSpan(list46)[0] = new QuestStep(EInteractionType.CompleteQuest, 1058861u, new Vector3(-0.015319824f, 0f, -7.2175903f), 351);
|
||||
obj30.Steps = list46;
|
||||
reference36 = obj30;
|
||||
questRoot5.QuestSequence = list38;
|
||||
AddQuest(questId5, questRoot5);
|
||||
QuestId questId6 = new QuestId(5479);
|
||||
QuestRoot questRoot6 = new QuestRoot();
|
||||
num = 1;
|
||||
List<string> list47 = new List<string>(num);
|
||||
CollectionsMarshal.SetCount(list47, num);
|
||||
CollectionsMarshal.AsSpan(list47)[0] = "WigglyMuffin";
|
||||
questRoot6.Author = list47;
|
||||
num = 7;
|
||||
List<QuestSequence> list48 = new List<QuestSequence>(num);
|
||||
CollectionsMarshal.SetCount(list48, num);
|
||||
Span<QuestSequence> span16 = CollectionsMarshal.AsSpan(list48);
|
||||
ref QuestSequence reference37 = ref span16[0];
|
||||
QuestSequence obj31 = new QuestSequence
|
||||
{
|
||||
Sequence = 0
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list49 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list49, num2);
|
||||
CollectionsMarshal.AsSpan(list49)[0] = new QuestStep(EInteractionType.AcceptQuest, 1054357u, new Vector3(141.2832f, 42f, -351.9494f), 1185)
|
||||
{
|
||||
AetheryteShortcut = EAetheryteLocation.Tuliyollal,
|
||||
AethernetShortcut = new AethernetShortcut
|
||||
{
|
||||
From = EAetheryteLocation.Tuliyollal,
|
||||
To = EAetheryteLocation.TuliyollalBrightploomPost
|
||||
},
|
||||
SkipConditions = new SkipConditions
|
||||
{
|
||||
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||
{
|
||||
InSameTerritory = true
|
||||
}
|
||||
}
|
||||
};
|
||||
obj31.Steps = list49;
|
||||
reference37 = obj31;
|
||||
ref QuestSequence reference38 = ref span16[1];
|
||||
QuestSequence obj32 = new QuestSequence
|
||||
{
|
||||
Sequence = 1
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list50 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list50, num2);
|
||||
CollectionsMarshal.AsSpan(list50)[0] = new QuestStep(EInteractionType.Interact, 1058885u, new Vector3(-262.92822f, 32f, -658.2894f), 1191)
|
||||
{
|
||||
Fly = true,
|
||||
AetheryteShortcut = EAetheryteLocation.HeritageFoundTheOutskirts
|
||||
};
|
||||
obj32.Steps = list50;
|
||||
reference38 = obj32;
|
||||
ref QuestSequence reference39 = ref span16[2];
|
||||
QuestSequence obj33 = new QuestSequence
|
||||
{
|
||||
Sequence = 2
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list51 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list51, num2);
|
||||
CollectionsMarshal.AsSpan(list51)[0] = new QuestStep(EInteractionType.Interact, 1058889u, new Vector3(464.8661f, -150.9661f, 473.10596f), 1189)
|
||||
{
|
||||
Fly = true,
|
||||
AetheryteShortcut = EAetheryteLocation.YakTelMamook
|
||||
};
|
||||
obj33.Steps = list51;
|
||||
reference39 = obj33;
|
||||
ref QuestSequence reference40 = ref span16[3];
|
||||
QuestSequence obj34 = new QuestSequence
|
||||
{
|
||||
Sequence = 3
|
||||
};
|
||||
num2 = 2;
|
||||
List<QuestStep> list52 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list52, num2);
|
||||
Span<QuestStep> span17 = CollectionsMarshal.AsSpan(list52);
|
||||
span17[0] = new QuestStep(EInteractionType.Interact, 2014450u, new Vector3(-528.37415f, -152.20874f, 671.13745f), 1189)
|
||||
{
|
||||
TargetTerritoryId = (ushort)1265,
|
||||
Fly = true
|
||||
};
|
||||
span17[1] = new QuestStep(EInteractionType.Interact, 1058894u, new Vector3(-11.062805f, 41.999992f, -5.0202637f), 1265);
|
||||
obj34.Steps = list52;
|
||||
reference40 = obj34;
|
||||
ref QuestSequence reference41 = ref span16[4];
|
||||
QuestSequence obj35 = new QuestSequence
|
||||
{
|
||||
Sequence = 4
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list53 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list53, num2);
|
||||
CollectionsMarshal.AsSpan(list53)[0] = new QuestStep(EInteractionType.Duty, null, null, 1265)
|
||||
{
|
||||
DutyOptions = new DutyOptions
|
||||
{
|
||||
ContentFinderConditionId = 1117u
|
||||
}
|
||||
};
|
||||
obj35.Steps = list53;
|
||||
reference41 = obj35;
|
||||
span16[5] = new QuestSequence
|
||||
{
|
||||
Sequence = 5
|
||||
};
|
||||
ref QuestSequence reference42 = ref span16[6];
|
||||
QuestSequence obj36 = new QuestSequence
|
||||
{
|
||||
Sequence = byte.MaxValue
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list54 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list54, num2);
|
||||
CollectionsMarshal.AsSpan(list54)[0] = new QuestStep(EInteractionType.CompleteQuest, 1058898u, new Vector3(-2.8534546f, 41.999977f, 1.7852783f), 1265)
|
||||
{
|
||||
NextQuestId = new QuestId(5480)
|
||||
};
|
||||
obj36.Steps = list54;
|
||||
reference42 = obj36;
|
||||
questRoot6.QuestSequence = list48;
|
||||
AddQuest(questId6, questRoot6);
|
||||
QuestId questId7 = new QuestId(5480);
|
||||
QuestRoot questRoot7 = new QuestRoot();
|
||||
num = 1;
|
||||
List<string> list55 = new List<string>(num);
|
||||
CollectionsMarshal.SetCount(list55, num);
|
||||
CollectionsMarshal.AsSpan(list55)[0] = "WigglyMuffin";
|
||||
questRoot7.Author = list55;
|
||||
num = 11;
|
||||
List<QuestSequence> list56 = new List<QuestSequence>(num);
|
||||
CollectionsMarshal.SetCount(list56, num);
|
||||
Span<QuestSequence> span18 = CollectionsMarshal.AsSpan(list56);
|
||||
ref QuestSequence reference43 = ref span18[0];
|
||||
QuestSequence obj37 = new QuestSequence
|
||||
{
|
||||
Sequence = 0
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list57 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list57, num2);
|
||||
CollectionsMarshal.AsSpan(list57)[0] = new QuestStep(EInteractionType.AcceptQuest, 1058898u, new Vector3(-2.8534546f, 41.999977f, 1.7852783f), 1265);
|
||||
obj37.Steps = list57;
|
||||
reference43 = obj37;
|
||||
ref QuestSequence reference44 = ref span18[1];
|
||||
QuestSequence obj38 = new QuestSequence
|
||||
{
|
||||
Sequence = 1
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list58 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list58, num2);
|
||||
CollectionsMarshal.AsSpan(list58)[0] = new QuestStep(EInteractionType.Interact, 1058924u, new Vector3(469.65735f, -150.94077f, 473.1975f), 1189)
|
||||
{
|
||||
Fly = true,
|
||||
AetheryteShortcut = EAetheryteLocation.YakTelMamook,
|
||||
SkipConditions = new SkipConditions
|
||||
{
|
||||
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||
{
|
||||
InSameTerritory = true
|
||||
}
|
||||
}
|
||||
};
|
||||
obj38.Steps = list58;
|
||||
reference44 = obj38;
|
||||
ref QuestSequence reference45 = ref span18[2];
|
||||
QuestSequence obj39 = new QuestSequence
|
||||
{
|
||||
Sequence = 2
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list59 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list59, num2);
|
||||
CollectionsMarshal.AsSpan(list59)[0] = new QuestStep(EInteractionType.Interact, 1058902u, new Vector3(-622.6444f, -182.22296f, 553.30725f), 1189);
|
||||
obj39.Steps = list59;
|
||||
reference45 = obj39;
|
||||
ref QuestSequence reference46 = ref span18[3];
|
||||
QuestSequence obj40 = new QuestSequence
|
||||
{
|
||||
Sequence = 3
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list60 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list60, num2);
|
||||
CollectionsMarshal.AsSpan(list60)[0] = new QuestStep(EInteractionType.Interact, 1058905u, new Vector3(686.7628f, -137.174f, 497.15417f), 1189);
|
||||
obj40.Steps = list60;
|
||||
reference46 = obj40;
|
||||
ref QuestSequence reference47 = ref span18[4];
|
||||
QuestSequence obj41 = new QuestSequence
|
||||
{
|
||||
Sequence = 4
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list61 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list61, num2);
|
||||
CollectionsMarshal.AsSpan(list61)[0] = new QuestStep(EInteractionType.Interact, 1058908u, new Vector3(-410.94073f, 3f, -60.16632f), 1185)
|
||||
{
|
||||
AetheryteShortcut = EAetheryteLocation.Tuliyollal,
|
||||
AethernetShortcut = new AethernetShortcut
|
||||
{
|
||||
From = EAetheryteLocation.Tuliyollal,
|
||||
To = EAetheryteLocation.TuliyollalDirigibleLanding
|
||||
}
|
||||
};
|
||||
obj41.Steps = list61;
|
||||
reference47 = obj41;
|
||||
ref QuestSequence reference48 = ref span18[5];
|
||||
QuestSequence obj42 = new QuestSequence
|
||||
{
|
||||
Sequence = 5
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list62 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list62, num2);
|
||||
CollectionsMarshal.AsSpan(list62)[0] = new QuestStep(EInteractionType.Interact, 1054357u, new Vector3(141.2832f, 42f, -351.9494f), 1185)
|
||||
{
|
||||
AethernetShortcut = new AethernetShortcut
|
||||
{
|
||||
From = EAetheryteLocation.TuliyollalDirigibleLanding,
|
||||
To = EAetheryteLocation.TuliyollalBrightploomPost
|
||||
}
|
||||
};
|
||||
obj42.Steps = list62;
|
||||
reference48 = obj42;
|
||||
ref QuestSequence reference49 = ref span18[6];
|
||||
QuestSequence obj43 = new QuestSequence
|
||||
{
|
||||
Sequence = 6
|
||||
};
|
||||
num2 = 2;
|
||||
List<QuestStep> list63 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list63, num2);
|
||||
Span<QuestStep> span19 = CollectionsMarshal.AsSpan(list63);
|
||||
span19[0] = new QuestStep(EInteractionType.WalkTo, null, new Vector3(-17.027401f, -19.328289f, 189.65439f), 1185)
|
||||
{
|
||||
StopDistance = 0.5f,
|
||||
AethernetShortcut = new AethernetShortcut
|
||||
{
|
||||
From = EAetheryteLocation.TuliyollalBrightploomPost,
|
||||
To = EAetheryteLocation.TuliyollalTheForardCabins
|
||||
}
|
||||
};
|
||||
span19[1] = new QuestStep(EInteractionType.Interact, 1058910u, new Vector3(-19.183992f, -19.328289f, 189.95901f), 1185);
|
||||
obj43.Steps = list63;
|
||||
reference49 = obj43;
|
||||
ref QuestSequence reference50 = ref span18[7];
|
||||
QuestSequence obj44 = new QuestSequence
|
||||
{
|
||||
Sequence = 7
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list64 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list64, num2);
|
||||
ref QuestStep reference51 = ref CollectionsMarshal.AsSpan(list64)[0];
|
||||
QuestStep questStep7 = new QuestStep(EInteractionType.Interact, 1058912u, new Vector3(-80.27777f, -19.328289f, 185.8396f), 1185);
|
||||
num3 = 1;
|
||||
List<DialogueChoice> list65 = new List<DialogueChoice>(num3);
|
||||
CollectionsMarshal.SetCount(list65, num3);
|
||||
CollectionsMarshal.AsSpan(list65)[0] = new DialogueChoice
|
||||
{
|
||||
Type = EDialogChoiceType.YesNo,
|
||||
Prompt = new ExcelRef("TEXT_KINGEA302_05480_Q5_000_000")
|
||||
};
|
||||
questStep7.DialogueChoices = list65;
|
||||
reference51 = questStep7;
|
||||
obj44.Steps = list64;
|
||||
reference50 = obj44;
|
||||
ref QuestSequence reference52 = ref span18[8];
|
||||
QuestSequence obj45 = new QuestSequence
|
||||
{
|
||||
Sequence = 8
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list66 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list66, num2);
|
||||
CollectionsMarshal.AsSpan(list66)[0] = new QuestStep(EInteractionType.Interact, 1058915u, new Vector3(-0.5340576f, 41.999996f, -115.739685f), 1265);
|
||||
obj45.Steps = list66;
|
||||
reference52 = obj45;
|
||||
ref QuestSequence reference53 = ref span18[9];
|
||||
QuestSequence obj46 = new QuestSequence
|
||||
{
|
||||
Sequence = 9
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list67 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list67, num2);
|
||||
CollectionsMarshal.AsSpan(list67)[0] = new QuestStep(EInteractionType.Interact, 1058919u, new Vector3(-2.7314453f, 42f, -112.474304f), 1265);
|
||||
obj46.Steps = list67;
|
||||
reference53 = obj46;
|
||||
ref QuestSequence reference54 = ref span18[10];
|
||||
QuestSequence obj47 = new QuestSequence
|
||||
{
|
||||
Sequence = byte.MaxValue
|
||||
};
|
||||
num2 = 1;
|
||||
List<QuestStep> list68 = new List<QuestStep>(num2);
|
||||
CollectionsMarshal.SetCount(list68, num2);
|
||||
CollectionsMarshal.AsSpan(list68)[0] = new QuestStep(EInteractionType.CompleteQuest, 1058927u, new Vector3(567.6814f, -131.41925f, 610.1013f), 1189)
|
||||
{
|
||||
AetheryteShortcut = EAetheryteLocation.YakTelMamook,
|
||||
SkipConditions = new SkipConditions
|
||||
{
|
||||
AetheryteShortcutIf = new SkipAetheryteCondition
|
||||
{
|
||||
InSameTerritory = true
|
||||
}
|
||||
}
|
||||
};
|
||||
obj47.Steps = list68;
|
||||
reference54 = obj47;
|
||||
questRoot7.QuestSequence = list56;
|
||||
AddQuest(questId7, questRoot7);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Runtime.InteropServices;
|
||||
using System.Text;
|
||||
using Dalamud.Game.Addon.Lifecycle;
|
||||
|
|
@ -114,8 +113,6 @@ internal sealed class ChocoboNameHandler : IDisposable
|
|||
|
||||
private unsafe void FireInputStringCallback(AtkUnitBase* addon, string text)
|
||||
{
|
||||
//IL_005b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00a1: Unknown result type (might be due to invalid IL or missing references)
|
||||
AtkComponentNode* componentNodeById = addon->GetComponentNodeById(9u);
|
||||
if (componentNodeById == null)
|
||||
{
|
||||
|
|
@ -130,13 +127,13 @@ internal sealed class ChocoboNameHandler : IDisposable
|
|||
}
|
||||
asAtkComponentTextInput->SetText(text);
|
||||
AtkValue* ptr = stackalloc AtkValue[2];
|
||||
Unsafe.Write(&ptr->Type, (AtkValueType)3);
|
||||
ptr->Type = AtkValueType.Int;
|
||||
ptr->Int = 0;
|
||||
byte[] bytes = Encoding.UTF8.GetBytes(text);
|
||||
nint num = Marshal.AllocHGlobal(bytes.Length + 1);
|
||||
Marshal.Copy(bytes, 0, num, bytes.Length);
|
||||
Marshal.WriteByte(num + bytes.Length, 0);
|
||||
Unsafe.Write(&ptr[1].Type, (AtkValueType)8);
|
||||
ptr[1].Type = AtkValueType.String;
|
||||
ptr[1].String = (byte*)num;
|
||||
addon->FireCallback(2u, ptr);
|
||||
Marshal.FreeHGlobal(num);
|
||||
|
|
@ -144,9 +141,8 @@ internal sealed class ChocoboNameHandler : IDisposable
|
|||
|
||||
private unsafe static void ClickYes(AtkUnitBase* addon)
|
||||
{
|
||||
//IL_000e: Unknown result type (might be due to invalid IL or missing references)
|
||||
AtkValue* ptr = stackalloc AtkValue[1];
|
||||
Unsafe.Write(&ptr->Type, (AtkValueType)3);
|
||||
ptr->Type = AtkValueType.Int;
|
||||
ptr->Int = 0;
|
||||
addon->FireCallback(1u, ptr);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -54,8 +54,6 @@ internal sealed class CraftworksSupplyController : IDisposable
|
|||
|
||||
private unsafe void InteractWithBankaCraftworksSupply(AtkUnitBase* addon)
|
||||
{
|
||||
//IL_006d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0093: Unknown result type (might be due to invalid IL or missing references)
|
||||
AtkValue* atkValues = addon->AtkValues;
|
||||
uint uInt = atkValues[7].UInt;
|
||||
uint num = 6 - uInt;
|
||||
|
|
@ -68,12 +66,12 @@ internal sealed class CraftworksSupplyController : IDisposable
|
|||
{
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)3,
|
||||
Type = AtkValueType.Int,
|
||||
Int = 2
|
||||
},
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)3,
|
||||
Type = AtkValueType.Int,
|
||||
Int = i
|
||||
}
|
||||
};
|
||||
|
|
@ -90,11 +88,6 @@ internal sealed class CraftworksSupplyController : IDisposable
|
|||
|
||||
private unsafe void ContextIconMenuPostReceiveEvent(AddonEvent type, AddonArgs args)
|
||||
{
|
||||
//IL_0084: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0100: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0129: Unknown result type (might be due to invalid IL or missing references)
|
||||
if (!ShouldHandleUiInteractions)
|
||||
{
|
||||
return;
|
||||
|
|
@ -117,27 +110,27 @@ internal sealed class CraftworksSupplyController : IDisposable
|
|||
{
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)3,
|
||||
Type = AtkValueType.Int,
|
||||
Int = 0
|
||||
},
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)3,
|
||||
Type = AtkValueType.Int,
|
||||
Int = 0
|
||||
},
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)5,
|
||||
Type = AtkValueType.UInt,
|
||||
UInt = 20802u
|
||||
},
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)5,
|
||||
Type = AtkValueType.UInt,
|
||||
UInt = 0u
|
||||
},
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)0,
|
||||
Type = AtkValueType.Undefined,
|
||||
Int = 0
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -186,8 +186,6 @@ internal sealed class InteractionUiController : IDisposable
|
|||
|
||||
private unsafe void SelectStringPostSetup(AddonSelectString* addonSelectString, bool checkAllSteps)
|
||||
{
|
||||
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0052: Invalid comparison between Unknown and I4
|
||||
if (!ShouldHandleUiInteractions)
|
||||
{
|
||||
return;
|
||||
|
|
@ -200,7 +198,7 @@ internal sealed class InteractionUiController : IDisposable
|
|||
List<string> list = new List<string>();
|
||||
for (ushort num = 7; num < addonSelectString->AtkUnitBase.AtkValuesCount; num++)
|
||||
{
|
||||
if ((int)addonSelectString->AtkUnitBase.AtkValues[(int)num].Type == 8)
|
||||
if (addonSelectString->AtkUnitBase.AtkValues[(int)num].Type == AtkValueType.String)
|
||||
{
|
||||
list.Add(addonSelectString->AtkUnitBase.AtkValues[(int)num].ReadAtkString());
|
||||
}
|
||||
|
|
@ -874,8 +872,6 @@ internal sealed class InteractionUiController : IDisposable
|
|||
|
||||
private unsafe void DifficultySelectYesNoPostSetup(AtkUnitBase* addonDifficultySelectYesNo, bool checkAllSteps)
|
||||
{
|
||||
//IL_00f6: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_011c: Unknown result type (might be due to invalid IL or missing references)
|
||||
if (!_questController.IsRunning)
|
||||
{
|
||||
return;
|
||||
|
|
@ -903,12 +899,12 @@ internal sealed class InteractionUiController : IDisposable
|
|||
{
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)3,
|
||||
Type = AtkValueType.Int,
|
||||
Int = 0
|
||||
},
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)3,
|
||||
Type = AtkValueType.Int,
|
||||
Int = _configuration.SinglePlayerDuties.RetryDifficulty
|
||||
}
|
||||
};
|
||||
|
|
@ -996,8 +992,6 @@ internal sealed class InteractionUiController : IDisposable
|
|||
|
||||
private unsafe void PointMenuPostSetup(AtkUnitBase* addonPointMenu)
|
||||
{
|
||||
//IL_00f5: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_011c: Unknown result type (might be due to invalid IL or missing references)
|
||||
if (!ShouldHandleUiInteractions)
|
||||
{
|
||||
return;
|
||||
|
|
@ -1035,12 +1029,12 @@ internal sealed class InteractionUiController : IDisposable
|
|||
{
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)3,
|
||||
Type = AtkValueType.Int,
|
||||
Int = 13
|
||||
},
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)5,
|
||||
Type = AtkValueType.UInt,
|
||||
UInt = num
|
||||
}
|
||||
};
|
||||
|
|
@ -1060,9 +1054,6 @@ internal sealed class InteractionUiController : IDisposable
|
|||
|
||||
private unsafe void EasterMowingResultPostSetup(AddonEvent type, AddonArgs args)
|
||||
{
|
||||
//IL_004d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0072: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_009a: Unknown result type (might be due to invalid IL or missing references)
|
||||
if (_seasonalDutyController.IsRunning || ShouldHandleUiInteractions)
|
||||
{
|
||||
_logger.LogInformation("Dismissing EasterMowingResult");
|
||||
|
|
@ -1071,17 +1062,17 @@ internal sealed class InteractionUiController : IDisposable
|
|||
{
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)3,
|
||||
Type = AtkValueType.Int,
|
||||
Int = -1
|
||||
},
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)3,
|
||||
Type = AtkValueType.Int,
|
||||
Int = 1
|
||||
},
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)3,
|
||||
Type = AtkValueType.Int,
|
||||
Int = 1
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -137,30 +137,26 @@ internal sealed class ShopController : IDisposable, IShopWindow
|
|||
|
||||
public unsafe void TriggerPurchase(AtkUnitBase* addonShop, int buyNow)
|
||||
{
|
||||
//IL_0016: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_003b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0072: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_009a: Unknown result type (might be due to invalid IL or missing references)
|
||||
AtkValue* values = stackalloc AtkValue[4]
|
||||
{
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)3,
|
||||
Type = AtkValueType.Int,
|
||||
Int = 0
|
||||
},
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)3,
|
||||
Type = AtkValueType.Int,
|
||||
Int = _shop.ItemForSale.Position
|
||||
},
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)3,
|
||||
Type = AtkValueType.Int,
|
||||
Int = buyNow
|
||||
},
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)0,
|
||||
Type = AtkValueType.Undefined,
|
||||
Int = 0
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -41,8 +41,6 @@ internal static class TurnInDelivery
|
|||
|
||||
public unsafe override ETaskResult Update()
|
||||
{
|
||||
//IL_0180: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01a6: Unknown result type (might be due to invalid IL or missing references)
|
||||
AgentSatisfactionSupply* ptr = AgentSatisfactionSupply.Instance();
|
||||
if (ptr == null || !ptr->IsAgentActive())
|
||||
{
|
||||
|
|
@ -89,12 +87,12 @@ internal static class TurnInDelivery
|
|||
{
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)3,
|
||||
Type = AtkValueType.Int,
|
||||
Int = 1
|
||||
},
|
||||
new AtkValue
|
||||
{
|
||||
Type = (AtkValueType)3,
|
||||
Type = AtkValueType.Int,
|
||||
Int = 1
|
||||
}
|
||||
};
|
||||
|
|
|
|||
|
|
@ -107,7 +107,7 @@ internal static class ClearObjectsWithAction
|
|||
foreach (IGameObject item in objectTable)
|
||||
{
|
||||
ObjectKind objectKind = item.ObjectKind;
|
||||
if ((objectKind == ObjectKind.Player || objectKind - 8 <= ObjectKind.BattleNpc || objectKind == ObjectKind.Housing) ? true : false)
|
||||
if ((objectKind == ObjectKind.Pc || objectKind - 8 <= ObjectKind.BattleNpc || objectKind == ObjectKind.HousingEventObject) ? true : false)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
@ -138,7 +138,7 @@ internal static class ClearObjectsWithAction
|
|||
foreach (IGameObject item in objectTable)
|
||||
{
|
||||
ObjectKind objectKind = item.ObjectKind;
|
||||
if ((objectKind == ObjectKind.Player || objectKind - 8 <= ObjectKind.BattleNpc || objectKind == ObjectKind.Housing) ? true : false)
|
||||
if ((objectKind == ObjectKind.Pc || objectKind - 8 <= ObjectKind.BattleNpc || objectKind == ObjectKind.HousingEventObject) ? true : false)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ internal sealed class MoveToObjectExecutor(MovementController movementController
|
|||
foreach (IGameObject item in objectTable)
|
||||
{
|
||||
ObjectKind objectKind = item.ObjectKind;
|
||||
bool flag = ((objectKind == ObjectKind.Player || objectKind - 8 <= ObjectKind.BattleNpc || objectKind == ObjectKind.Housing) ? true : false);
|
||||
bool flag = ((objectKind == ObjectKind.Pc || objectKind - 8 <= ObjectKind.BattleNpc || objectKind == ObjectKind.HousingEventObject) ? true : false);
|
||||
if (!flag && item.BaseId == dataId)
|
||||
{
|
||||
float num3 = Vector3.Distance(gameObject.Position, item.Position);
|
||||
|
|
|
|||
|
|
@ -415,7 +415,7 @@ internal sealed class CombatController : IDisposable
|
|||
return (Priority: 90, Reason: "KED");
|
||||
}
|
||||
Dalamud.Game.ClientState.Objects.Enums.BattleNpcSubKind battleNpcKind = battleNpc.BattleNpcKind;
|
||||
if ((battleNpcKind == Dalamud.Game.ClientState.Objects.Enums.BattleNpcSubKind.BattleNpcPart || battleNpcKind == Dalamud.Game.ClientState.Objects.Enums.BattleNpcSubKind.Enemy) ? true : false)
|
||||
if ((battleNpcKind == Dalamud.Game.ClientState.Objects.Enums.BattleNpcSubKind.BNpcPart || battleNpcKind == Dalamud.Game.ClientState.Objects.Enums.BattleNpcSubKind.Combatant) ? true : false)
|
||||
{
|
||||
uint namePlateIconId = address->NamePlateIconId;
|
||||
if ((namePlateIconId == 60093 || namePlateIconId == 60732) ? true : false)
|
||||
|
|
|
|||
|
|
@ -139,11 +139,11 @@ internal sealed class MovementController : IDisposable
|
|||
get
|
||||
{
|
||||
Task<List<Vector3>> pathfindTask = _pathfindTask;
|
||||
if (pathfindTask != null)
|
||||
if (pathfindTask == null || pathfindTask.IsCompleted)
|
||||
{
|
||||
return !pathfindTask.IsCompleted;
|
||||
return _navmeshIpc.IsSimpleMovePathfindInProgress;
|
||||
}
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -473,34 +473,20 @@ internal sealed class MovementController : IDisposable
|
|||
to = vector;
|
||||
}
|
||||
PrepareNavigation(type, dataId, to, fly, sprint, stopDistance, verticalStopDistance ?? 1.95f, land, useNavmesh: true);
|
||||
_logger.LogInformation("Pathfinding to {Destination}", Destination);
|
||||
_logger.LogInformation("Pathfinding to {Destination} via SimpleMove", Destination);
|
||||
Destination.NavmeshCalculations++;
|
||||
_cancellationTokenSource = new CancellationTokenSource();
|
||||
_cancellationTokenSource.CancelAfter(TimeSpan.FromSeconds(30L));
|
||||
Vector3 vector2 = _objectTable[0]?.Position ?? Vector3.Zero;
|
||||
if (fly && _aetheryteData.CalculateDistance(vector2, _clientState.TerritoryType, EAetheryteLocation.CoerthasCentralHighlandsCampDragonhead) < 11f)
|
||||
float range = stopDistance ?? 2.8f;
|
||||
if (!_navmeshIpc.SimplePathfindAndMoveCloseTo(to, fly, range))
|
||||
{
|
||||
Vector3 vector = vector2;
|
||||
vector.Y = vector2.Y + 1f;
|
||||
vector2 = vector;
|
||||
_logger.LogInformation("Using modified start position for flying pathfinding: {StartPosition}", vector2.ToString("G", CultureInfo.InvariantCulture));
|
||||
}
|
||||
else if (fly)
|
||||
_logger.LogWarning("SimpleMove rejected pathfind request (already in progress), stopping first");
|
||||
_navmeshIpc.Stop();
|
||||
if (!_navmeshIpc.SimplePathfindAndMoveCloseTo(to, fly, range))
|
||||
{
|
||||
Vector3 vector = vector2;
|
||||
vector.Y = vector2.Y + 0.2f;
|
||||
vector2 = vector;
|
||||
_logger.LogWarning("SimpleMove still rejected after stop");
|
||||
}
|
||||
_pathfindStartTime = Environment.TickCount64;
|
||||
if (fly && land)
|
||||
{
|
||||
_logger.LogInformation("Using tolerance-based pathfinding for landing (tolerance: 5.0)");
|
||||
_pathfindTask = _navmeshIpc.PathfindWithTolerance(vector2, to, fly, 5f, _cancellationTokenSource.Token);
|
||||
}
|
||||
else
|
||||
{
|
||||
_pathfindTask = _navmeshIpc.Pathfind(vector2, to, fly, _cancellationTokenSource.Token);
|
||||
}
|
||||
MovementStartedAt = DateTime.Now;
|
||||
StartPlayerInputTracking();
|
||||
}
|
||||
|
||||
public void NavigateTo(EMovementType type, uint? dataId, List<Vector3> to, bool fly, bool sprint, float? stopDistance, float? verticalStopDistance = null, bool land = false)
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -43,6 +43,12 @@ internal sealed class NavmeshIpc
|
|||
|
||||
private readonly ICallGateSubscriber<bool> _navRebuild;
|
||||
|
||||
private readonly ICallGateSubscriber<Vector3, bool, bool> _simpleMovePathfindAndMoveTo;
|
||||
|
||||
private readonly ICallGateSubscriber<Vector3, bool, float, bool> _simpleMovePathfindAndMoveCloseTo;
|
||||
|
||||
private readonly ICallGateSubscriber<bool> _simpleMovePathfindInProgress;
|
||||
|
||||
public bool IsNavmeshAvailable
|
||||
{
|
||||
get
|
||||
|
|
@ -123,6 +129,21 @@ internal sealed class NavmeshIpc
|
|||
}
|
||||
}
|
||||
|
||||
public bool IsSimpleMovePathfindInProgress
|
||||
{
|
||||
get
|
||||
{
|
||||
try
|
||||
{
|
||||
return _simpleMovePathfindInProgress.InvokeFunc();
|
||||
}
|
||||
catch (IpcError)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public NavmeshIpc(IDalamudPluginInterface pluginInterface, ILogger<NavmeshIpc> logger)
|
||||
{
|
||||
_pluginInterface = pluginInterface;
|
||||
|
|
@ -141,6 +162,9 @@ internal sealed class NavmeshIpc
|
|||
_buildProgress = pluginInterface.GetIpcSubscriber<float>("vnavmesh.Nav.BuildProgress");
|
||||
_navReload = pluginInterface.GetIpcSubscriber<bool>("vnavmesh.Nav.Reload");
|
||||
_navRebuild = pluginInterface.GetIpcSubscriber<bool>("vnavmesh.Nav.Rebuild");
|
||||
_simpleMovePathfindAndMoveTo = pluginInterface.GetIpcSubscriber<Vector3, bool, bool>("vnavmesh.SimpleMove.PathfindAndMoveTo");
|
||||
_simpleMovePathfindAndMoveCloseTo = pluginInterface.GetIpcSubscriber<Vector3, bool, float, bool>("vnavmesh.SimpleMove.PathfindAndMoveCloseTo");
|
||||
_simpleMovePathfindInProgress = pluginInterface.GetIpcSubscriber<bool>("vnavmesh.SimpleMove.PathfindInProgress");
|
||||
}
|
||||
|
||||
public void Stop()
|
||||
|
|
@ -280,6 +304,40 @@ internal sealed class NavmeshIpc
|
|||
}
|
||||
}
|
||||
|
||||
public bool SimplePathfindAndMoveTo(Vector3 destination, bool fly)
|
||||
{
|
||||
if (!IsNavmeshAvailable)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
try
|
||||
{
|
||||
return _simpleMovePathfindAndMoveTo.InvokeFunc(destination, fly);
|
||||
}
|
||||
catch (IpcError exception)
|
||||
{
|
||||
_logger.LogWarning(exception, "Could not pathfind and move via SimpleMove");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public bool SimplePathfindAndMoveCloseTo(Vector3 destination, bool fly, float range)
|
||||
{
|
||||
if (!IsNavmeshAvailable)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
try
|
||||
{
|
||||
return _simpleMovePathfindAndMoveCloseTo.InvokeFunc(destination, fly, range);
|
||||
}
|
||||
catch (IpcError exception)
|
||||
{
|
||||
_logger.LogWarning(exception, "Could not pathfind and move close to via SimpleMove");
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public List<Vector3> GetWaypoints()
|
||||
{
|
||||
if (IsPathRunning)
|
||||
|
|
|
|||
|
|
@ -126,7 +126,7 @@ internal sealed class GameFunctions
|
|||
foreach (IGameObject item in _objectTable)
|
||||
{
|
||||
Dalamud.Game.ClientState.Objects.Enums.ObjectKind objectKind = item.ObjectKind;
|
||||
bool flag = ((objectKind == Dalamud.Game.ClientState.Objects.Enums.ObjectKind.Player || objectKind - 8 <= Dalamud.Game.ClientState.Objects.Enums.ObjectKind.BattleNpc || objectKind == Dalamud.Game.ClientState.Objects.Enums.ObjectKind.Housing) ? true : false);
|
||||
bool flag = ((objectKind == Dalamud.Game.ClientState.Objects.Enums.ObjectKind.Pc || objectKind - 8 <= Dalamud.Game.ClientState.Objects.Enums.ObjectKind.BattleNpc || objectKind == Dalamud.Game.ClientState.Objects.Enums.ObjectKind.HousingEventObject) ? true : false);
|
||||
if (!flag && (item == null || item.ObjectKind != Dalamud.Game.ClientState.Objects.Enums.ObjectKind.GatheringPoint || item.IsTargetable) && item.BaseId == dataId && (!kind.HasValue || kind.Value == item.ObjectKind))
|
||||
{
|
||||
return item;
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Numerics;
|
||||
using Dalamud.Bindings.ImGui;
|
||||
|
|
@ -41,41 +40,26 @@ internal static class ChangelogCategoryComponent
|
|||
{
|
||||
float cursorPosY = ImGui.GetCursorPosY();
|
||||
ImGui.SetCursorPosX(baseX);
|
||||
FontDisposable val = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.TextColored(in color, icon.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
ImGui.SetCursorPosY(cursorPosY);
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.Text, color, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, color))
|
||||
{
|
||||
ImGui.TextUnformatted(text);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private static void DrawChange(ChangeEntry change, float baseX, float changeIndent)
|
||||
{
|
||||
ImGui.SetCursorPosX(baseX + changeIndent);
|
||||
float cursorPosY = ImGui.GetCursorPosY();
|
||||
FontDisposable val = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.TextColored(new Vector4(0.95f, 0.95f, 1f, 1f), FontAwesomeIcon.CaretRight.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
ImGui.SetCursorPosY(cursorPosY);
|
||||
float num = ImGui.GetContentRegionAvail().X - 8f;
|
||||
|
|
@ -95,15 +79,10 @@ internal static class ChangelogCategoryComponent
|
|||
{
|
||||
ImGui.SetCursorPosX(baseX + num);
|
||||
float cursorPosY = ImGui.GetCursorPosY();
|
||||
FontDisposable val = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.TextColored(new Vector4(0.85f, 0.85f, 0.92f, 1f), FontAwesomeIcon.AngleRight.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
ImGui.SetCursorPosY(cursorPosY);
|
||||
float num2 = ImGui.GetContentRegionAvail().X - 8f;
|
||||
|
|
|
|||
|
|
@ -37,28 +37,20 @@ internal sealed class ChangelogEntryComponent
|
|||
string text2 = "v" + changelog.Version;
|
||||
float fontSize = ImGui.GetFontSize();
|
||||
float num = fontSize;
|
||||
FontDisposable val = ImRaii.PushFont(UiBuilder.MonoFont, true);
|
||||
Vector2 versionSize;
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.MonoFont))
|
||||
{
|
||||
versionSize = ImGui.CalcTextSize(text2);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
Vector2 dateSize = ImGui.CalcTextSize(text);
|
||||
float scaledIconFontSize = fontSize * 0.85f;
|
||||
float x = ImGui.GetContentRegionAvail().X;
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.Header, new Vector4(0.2f, 0.18f, 0.25f, 0.6f), true);
|
||||
bool flag;
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Header, new Vector4(0.2f, 0.18f, 0.25f, 0.6f)))
|
||||
{
|
||||
ColorDisposable val3 = ImRaii.PushColor(ImGuiCol.HeaderHovered, new Vector4(0.3f, 0.25f, 0.35f, 0.8f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.HeaderHovered, new Vector4(0.3f, 0.25f, 0.35f, 0.8f)))
|
||||
{
|
||||
ColorDisposable val4 = ImRaii.PushColor(ImGuiCol.HeaderActive, new Vector4(0.25f, 0.22f, 0.3f, 1f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.HeaderActive, new Vector4(0.25f, 0.22f, 0.3f, 1f)))
|
||||
{
|
||||
Vector2 cursorPos = ImGui.GetCursorPos();
|
||||
Vector2 cursorScreenPos = ImGui.GetCursorScreenPos();
|
||||
|
|
@ -75,20 +67,8 @@ internal sealed class ChangelogEntryComponent
|
|||
DrawDateWithIcon(text, dateSize, scaledIconFontSize, cursorScreenPos, cursorPos, x, verticalOffset, fontSize);
|
||||
ImGui.SetCursorPos(cursorPos2);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val4)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
if (flag)
|
||||
{
|
||||
DrawChangelogContent(changelog);
|
||||
|
|
@ -98,16 +78,11 @@ internal sealed class ChangelogEntryComponent
|
|||
private static void DrawVersionText(string versionText, Vector2 versionSize, Vector2 headerStartPos, float verticalOffset)
|
||||
{
|
||||
float x = headerStartPos.X + ImGui.GetStyle().FramePadding.X * 2f + 20f;
|
||||
FontDisposable val = ImRaii.PushFont(UiBuilder.MonoFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.MonoFont))
|
||||
{
|
||||
ImGui.SetCursorPos(new Vector2(x, headerStartPos.Y + verticalOffset));
|
||||
ImGui.TextColored(new Vector4(0.95f, 0.95f, 0.95f, 1f), versionText);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawNewBadge(bool isNew, Vector2 headerStartScreenPos, float availableWidth)
|
||||
|
|
@ -125,16 +100,11 @@ internal sealed class ChangelogEntryComponent
|
|||
private static void DrawDateWithIcon(string dateText, Vector2 dateSize, float scaledIconFontSize, Vector2 headerStartScreenPos, Vector2 headerStartPos, float availableWidth, float verticalOffset, float defaultFontSize)
|
||||
{
|
||||
string text = FontAwesomeIcon.Calendar.ToIconString();
|
||||
FontDisposable val = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
Vector2 vector;
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
vector = ImGui.CalcTextSize(text);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
float num = vector.X * (scaledIconFontSize / defaultFontSize);
|
||||
float num2 = num + 4f + dateSize.X;
|
||||
float num3 = availableWidth - num2 - 12f;
|
||||
|
|
|
|||
|
|
@ -19,33 +19,18 @@ internal sealed class ChangelogFooterComponent
|
|||
float num = 120f;
|
||||
float num2 = (ImGui.GetContentRegionAvail().X - num) * 0.5f;
|
||||
ImGui.SetCursorPosX(ImGui.GetCursorPosX() + num2);
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Button, new Vector4(0.55f, 0.45f, 0.75f, 0.6f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Button, new Vector4(0.55f, 0.45f, 0.75f, 0.6f)))
|
||||
{
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.ButtonHovered, new Vector4(0.65f, 0.55f, 0.85f, 0.8f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.ButtonHovered, new Vector4(0.65f, 0.55f, 0.85f, 0.8f)))
|
||||
{
|
||||
ColorDisposable val3 = ImRaii.PushColor(ImGuiCol.ButtonActive, new Vector4(0.75f, 0.55f, 0.95f, 1f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.ButtonActive, new Vector4(0.75f, 0.55f, 0.95f, 1f)))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.CheckCircle, "Got It!"))
|
||||
{
|
||||
onConfirm();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -162,8 +162,7 @@ internal sealed class ChangelogHeaderComponent
|
|||
drawList.AddCircleFilled(center, num * 0.4f, col);
|
||||
DrawAnimatedCross(drawList, center, flag);
|
||||
ImGui.SetCursorScreenPos(vector);
|
||||
ImGui.InvisibleButton("CloseButton", new Vector2(num, num));
|
||||
if (ImGui.IsItemClicked())
|
||||
if (ImGui.InvisibleButton("CloseButton", new Vector2(num, num)))
|
||||
{
|
||||
onCloseClicked(obj: false);
|
||||
}
|
||||
|
|
@ -200,8 +199,7 @@ internal sealed class ChangelogHeaderComponent
|
|||
{
|
||||
float num = MathF.Sin(_animationTime * 2f) * 3f;
|
||||
float num2 = MathF.Sin(_animationTime * 1.5f + (float)Math.PI / 2f) * 1.5f;
|
||||
FontDisposable val = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
string text = FontAwesomeIcon.FileAlt.ToIconString();
|
||||
ImGui.SetCursorPosX(centerX - ImGui.CalcTextSize(text).X * 0.5f + num2);
|
||||
|
|
@ -214,10 +212,6 @@ internal sealed class ChangelogHeaderComponent
|
|||
ImGui.TextColored(new Vector4(0.75f, 0.55f, 0.95f, 1f), text);
|
||||
ImGui.PopStyleVar();
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.SetCursorPosY(ImGui.GetCursorPosY() - num + 4f);
|
||||
}
|
||||
|
||||
|
|
@ -225,8 +219,7 @@ internal sealed class ChangelogHeaderComponent
|
|||
{
|
||||
float num = MathF.Max(0f, 1f - (_animationTime - 0.1f) * 3f);
|
||||
float num2 = num * num * (3f - 2f * num) * 20f;
|
||||
FontDisposable val = ImRaii.PushFont(UiBuilder.MonoFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.MonoFont))
|
||||
{
|
||||
string text = "What's New in Questionable?";
|
||||
ImGui.SetCursorPosX(centerX - ImGui.CalcTextSize(text).X * 0.5f - num2);
|
||||
|
|
@ -234,10 +227,6 @@ internal sealed class ChangelogHeaderComponent
|
|||
ImGui.TextColored(new Vector4(0.95f, 0.95f, 1f, 1f), text);
|
||||
ImGui.PopStyleVar();
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.SetCursorPosY(ImGui.GetCursorPosY() + 6f);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -51,16 +51,8 @@ internal sealed class BlacklistConfigComponent : ConfigComponent
|
|||
|
||||
public override void DrawTab()
|
||||
{
|
||||
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00aa: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
|
||||
TabItemDisposable val = ImRaii.TabItem((ImU8String)"Blacklist###QuestBlacklist");
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem("Blacklist###QuestBlacklist");
|
||||
if (!tabItemDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -74,10 +66,9 @@ internal sealed class BlacklistConfigComponent : ConfigComponent
|
|||
text.AppendFormatted(blacklistedQuests.Count);
|
||||
text.AppendLiteral("):");
|
||||
ImGui.Text(text);
|
||||
ChildDisposable val2 = ImRaii.Child((ImU8String)"BlacklistedQuestsList", new Vector2(-1f, 200f), true);
|
||||
try
|
||||
using (ImRaii.ChildDisposable childDisposable = ImRaii.Child("BlacklistedQuestsList", new Vector2(-1f, 200f), border: true))
|
||||
{
|
||||
if (ChildDisposable.op_Implicit(val2))
|
||||
if ((bool)childDisposable)
|
||||
{
|
||||
if (blacklistedQuests.Count > 0)
|
||||
{
|
||||
|
|
@ -85,14 +76,12 @@ internal sealed class BlacklistConfigComponent : ConfigComponent
|
|||
int num = 0;
|
||||
foreach (ElementId item in blacklistedQuests.OrderBy((ElementId x) => x.ToString()))
|
||||
{
|
||||
IdDisposable val3;
|
||||
if (!_questRegistry.TryGetQuest(item, out Quest quest))
|
||||
{
|
||||
ImU8String imU8String = new ImU8String(5, 1);
|
||||
imU8String.AppendLiteral("Quest");
|
||||
imU8String.AppendFormatted(item);
|
||||
val3 = ImRaii.PushId(imU8String, true);
|
||||
try
|
||||
ImU8String id = new ImU8String(5, 1);
|
||||
id.AppendLiteral("Quest");
|
||||
id.AppendFormatted(item);
|
||||
using (ImRaii.PushId(id))
|
||||
{
|
||||
ImGui.AlignTextToFramePadding();
|
||||
Vector4 col = new Vector4(0.7f, 0.7f, 0.7f, 1f);
|
||||
|
|
@ -107,18 +96,13 @@ internal sealed class BlacklistConfigComponent : ConfigComponent
|
|||
elementId = item;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
num++;
|
||||
continue;
|
||||
}
|
||||
ImU8String imU8String2 = new ImU8String(5, 1);
|
||||
imU8String2.AppendLiteral("Quest");
|
||||
imU8String2.AppendFormatted(item);
|
||||
val3 = ImRaii.PushId(imU8String2, true);
|
||||
try
|
||||
ImU8String id2 = new ImU8String(5, 1);
|
||||
id2.AppendLiteral("Quest");
|
||||
id2.AppendFormatted(item);
|
||||
using (ImRaii.PushId(id2))
|
||||
{
|
||||
(Vector4, FontAwesomeIcon, string) questStyle = _uiUtils.GetQuestStyle(item);
|
||||
bool flag;
|
||||
|
|
@ -146,10 +130,6 @@ internal sealed class BlacklistConfigComponent : ConfigComponent
|
|||
ImGui.SetTooltip("Remove from blacklist");
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
num++;
|
||||
}
|
||||
if (elementId != null)
|
||||
|
|
@ -166,17 +146,12 @@ internal sealed class BlacklistConfigComponent : ConfigComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val2)).Dispose();
|
||||
}
|
||||
_questSelector.DrawSelection();
|
||||
if (blacklistedQuests.Count <= 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
DisabledDisposable val4 = ImRaii.Disabled(!ImGui.IsKeyDown(ImGuiKey.ModCtrl));
|
||||
try
|
||||
using (ImRaii.Disabled(!ImGui.IsKeyDown(ImGuiKey.ModCtrl)))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Trash, "Clear All"))
|
||||
{
|
||||
|
|
@ -184,42 +159,28 @@ internal sealed class BlacklistConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val4)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
ImGui.SetTooltip("Hold CTRL to enable this button.");
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawCurrentlyAcceptedQuests()
|
||||
{
|
||||
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0036: Unknown result type (might be due to invalid IL or missing references)
|
||||
List<Quest> currentlyAcceptedQuests = GetCurrentlyAcceptedQuests();
|
||||
ImGui.Text("Currently Accepted Quests:");
|
||||
ChildDisposable val = ImRaii.Child((ImU8String)"AcceptedQuestsList", new Vector2(-1f, 100f), true);
|
||||
try
|
||||
using (ImRaii.ChildDisposable childDisposable = ImRaii.Child("AcceptedQuestsList", new Vector2(-1f, 100f), border: true))
|
||||
{
|
||||
if (ChildDisposable.op_Implicit(val))
|
||||
if ((bool)childDisposable)
|
||||
{
|
||||
if (currentlyAcceptedQuests.Count > 0)
|
||||
{
|
||||
foreach (Quest item in currentlyAcceptedQuests)
|
||||
{
|
||||
ImU8String imU8String = new ImU8String(13, 1);
|
||||
imU8String.AppendLiteral("AcceptedQuest");
|
||||
imU8String.AppendFormatted(item.Id);
|
||||
IdDisposable val2 = ImRaii.PushId(imU8String, true);
|
||||
try
|
||||
ImU8String id = new ImU8String(13, 1);
|
||||
id.AppendLiteral("AcceptedQuest");
|
||||
id.AppendFormatted(item.Id);
|
||||
using (ImRaii.PushId(id))
|
||||
{
|
||||
(Vector4, FontAwesomeIcon, string) questStyle = _uiUtils.GetQuestStyle(item.Id);
|
||||
bool flag = false;
|
||||
|
|
@ -238,8 +199,7 @@ internal sealed class BlacklistConfigComponent : ConfigComponent
|
|||
_questTooltipComponent.Draw(item.Info);
|
||||
}
|
||||
ImGui.SameLine(ImGui.GetContentRegionAvail().X - ImGui.CalcTextSize(FontAwesomeIcon.Ban.ToIconString()).X - ImGui.GetStyle().FramePadding.X * 2f);
|
||||
DisabledDisposable val3 = ImRaii.Disabled(flag2);
|
||||
try
|
||||
using (ImRaii.Disabled(flag2))
|
||||
{
|
||||
if (ImGuiComponents.IconButton($"##Blacklist{item.Id}", FontAwesomeIcon.Ban))
|
||||
{
|
||||
|
|
@ -247,19 +207,11 @@ internal sealed class BlacklistConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
ImGui.SetTooltip(flag2 ? "Quest already blacklisted" : "Add this quest to blacklist");
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -270,10 +222,6 @@ internal sealed class BlacklistConfigComponent : ConfigComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val)).Dispose();
|
||||
}
|
||||
ImGui.Spacing();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Dalamud.Bindings.ImGui;
|
||||
using Dalamud.Game.Text;
|
||||
|
|
@ -59,17 +58,10 @@ internal abstract class ConfigComponent
|
|||
|
||||
protected static void DrawNotes(bool enabledByDefault, IEnumerable<string> notes)
|
||||
{
|
||||
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0006: Expected O, but got Unknown
|
||||
//IL_0071: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0076: Unknown result type (might be due to invalid IL or missing references)
|
||||
ColorDisposable val = new ColorDisposable();
|
||||
try
|
||||
{
|
||||
val.Push(ImGuiCol.TextDisabled, (!enabledByDefault) ? ImGuiColors.DalamudYellow : ImGuiColors.ParsedBlue, true);
|
||||
using ImRaii.ColorDisposable colorDisposable = new ImRaii.ColorDisposable();
|
||||
colorDisposable.Push(ImGuiCol.TextDisabled, (!enabledByDefault) ? ImGuiColors.DalamudYellow : ImGuiColors.ParsedBlue);
|
||||
ImGui.SameLine();
|
||||
FontDisposable val2 = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
if (!enabledByDefault)
|
||||
{
|
||||
|
|
@ -80,16 +72,11 @@ internal abstract class ConfigComponent
|
|||
ImGui.TextDisabled(FontAwesomeIcon.InfoCircle.ToIconString());
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
if (!ImGui.IsItemHovered())
|
||||
{
|
||||
return;
|
||||
}
|
||||
TooltipDisposable val3 = ImRaii.Tooltip();
|
||||
try
|
||||
using (ImRaii.Tooltip())
|
||||
{
|
||||
ImGui.TextColored(ImGuiColors.DalamudYellow, "While testing, the following issues have been found:");
|
||||
foreach (string note in notes)
|
||||
|
|
@ -97,14 +84,5 @@ internal abstract class ConfigComponent
|
|||
ImGui.BulletText(note);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val3)).Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
using System;
|
||||
using Dalamud.Bindings.ImGui;
|
||||
using Dalamud.Interface.Colors;
|
||||
using Dalamud.Interface.Components;
|
||||
|
|
@ -16,13 +15,8 @@ internal sealed class DebugConfigComponent : ConfigComponent
|
|||
|
||||
public override void DrawTab()
|
||||
{
|
||||
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
TabItemDisposable val = ImRaii.TabItem((ImU8String)"Advanced###Debug");
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem("Advanced###Debug");
|
||||
if (!tabItemDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -36,12 +30,9 @@ internal sealed class DebugConfigComponent : ConfigComponent
|
|||
base.Configuration.Advanced.DebugOverlay = v;
|
||||
Save();
|
||||
}
|
||||
DisabledDisposable val2 = ImRaii.Disabled(!v);
|
||||
IndentDisposable val3;
|
||||
try
|
||||
using (ImRaii.Disabled(!v))
|
||||
{
|
||||
val3 = ImRaii.PushIndent(1, true);
|
||||
try
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
bool v2 = base.Configuration.Advanced.CombatDataOverlay;
|
||||
if (ImGui.Checkbox("Enable combat data overlay", ref v2))
|
||||
|
|
@ -50,14 +41,6 @@ internal sealed class DebugConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
bool v3 = base.Configuration.Advanced.NeverFly;
|
||||
if (ImGui.Checkbox("Disable flying (even if unlocked for the zone)", ref v3))
|
||||
|
|
@ -81,8 +64,7 @@ internal sealed class DebugConfigComponent : ConfigComponent
|
|||
ImGuiComponents.HelpMarker("The Party Watchdog stops Questionable when entering certain zones with other party members, or when entering unsupported content. Disabling this allows Questionable to continue working while in a party, but may cause unexpected behavior in group content.");
|
||||
ImGui.Separator();
|
||||
ImGui.Text("AutoDuty Settings");
|
||||
val3 = ImRaii.PushIndent(1, true);
|
||||
try
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
ImGui.AlignTextToFramePadding();
|
||||
bool v6 = base.Configuration.Advanced.DisableAutoDutyBareMode;
|
||||
|
|
@ -94,14 +76,9 @@ internal sealed class DebugConfigComponent : ConfigComponent
|
|||
ImGui.SameLine();
|
||||
ImGuiComponents.HelpMarker("Typically, the loop settings for AutoDuty are disabled when running dungeons with Questionable, since they can cause issues (or even shut down your PC).");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
ImGui.Separator();
|
||||
ImGui.Text("Quest/Interaction Skips");
|
||||
val3 = ImRaii.PushIndent(1, true);
|
||||
try
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
bool v7 = base.Configuration.Advanced.SkipAetherCurrents;
|
||||
if (ImGui.Checkbox("Don't pick up aether currents/aether current quests", ref v7))
|
||||
|
|
@ -144,22 +121,12 @@ internal sealed class DebugConfigComponent : ConfigComponent
|
|||
ImGui.SameLine();
|
||||
ImGuiComponents.HelpMarker("When enabled, Questionable will not attempt to turn-in and complete quests. This will do everything automatically except the final turn-in step.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawChocoboSettings()
|
||||
{
|
||||
ImGui.Text("Chocobo Settings");
|
||||
IndentDisposable val = ImRaii.PushIndent(1, true);
|
||||
try
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
ImGui.AlignTextToFramePadding();
|
||||
ImGui.Text("Chocobo Name:");
|
||||
|
|
@ -180,10 +147,6 @@ internal sealed class DebugConfigComponent : ConfigComponent
|
|||
ImGui.SameLine();
|
||||
ImGuiComponents.HelpMarker("The name to give your chocobo during the 'My Little Chocobo' quest.\nMust be 2-20 characters. First letter will be capitalized.\nIf left empty, defaults to 'Kweh'.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private static string FormatChocoboName(string name)
|
||||
|
|
|
|||
|
|
@ -106,28 +106,8 @@ internal sealed class DutyConfigComponent : ConfigComponent
|
|||
|
||||
public override void DrawTab()
|
||||
{
|
||||
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0260: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0265: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0267: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_027d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0282: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0284: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_02ae: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_02b3: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_02b5: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_02df: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_02e4: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_02e6: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0310: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0315: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0317: Unknown result type (might be due to invalid IL or missing references)
|
||||
TabItemDisposable val = ImRaii.TabItem((ImU8String)"Duties###Duties");
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem("Duties###Duties");
|
||||
if (!tabItemDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -139,28 +119,17 @@ internal sealed class DutyConfigComponent : ConfigComponent
|
|||
}
|
||||
ImGui.SameLine();
|
||||
ImGuiComponents.HelpMarker("The combat module used for this is configured by AutoDuty, ignoring whichever selection you've made in Questionable's \"General\" configuration.");
|
||||
DisabledDisposable val2 = ImRaii.Disabled(!v);
|
||||
try
|
||||
using (ImRaii.Disabled(!v))
|
||||
{
|
||||
IndentDisposable val3 = ImRaii.PushIndent(ImGui.GetFrameHeight() + ImGui.GetStyle().ItemInnerSpacing.X, true, true);
|
||||
try
|
||||
using (ImRaii.PushIndent(ImGui.GetFrameHeight() + ImGui.GetStyle().ItemInnerSpacing.X))
|
||||
{
|
||||
ColorDisposable val4 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed))
|
||||
{
|
||||
ImGui.TextUnformatted("Work in Progress:");
|
||||
ImGui.BulletText("Duty Support mode is limited.");
|
||||
ImGui.BulletText("Unsynced modes require being significantly overleveled or having a high-level party member.");
|
||||
ImGui.BulletText("Most players will need to use Duty Support mode when progressing normally through the game.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val4)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
ImGui.Spacing();
|
||||
bool v2 = base.Configuration.Duties.RunLevelingModeWhenUnderleveled;
|
||||
|
|
@ -184,13 +153,8 @@ internal sealed class DutyConfigComponent : ConfigComponent
|
|||
ImGui.SameLine();
|
||||
ImGuiComponents.HelpMarker("\ufffd Duty Support: Run with NPC party members (level synced)\n\ufffd Unsync (Solo): Run alone at your current level (unsynced)\n\ufffd Unsync (Party): Run with your party at current level (unsynced)\n\nYou can override this setting for individual duties below.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
ImGui.Separator();
|
||||
val2 = ImRaii.Disabled(!v);
|
||||
try
|
||||
using (ImRaii.Disabled(!v))
|
||||
{
|
||||
ImGui.Text("Questionable includes a default list of duties that work if AutoDuty and BossMod are installed.");
|
||||
ImGui.Text("The included list of duties can change with each update, and is based on the following spreadsheet:");
|
||||
|
|
@ -200,96 +164,48 @@ internal sealed class DutyConfigComponent : ConfigComponent
|
|||
}
|
||||
ImGui.Separator();
|
||||
ImGui.Text("You can override the settings for each individual duty:");
|
||||
TabBarDisposable val5 = ImRaii.TabBar((ImU8String)"DutyTypeTabs");
|
||||
try
|
||||
using ImRaii.TabBarDisposable tabBarDisposable = ImRaii.TabBar("DutyTypeTabs");
|
||||
if ((bool)tabBarDisposable)
|
||||
{
|
||||
if (TabBarDisposable.op_Implicit(val5))
|
||||
using (ImRaii.TabItemDisposable tabItemDisposable2 = ImRaii.TabItem("Dungeons"))
|
||||
{
|
||||
TabItemDisposable val6 = ImRaii.TabItem((ImU8String)"Dungeons");
|
||||
try
|
||||
{
|
||||
if (TabItemDisposable.op_Implicit(val6))
|
||||
if ((bool)tabItemDisposable2)
|
||||
{
|
||||
DrawConfigTable(v, _contentFinderConditionNames);
|
||||
}
|
||||
}
|
||||
finally
|
||||
using (ImRaii.TabItemDisposable tabItemDisposable3 = ImRaii.TabItem("Trials"))
|
||||
{
|
||||
((TabItemDisposable)(ref val6)).Dispose();
|
||||
}
|
||||
TabItemDisposable val7 = ImRaii.TabItem((ImU8String)"Trials");
|
||||
try
|
||||
{
|
||||
if (TabItemDisposable.op_Implicit(val7))
|
||||
if ((bool)tabItemDisposable3)
|
||||
{
|
||||
DrawConfigTable(v, _allTrialNames);
|
||||
}
|
||||
}
|
||||
finally
|
||||
using (ImRaii.TabItemDisposable tabItemDisposable4 = ImRaii.TabItem("Normal Raids"))
|
||||
{
|
||||
((TabItemDisposable)(ref val7)).Dispose();
|
||||
}
|
||||
TabItemDisposable val8 = ImRaii.TabItem((ImU8String)"Normal Raids");
|
||||
try
|
||||
{
|
||||
if (TabItemDisposable.op_Implicit(val8))
|
||||
if ((bool)tabItemDisposable4)
|
||||
{
|
||||
DrawConfigTable(v, _allNormalRaidNames);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val8)).Dispose();
|
||||
}
|
||||
TabItemDisposable val9 = ImRaii.TabItem((ImU8String)"Alliance Raids");
|
||||
try
|
||||
{
|
||||
if (TabItemDisposable.op_Implicit(val9))
|
||||
using ImRaii.TabItemDisposable tabItemDisposable5 = ImRaii.TabItem("Alliance Raids");
|
||||
if ((bool)tabItemDisposable5)
|
||||
{
|
||||
DrawConfigTable(v, _allAllianceRaidNames);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val9)).Dispose();
|
||||
}
|
||||
}
|
||||
DrawEnableAllButton();
|
||||
ImGui.SameLine();
|
||||
DrawClipboardButtons();
|
||||
ImGui.SameLine();
|
||||
DrawResetButton();
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabBarDisposable)(ref val5)).Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawConfigTable(bool runInstancedContentWithAutoDuty, Dictionary<EExpansionVersion, List<DutyInfo>> contentByExpansion)
|
||||
{
|
||||
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_001f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0020: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_014f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0154: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0156: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_02bc: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_02c1: Unknown result type (might be due to invalid IL or missing references)
|
||||
ChildDisposable val = ImRaii.Child((ImU8String)"DutyConfiguration", new Vector2(725f, 400f), true);
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
using ImRaii.ChildDisposable childDisposable = ImRaii.Child("DutyConfiguration", new Vector2(725f, 400f), border: true);
|
||||
if (!childDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -310,13 +226,11 @@ internal sealed class DutyConfigComponent : ConfigComponent
|
|||
base.Configuration.Duties.ExpansionHeaderStates[key] = true;
|
||||
Save();
|
||||
}
|
||||
ImU8String imU8String = new ImU8String(6, 1);
|
||||
imU8String.AppendLiteral("Duties");
|
||||
imU8String.AppendFormatted(eExpansionVersion);
|
||||
TableDisposable val2 = ImRaii.Table(imU8String, 3, ImGuiTableFlags.SizingFixedFit);
|
||||
try
|
||||
{
|
||||
if (!TableDisposable.op_Implicit(val2))
|
||||
ImU8String table = new ImU8String(6, 1);
|
||||
table.AppendLiteral("Duties");
|
||||
table.AppendFormatted(eExpansionVersion);
|
||||
using ImRaii.TableDisposable tableDisposable = ImRaii.Table(table, 3, ImGuiTableFlags.SizingFixedFit);
|
||||
if (!(bool)tableDisposable)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
|
@ -362,10 +276,8 @@ internal sealed class DutyConfigComponent : ConfigComponent
|
|||
ImGui.TextUnformatted(text);
|
||||
if (ImGui.IsItemHovered() && base.Configuration.Advanced.AdditionalStatusInformation)
|
||||
{
|
||||
TooltipDisposable val3 = ImRaii.Tooltip();
|
||||
try
|
||||
{
|
||||
if (((TooltipDisposable)(ref val3)).Alive)
|
||||
using ImRaii.TooltipDisposable tooltipDisposable = ImRaii.Tooltip();
|
||||
if (tooltipDisposable.Alive)
|
||||
{
|
||||
ImGui.TextUnformatted(text);
|
||||
ImGui.Separator();
|
||||
|
|
@ -383,14 +295,9 @@ internal sealed class DutyConfigComponent : ConfigComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val3)).Dispose();
|
||||
}
|
||||
}
|
||||
if (runInstancedContentWithAutoDuty && !_autoDutyIpc.HasPath(num))
|
||||
{
|
||||
ImGuiComponents.HelpMarker("This duty is not supported by AutoDuty", FontAwesomeIcon.Times, (Vector4?)ImGuiColors.DalamudRed);
|
||||
ImGuiComponents.HelpMarker("This duty is not supported by AutoDuty", FontAwesomeIcon.Times, ImGuiColors.DalamudRed);
|
||||
}
|
||||
else if (flag && dutyOptions.Notes.Count > 0)
|
||||
{
|
||||
|
|
@ -399,11 +306,10 @@ internal sealed class DutyConfigComponent : ConfigComponent
|
|||
}
|
||||
if (ImGui.TableNextColumn())
|
||||
{
|
||||
ImU8String imU8String2 = new ImU8String(16, 1);
|
||||
imU8String2.AppendLiteral("##DungeonEnabled");
|
||||
imU8String2.AppendFormatted(num);
|
||||
IdDisposable val4 = ImRaii.PushId(imU8String2, true);
|
||||
try
|
||||
ImU8String id = new ImU8String(16, 1);
|
||||
id.AppendLiteral("##DungeonEnabled");
|
||||
id.AppendFormatted(num);
|
||||
using (ImRaii.PushId(id))
|
||||
{
|
||||
ImGui.SetNextItemWidth(200f);
|
||||
if (ImGui.Combo((ImU8String)string.Empty, ref currentItem, (ReadOnlySpan<string>)array, array.Length))
|
||||
|
|
@ -429,20 +335,15 @@ internal sealed class DutyConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val4)?.Dispose();
|
||||
}
|
||||
}
|
||||
if (!ImGui.TableNextColumn())
|
||||
{
|
||||
continue;
|
||||
}
|
||||
ImU8String imU8String3 = new ImU8String(13, 1);
|
||||
imU8String3.AppendLiteral("##DungeonMode");
|
||||
imU8String3.AppendFormatted(num);
|
||||
IdDisposable val5 = ImRaii.PushId(imU8String3, true);
|
||||
try
|
||||
ImU8String id2 = new ImU8String(13, 1);
|
||||
id2.AppendLiteral("##DungeonMode");
|
||||
id2.AppendFormatted(num);
|
||||
using (ImRaii.PushId(id2))
|
||||
{
|
||||
EDutyMode value3;
|
||||
bool flag2 = base.Configuration.Duties.DutyModeOverrides.TryGetValue(num, out value3);
|
||||
|
|
@ -477,15 +378,6 @@ internal sealed class DutyConfigComponent : ConfigComponent
|
|||
ImGui.SetTooltip(flag2 ? ("Override: " + DutyModeLabels[(int)eDutyMode]) : ("Using default: " + DutyModeLabels[(int)eDutyMode]));
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val5)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TableDisposable)(ref val2)).Dispose();
|
||||
}
|
||||
}
|
||||
else if (base.Configuration.Duties.ExpansionHeaderStates.GetValueOrDefault(key, defaultValue: false))
|
||||
|
|
@ -495,11 +387,6 @@ internal sealed class DutyConfigComponent : ConfigComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private (int enabledCount, int totalCount) GetDutyCountsForExpansion(EExpansionVersion expansion, Dictionary<EExpansionVersion, List<DutyInfo>> contentByExpansion)
|
||||
{
|
||||
|
|
@ -554,8 +441,7 @@ internal sealed class DutyConfigComponent : ConfigComponent
|
|||
|
||||
private void DrawClipboardButtons()
|
||||
{
|
||||
DisabledDisposable val = ImRaii.Disabled(base.Configuration.Duties.WhitelistedDutyCfcIds.Count + base.Configuration.Duties.BlacklistedDutyCfcIds.Count + base.Configuration.Duties.DutyModeOverrides.Count == 0);
|
||||
try
|
||||
using (ImRaii.Disabled(base.Configuration.Duties.WhitelistedDutyCfcIds.Count + base.Configuration.Duties.BlacklistedDutyCfcIds.Count + base.Configuration.Duties.DutyModeOverrides.Count == 0))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Copy, "Export to clipboard"))
|
||||
{
|
||||
|
|
@ -565,14 +451,9 @@ internal sealed class DutyConfigComponent : ConfigComponent
|
|||
ImGui.SetClipboardText("qst:duty:" + Convert.ToBase64String(Encoding.UTF8.GetBytes(string.Join(";", first.Concat(second).Concat(second2)))));
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
string text = ImGui.GetClipboardText().Trim();
|
||||
val = ImRaii.Disabled(string.IsNullOrEmpty(text) || !text.StartsWith("qst:duty:", StringComparison.InvariantCulture));
|
||||
try
|
||||
using (ImRaii.Disabled(string.IsNullOrEmpty(text) || !text.StartsWith("qst:duty:", StringComparison.InvariantCulture)))
|
||||
{
|
||||
if (!ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Paste, "Import from Clipboard"))
|
||||
{
|
||||
|
|
@ -611,16 +492,11 @@ internal sealed class DutyConfigComponent : ConfigComponent
|
|||
}
|
||||
Save();
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawResetButton()
|
||||
{
|
||||
DisabledDisposable val = ImRaii.Disabled(!ImGui.IsKeyDown(ImGuiKey.ModCtrl));
|
||||
try
|
||||
using (ImRaii.Disabled(!ImGui.IsKeyDown(ImGuiKey.ModCtrl)))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Undo, "Reset to default"))
|
||||
{
|
||||
|
|
@ -631,10 +507,6 @@ internal sealed class DutyConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
ImGui.SetTooltip("Hold CTRL to enable this button.");
|
||||
|
|
|
|||
|
|
@ -95,37 +95,8 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
|
||||
public override void DrawTab()
|
||||
{
|
||||
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0147: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_014c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_014e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_02fc: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0301: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_042d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0432: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0434: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0737: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_073c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_07de: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_07e3: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0885: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_088a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_09ac: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_09b1: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0ad2: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0ad7: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0c5e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0c63: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0d05: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0d0a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0dac: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0db1: Unknown result type (might be due to invalid IL or missing references)
|
||||
TabItemDisposable val = ImRaii.TabItem((ImU8String)"General###General");
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem("General###General");
|
||||
if (!tabItemDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -153,10 +124,9 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
ImGui.SetNextItemWidth(-1f);
|
||||
ImGui.InputTextWithHint("##MountSearch", "Search mounts...", ref _mountSearchText, 256);
|
||||
ImGui.Separator();
|
||||
ChildDisposable val2 = ImRaii.Child((ImU8String)"##MountScrollArea", new Vector2(0f, 300f), false);
|
||||
try
|
||||
using (ImRaii.ChildDisposable childDisposable = ImRaii.Child("##MountScrollArea", new Vector2(0f, 300f), border: false))
|
||||
{
|
||||
if (ChildDisposable.op_Implicit(val2))
|
||||
if ((bool)childDisposable)
|
||||
{
|
||||
string value = _mountSearchText.ToUpperInvariant();
|
||||
for (int num2 = 0; num2 < _mountNames.Length; num2++)
|
||||
|
|
@ -179,10 +149,6 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val2)).Dispose();
|
||||
}
|
||||
ImGui.EndCombo();
|
||||
}
|
||||
else
|
||||
|
|
@ -202,19 +168,13 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
FontDisposable val3 = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.TextDisabled(FontAwesomeIcon.InfoCircle.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered())
|
||||
{
|
||||
TooltipDisposable val4 = ImRaii.Tooltip();
|
||||
try
|
||||
using (ImRaii.Tooltip())
|
||||
{
|
||||
ImGui.Text("Controls when the Main Scenario Quest (MSQ) is automatically accepted:");
|
||||
ImGui.Spacing();
|
||||
|
|
@ -222,10 +182,6 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
ImGui.BulletText("After Tracked: Complete accepted quests first, then pick up MSQ");
|
||||
ImGui.BulletText("Manual: Never auto-accept MSQ, only do manually accepted quests");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val4)).Dispose();
|
||||
}
|
||||
}
|
||||
int num3 = Array.IndexOf(_classJobIds, base.Configuration.General.CombatJob);
|
||||
if (num3 == -1)
|
||||
|
|
@ -245,10 +201,9 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
ImGui.SetNextItemWidth(-1f);
|
||||
ImGui.InputTextWithHint("##CombatJobSearch", "Search combat jobs...", ref _classJobSearchText, 256);
|
||||
ImGui.Separator();
|
||||
ChildDisposable val5 = ImRaii.Child((ImU8String)"##CombatJobScrollArea", new Vector2(0f, 300f), false);
|
||||
try
|
||||
using (ImRaii.ChildDisposable childDisposable2 = ImRaii.Child("##CombatJobScrollArea", new Vector2(0f, 300f), border: false))
|
||||
{
|
||||
if (ChildDisposable.op_Implicit(val5))
|
||||
if ((bool)childDisposable2)
|
||||
{
|
||||
string value2 = _classJobSearchText.ToUpperInvariant();
|
||||
for (int num4 = 0; num4 < _classJobNames.Length; num4++)
|
||||
|
|
@ -271,10 +226,6 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val5)).Dispose();
|
||||
}
|
||||
ImGui.EndCombo();
|
||||
}
|
||||
else
|
||||
|
|
@ -283,8 +234,7 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
}
|
||||
ImGui.Separator();
|
||||
ImGui.Text("UI");
|
||||
IndentDisposable val6 = ImRaii.PushIndent(1, true);
|
||||
try
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
bool v = base.Configuration.General.HideInAllInstances;
|
||||
if (ImGui.Checkbox("Hide quest window in all instanced duties", ref v))
|
||||
|
|
@ -323,14 +273,9 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val6)?.Dispose();
|
||||
}
|
||||
ImGui.Separator();
|
||||
ImGui.Text("Questing");
|
||||
val6 = ImRaii.PushIndent(1, true);
|
||||
try
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
bool v7 = base.Configuration.General.AutoSolveQte;
|
||||
if (ImGui.Checkbox("Automatically solve Quick Time Events (QTEs)", ref v7))
|
||||
|
|
@ -339,27 +284,17 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
val3 = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.TextDisabled(FontAwesomeIcon.InfoCircle.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered())
|
||||
{
|
||||
TooltipDisposable val7 = ImRaii.Tooltip();
|
||||
try
|
||||
using (ImRaii.Tooltip())
|
||||
{
|
||||
ImGui.Text("Automatically mashes the button during Active Time Maneuver (ATM)");
|
||||
ImGui.Text("prompts that appear in certain duties and quest battles.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val7)).Dispose();
|
||||
}
|
||||
}
|
||||
bool v8 = base.Configuration.General.AutoSnipe;
|
||||
if (ImGui.Checkbox("Automatically complete snipe quests", ref v8))
|
||||
|
|
@ -368,27 +303,17 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
val3 = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.TextDisabled(FontAwesomeIcon.InfoCircle.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered())
|
||||
{
|
||||
TooltipDisposable val8 = ImRaii.Tooltip();
|
||||
try
|
||||
using (ImRaii.Tooltip())
|
||||
{
|
||||
ImGui.Text("Automatically completes sniping minigames introduced in Stormblood.");
|
||||
ImGui.Text("When enabled, snipe targets are instantly hit without manual aiming.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val8)).Dispose();
|
||||
}
|
||||
}
|
||||
bool v9 = base.Configuration.General.CinemaMode;
|
||||
if (ImGui.Checkbox("Cinema Mode (watch cutscenes)", ref v9))
|
||||
|
|
@ -397,19 +322,13 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
val3 = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.TextDisabled(FontAwesomeIcon.InfoCircle.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered())
|
||||
{
|
||||
TooltipDisposable val9 = ImRaii.Tooltip();
|
||||
try
|
||||
using (ImRaii.Tooltip())
|
||||
{
|
||||
ImGui.Text("When enabled, cutscenes will NOT be automatically skipped.");
|
||||
ImGui.Text("This allows you to experience the story while Questionable");
|
||||
|
|
@ -417,10 +336,6 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
ImGui.Spacing();
|
||||
ImGui.TextColored(new Vector4(0.7f, 0.7f, 0.7f, 1f), "Recommended for first-time story playthroughs.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val9)).Dispose();
|
||||
}
|
||||
}
|
||||
bool v10 = base.Configuration.General.ConfigureTextAdvance;
|
||||
if (ImGui.Checkbox("Automatically configure TextAdvance with the recommended settings", ref v10))
|
||||
|
|
@ -435,19 +350,13 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
val3 = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.TextDisabled(FontAwesomeIcon.InfoCircle.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered())
|
||||
{
|
||||
TooltipDisposable val10 = ImRaii.Tooltip();
|
||||
try
|
||||
using (ImRaii.Tooltip())
|
||||
{
|
||||
ImGui.Text("Questionable automatically picks up some optional quests (e.g. for aether currents, or the ARR alliance raids).");
|
||||
ImGui.Text("If this setting is enabled, Questionable will continue with other quests, instead of waiting for manual completion of the duty.");
|
||||
|
|
@ -463,10 +372,6 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val10)).Dispose();
|
||||
}
|
||||
}
|
||||
ImGui.Spacing();
|
||||
bool v12 = base.Configuration.General.AutoStepRefreshEnabled;
|
||||
|
|
@ -476,30 +381,19 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
val3 = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.TextDisabled(FontAwesomeIcon.InfoCircle.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered())
|
||||
{
|
||||
TooltipDisposable val11 = ImRaii.Tooltip();
|
||||
try
|
||||
using (ImRaii.Tooltip())
|
||||
{
|
||||
ImGui.Text("Questionable will automatically refresh a quest step if it appears to be stuck after the configured delay.");
|
||||
ImGui.Text("This helps resume automated quest completion when interruptions occur.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val11)).Dispose();
|
||||
}
|
||||
}
|
||||
DisabledDisposable val12 = ImRaii.Disabled(!v12);
|
||||
try
|
||||
using (ImRaii.Disabled(!v12))
|
||||
{
|
||||
ImGui.Indent();
|
||||
int v13 = base.Configuration.General.AutoStepRefreshDelaySeconds;
|
||||
|
|
@ -517,10 +411,6 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
ImGui.TextColored(in col, text4);
|
||||
ImGui.Unindent();
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val12)?.Dispose();
|
||||
}
|
||||
ImGui.Spacing();
|
||||
ImGui.Separator();
|
||||
ImGui.Text("Priority Quest Management");
|
||||
|
|
@ -531,27 +421,17 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
val3 = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.TextDisabled(FontAwesomeIcon.InfoCircle.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered())
|
||||
{
|
||||
TooltipDisposable val13 = ImRaii.Tooltip();
|
||||
try
|
||||
using (ImRaii.Tooltip())
|
||||
{
|
||||
ImGui.Text("When enabled, your priority quest list will be saved and restored");
|
||||
ImGui.Text("when the plugin reloads or the game restarts.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val13)).Dispose();
|
||||
}
|
||||
}
|
||||
bool v15 = base.Configuration.General.ClearPriorityQuestsOnLogout;
|
||||
if (ImGui.Checkbox("Clear priority quests on character logout", ref v15))
|
||||
|
|
@ -560,27 +440,17 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
val3 = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.TextDisabled(FontAwesomeIcon.InfoCircle.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered())
|
||||
{
|
||||
TooltipDisposable val14 = ImRaii.Tooltip();
|
||||
try
|
||||
using (ImRaii.Tooltip())
|
||||
{
|
||||
ImGui.Text("Clears the priority queue when your character logs out.");
|
||||
ImGui.Text("This also clears the saved list if persistence is enabled.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val14)).Dispose();
|
||||
}
|
||||
}
|
||||
bool v16 = base.Configuration.General.ClearPriorityQuestsOnCompletion;
|
||||
if (ImGui.Checkbox("Remove priority quests when completed", ref v16))
|
||||
|
|
@ -589,40 +459,21 @@ internal sealed class GeneralConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
val3 = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.TextDisabled(FontAwesomeIcon.InfoCircle.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered())
|
||||
{
|
||||
TooltipDisposable val15 = ImRaii.Tooltip();
|
||||
try
|
||||
using (ImRaii.Tooltip())
|
||||
{
|
||||
ImGui.Text("Automatically removes completed quests from your priority queue.");
|
||||
ImGui.Text("This helps keep your priority list clean without manual intervention.");
|
||||
return;
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val15)).Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val6)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
static GeneralConfigComponent()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -30,16 +30,8 @@ internal sealed class NotificationConfigComponent : ConfigComponent
|
|||
|
||||
public override void DrawTab()
|
||||
{
|
||||
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0141: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0146: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0148: Unknown result type (might be due to invalid IL or missing references)
|
||||
TabItemDisposable val = ImRaii.TabItem((ImU8String)"Notifications###Notifications");
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem("Notifications###Notifications");
|
||||
if (!tabItemDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -49,11 +41,9 @@ internal sealed class NotificationConfigComponent : ConfigComponent
|
|||
base.Configuration.Notifications.Enabled = v;
|
||||
Save();
|
||||
}
|
||||
DisabledDisposable val2 = ImRaii.Disabled(!base.Configuration.Notifications.Enabled);
|
||||
try
|
||||
using (ImRaii.Disabled(!base.Configuration.Notifications.Enabled))
|
||||
{
|
||||
IndentDisposable val3 = ImRaii.PushIndent(1, true);
|
||||
try
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
int num = Array.IndexOf(_xivChatTypes, base.Configuration.Notifications.ChatType);
|
||||
if (num == -1)
|
||||
|
|
@ -71,10 +61,9 @@ internal sealed class NotificationConfigComponent : ConfigComponent
|
|||
ImGui.SetNextItemWidth(-1f);
|
||||
ImGui.InputTextWithHint("##ChatChannelSearch", "Search chat channels...", ref _chatChannelSearchText, 256);
|
||||
ImGui.Separator();
|
||||
ChildDisposable val4 = ImRaii.Child((ImU8String)"##ChatChannelScrollArea", new Vector2(0f, 300f), false);
|
||||
try
|
||||
using (ImRaii.ChildDisposable childDisposable = ImRaii.Child("##ChatChannelScrollArea", new Vector2(0f, 300f), border: false))
|
||||
{
|
||||
if (ChildDisposable.op_Implicit(val4))
|
||||
if ((bool)childDisposable)
|
||||
{
|
||||
string value = _chatChannelSearchText.ToUpperInvariant();
|
||||
for (int i = 0; i < _chatTypeNames.Length; i++)
|
||||
|
|
@ -97,10 +86,6 @@ internal sealed class NotificationConfigComponent : ConfigComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val4)).Dispose();
|
||||
}
|
||||
ImGui.EndCombo();
|
||||
}
|
||||
else
|
||||
|
|
@ -108,19 +93,6 @@ internal sealed class NotificationConfigComponent : ConfigComponent
|
|||
_chatChannelComboJustOpened = false;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -74,13 +74,8 @@ internal sealed class PluginConfigComponent : ConfigComponent
|
|||
|
||||
public override void DrawTab()
|
||||
{
|
||||
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
TabItemDisposable val = ImRaii.TabItem((ImU8String)"Dependencies###Plugins");
|
||||
try
|
||||
{
|
||||
if (!(!val))
|
||||
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem("Dependencies###Plugins");
|
||||
if (!(!tabItemDisposable))
|
||||
{
|
||||
Draw(out var allRequiredInstalled);
|
||||
ImGui.Spacing();
|
||||
|
|
@ -96,11 +91,6 @@ internal sealed class PluginConfigComponent : ConfigComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public void Draw(out bool allRequiredInstalled)
|
||||
{
|
||||
|
|
@ -111,27 +101,20 @@ internal sealed class PluginConfigComponent : ConfigComponent
|
|||
}
|
||||
ImGui.Text("Questionable requires the following plugins to work:");
|
||||
allRequiredInstalled = true;
|
||||
IndentDisposable val = ImRaii.PushIndent(1, true);
|
||||
try
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
foreach (PluginInfo requiredPlugin in RequiredPlugins)
|
||||
{
|
||||
allRequiredInstalled &= DrawPlugin(requiredPlugin, checklistPadding);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.Spacing();
|
||||
ImGui.Separator();
|
||||
ImGui.Spacing();
|
||||
ImGui.Text("Questionable supports multiple rotation/combat plugins, please pick the one\nyou want to use:");
|
||||
val = ImRaii.PushIndent(1, true);
|
||||
try
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
DisabledDisposable val2 = ImRaii.Disabled(_combatController.IsRunning);
|
||||
try
|
||||
using (ImRaii.Disabled(_combatController.IsRunning))
|
||||
{
|
||||
if (ImGui.RadioButton("No rotation/combat plugin (combat must be done manually)", _configuration.General.CombatModule == Questionable.Configuration.ECombatModule.None))
|
||||
{
|
||||
|
|
@ -142,37 +125,23 @@ internal sealed class PluginConfigComponent : ConfigComponent
|
|||
allRequiredInstalled &= DrawCombatPlugin(Questionable.Configuration.ECombatModule.RotationSolverReborn, checklistPadding);
|
||||
allRequiredInstalled &= DrawCombatPlugin(Questionable.Configuration.ECombatModule.WrathCombo, checklistPadding);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.Spacing();
|
||||
ImGui.Separator();
|
||||
ImGui.Spacing();
|
||||
ImGui.Text("The following plugins are recommended, but not required:");
|
||||
val = ImRaii.PushIndent(1, true);
|
||||
try
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
foreach (PluginInfo recommendedPlugin in _recommendedPlugins)
|
||||
{
|
||||
DrawPlugin(recommendedPlugin, checklistPadding);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private bool DrawPlugin(PluginInfo plugin, float checklistPadding)
|
||||
{
|
||||
IdDisposable val = ImRaii.PushId((ImU8String)("plugin_" + plugin.DisplayName), true);
|
||||
try
|
||||
using (ImRaii.PushId("plugin_" + plugin.DisplayName))
|
||||
{
|
||||
IExposedPlugin exposedPlugin = FindInstalledPlugin(plugin);
|
||||
bool flag = exposedPlugin != null;
|
||||
|
|
@ -185,18 +154,13 @@ internal sealed class PluginConfigComponent : ConfigComponent
|
|||
DrawPluginDetails(plugin, checklistPadding, flag);
|
||||
return flag;
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private bool DrawCombatPlugin(Configuration.ECombatModule combatModule, float checklistPadding)
|
||||
{
|
||||
ImGui.Spacing();
|
||||
PluginInfo pluginInfo = CombatPlugins[combatModule];
|
||||
IdDisposable val = ImRaii.PushId((ImU8String)("plugin_" + pluginInfo.DisplayName), true);
|
||||
try
|
||||
using (ImRaii.PushId("plugin_" + pluginInfo.DisplayName))
|
||||
{
|
||||
IExposedPlugin exposedPlugin = FindInstalledPlugin(pluginInfo);
|
||||
bool flag = exposedPlugin != null;
|
||||
|
|
@ -221,16 +185,11 @@ internal sealed class PluginConfigComponent : ConfigComponent
|
|||
DrawPluginDetails(pluginInfo, checklistPadding, flag);
|
||||
return flag || _configuration.General.CombatModule != combatModule;
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawPluginDetails(PluginInfo plugin, float checklistPadding, bool isInstalled)
|
||||
{
|
||||
IndentDisposable val = ImRaii.PushIndent(checklistPadding, true, true);
|
||||
try
|
||||
using (ImRaii.PushIndent(checklistPadding))
|
||||
{
|
||||
if (!string.IsNullOrEmpty(plugin.Details))
|
||||
{
|
||||
|
|
@ -246,15 +205,10 @@ internal sealed class PluginConfigComponent : ConfigComponent
|
|||
_uiUtils.ChecklistItem(item.DisplayName, isInstalled && flag2);
|
||||
if (!string.IsNullOrEmpty(item.Details))
|
||||
{
|
||||
IndentDisposable val2 = ImRaii.PushIndent(checklistPadding, true, true);
|
||||
try
|
||||
using (ImRaii.PushIndent(checklistPadding))
|
||||
{
|
||||
ImGui.TextUnformatted(item.Details);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -285,10 +239,6 @@ internal sealed class PluginConfigComponent : ConfigComponent
|
|||
ImGuiComponents.HelpMarker("Available on official Dalamud Repository");
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private IExposedPlugin? FindInstalledPlugin(PluginInfo pluginInfo)
|
||||
|
|
|
|||
|
|
@ -289,16 +289,8 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
|
|||
|
||||
public override void DrawTab()
|
||||
{
|
||||
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0135: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_013a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_013c: Unknown result type (might be due to invalid IL or missing references)
|
||||
TabItemDisposable val = ImRaii.TabItem((ImU8String)"Quest Battles###QuestBattles");
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem("Quest Battles###QuestBattles");
|
||||
if (!tabItemDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -308,11 +300,9 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
|
|||
base.Configuration.SinglePlayerDuties.RunSoloInstancesWithBossMod = v;
|
||||
Save();
|
||||
}
|
||||
IndentDisposable val2 = ImRaii.PushIndent(ImGui.GetFrameHeight() + ImGui.GetStyle().ItemInnerSpacing.X, true, true);
|
||||
try
|
||||
using (ImRaii.PushIndent(ImGui.GetFrameHeight() + ImGui.GetStyle().ItemInnerSpacing.X))
|
||||
{
|
||||
ColorDisposable val3 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed))
|
||||
{
|
||||
ImGui.TextUnformatted("Work in Progress:");
|
||||
ImGui.BulletText("Will always use BossMod for combat (ignoring the configured combat module).");
|
||||
|
|
@ -320,27 +310,16 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
|
|||
ImGui.BulletText("When retrying a failed battle, it will always start at 'Normal' difficulty.");
|
||||
ImGui.BulletText("Please don't enable this option when using a BossMod fork (such as Reborn);\nwith the missing combat module configuration, it is unlikely to be compatible.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
ImGui.Separator();
|
||||
DisabledDisposable val4 = ImRaii.Disabled(!v);
|
||||
try
|
||||
using (ImRaii.Disabled(!v))
|
||||
{
|
||||
ImGui.Text("Questionable includes a default list of quest battles that work if BossMod is installed.");
|
||||
ImGui.Text("The included list of quest battles can change with each update.");
|
||||
ImGui.Separator();
|
||||
ImGui.Text("You can override the settings for each individual quest battle:");
|
||||
TabBarDisposable val5 = ImRaii.TabBar((ImU8String)"QuestionableConfigTabs");
|
||||
try
|
||||
{
|
||||
if (TabBarDisposable.op_Implicit(val5))
|
||||
using ImRaii.TabBarDisposable tabBarDisposable = ImRaii.TabBar("QuestionableConfigTabs");
|
||||
if ((bool)tabBarDisposable)
|
||||
{
|
||||
DrawMainScenarioConfigTable();
|
||||
DrawJobQuestConfigTable();
|
||||
|
|
@ -353,50 +332,26 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
|
|||
ImGui.SameLine();
|
||||
DrawResetButton();
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabBarDisposable)(ref val5)).Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val4)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawMainScenarioConfigTable()
|
||||
{
|
||||
//IL_0053: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0066: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_006b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
|
||||
(int enabledCount, int totalCount) mainScenarioQuestCounts = GetMainScenarioQuestCounts();
|
||||
int item = mainScenarioQuestCounts.enabledCount;
|
||||
int item2 = mainScenarioQuestCounts.totalCount;
|
||||
ImU8String imU8String = new ImU8String(30, 2);
|
||||
imU8String.AppendLiteral("Main Scenario Quests (");
|
||||
imU8String.AppendFormatted(item);
|
||||
imU8String.AppendLiteral("/");
|
||||
imU8String.AppendFormatted(item2);
|
||||
imU8String.AppendLiteral(")###MSQ");
|
||||
TabItemDisposable val = ImRaii.TabItem(imU8String);
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
ImU8String label = new ImU8String(30, 2);
|
||||
label.AppendLiteral("Main Scenario Quests (");
|
||||
label.AppendFormatted(item);
|
||||
label.AppendLiteral("/");
|
||||
label.AppendFormatted(item2);
|
||||
label.AppendLiteral(")###MSQ");
|
||||
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem(label);
|
||||
if (!tabItemDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
ChildDisposable val2 = BeginChildArea();
|
||||
try
|
||||
{
|
||||
if (!val2)
|
||||
using ImRaii.ChildDisposable childDisposable = BeginChildArea();
|
||||
if (!childDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -490,45 +445,25 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val2)).Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawJobQuestConfigTable()
|
||||
{
|
||||
//IL_0053: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0066: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_006b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
|
||||
(int enabledCount, int totalCount) jobQuestCounts = GetJobQuestCounts();
|
||||
int item = jobQuestCounts.enabledCount;
|
||||
int item2 = jobQuestCounts.totalCount;
|
||||
ImU8String imU8String = new ImU8String(32, 2);
|
||||
imU8String.AppendLiteral("Class/Job Quests (");
|
||||
imU8String.AppendFormatted(item);
|
||||
imU8String.AppendLiteral("/");
|
||||
imU8String.AppendFormatted(item2);
|
||||
imU8String.AppendLiteral(")###JobQuests");
|
||||
TabItemDisposable val = ImRaii.TabItem(imU8String);
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
ImU8String label = new ImU8String(32, 2);
|
||||
label.AppendLiteral("Class/Job Quests (");
|
||||
label.AppendFormatted(item);
|
||||
label.AppendLiteral("/");
|
||||
label.AppendFormatted(item2);
|
||||
label.AppendLiteral(")###JobQuests");
|
||||
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem(label);
|
||||
if (!tabItemDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
ChildDisposable val2 = BeginChildArea();
|
||||
try
|
||||
{
|
||||
if (!val2)
|
||||
using ImRaii.ChildDisposable childDisposable = BeginChildArea();
|
||||
if (!childDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -573,45 +508,25 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val2)).Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawRoleQuestConfigTable()
|
||||
{
|
||||
//IL_0053: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0066: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_006b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
|
||||
(int enabledCount, int totalCount) roleQuestCounts = GetRoleQuestCounts();
|
||||
int item = roleQuestCounts.enabledCount;
|
||||
int item2 = roleQuestCounts.totalCount;
|
||||
ImU8String imU8String = new ImU8String(28, 2);
|
||||
imU8String.AppendLiteral("Role Quests (");
|
||||
imU8String.AppendFormatted(item);
|
||||
imU8String.AppendLiteral("/");
|
||||
imU8String.AppendFormatted(item2);
|
||||
imU8String.AppendLiteral(")###RoleQuests");
|
||||
TabItemDisposable val = ImRaii.TabItem(imU8String);
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
ImU8String label = new ImU8String(28, 2);
|
||||
label.AppendLiteral("Role Quests (");
|
||||
label.AppendFormatted(item);
|
||||
label.AppendLiteral("/");
|
||||
label.AppendFormatted(item2);
|
||||
label.AppendLiteral(")###RoleQuests");
|
||||
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem(label);
|
||||
if (!tabItemDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
ChildDisposable val2 = BeginChildArea();
|
||||
try
|
||||
{
|
||||
if (!val2)
|
||||
using ImRaii.ChildDisposable childDisposable = BeginChildArea();
|
||||
if (!childDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -663,45 +578,25 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val2)).Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawOtherQuestConfigTable()
|
||||
{
|
||||
//IL_0053: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0058: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0066: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_006b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_006c: Unknown result type (might be due to invalid IL or missing references)
|
||||
(int enabledCount, int totalCount) otherQuestCounts = GetOtherQuestCounts();
|
||||
int item = otherQuestCounts.enabledCount;
|
||||
int item2 = otherQuestCounts.totalCount;
|
||||
ImU8String imU8String = new ImU8String(29, 2);
|
||||
imU8String.AppendLiteral("Other Quests (");
|
||||
imU8String.AppendFormatted(item);
|
||||
imU8String.AppendLiteral("/");
|
||||
imU8String.AppendFormatted(item2);
|
||||
imU8String.AppendLiteral(")###MiscQuests");
|
||||
TabItemDisposable val = ImRaii.TabItem(imU8String);
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
ImU8String label = new ImU8String(29, 2);
|
||||
label.AppendLiteral("Other Quests (");
|
||||
label.AppendFormatted(item);
|
||||
label.AppendLiteral("/");
|
||||
label.AppendFormatted(item2);
|
||||
label.AppendLiteral(")###MiscQuests");
|
||||
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem(label);
|
||||
if (!tabItemDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
ChildDisposable val2 = BeginChildArea();
|
||||
try
|
||||
{
|
||||
if (!val2)
|
||||
using ImRaii.ChildDisposable childDisposable = BeginChildArea();
|
||||
if (!childDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -731,28 +626,11 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val2)).Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawQuestTable(string label, IReadOnlyList<SinglePlayerDutyInfo> dutyInfos)
|
||||
{
|
||||
//IL_000c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0011: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0012: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00f9: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00fe: Unknown result type (might be due to invalid IL or missing references)
|
||||
TableDisposable val = ImRaii.Table((ImU8String)label, 2, ImGuiTableFlags.SizingFixedFit);
|
||||
try
|
||||
{
|
||||
if (!TableDisposable.op_Implicit(val))
|
||||
using ImRaii.TableDisposable tableDisposable = ImRaii.Table(label, 2, ImGuiTableFlags.SizingFixedFit);
|
||||
if (!(bool)tableDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -777,10 +655,8 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
|
|||
ImGui.TextUnformatted(dutyInfo.Name);
|
||||
if (ImGui.IsItemHovered() && base.Configuration.Advanced.AdditionalStatusInformation)
|
||||
{
|
||||
TooltipDisposable val2 = ImRaii.Tooltip();
|
||||
try
|
||||
{
|
||||
if (((TooltipDisposable)(ref val2)).Alive)
|
||||
using ImRaii.TooltipDisposable tooltipDisposable = ImRaii.Tooltip();
|
||||
if (tooltipDisposable.Alive)
|
||||
{
|
||||
ImGui.TextUnformatted(dutyInfo.Name);
|
||||
ImGui.Separator();
|
||||
|
|
@ -794,14 +670,9 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
|
|||
ImGui.BulletText(text2);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val2)).Dispose();
|
||||
}
|
||||
}
|
||||
if (!dutyInfo.Enabled)
|
||||
{
|
||||
ImGuiComponents.HelpMarker("Questionable doesn't include support for this quest.", FontAwesomeIcon.Times, (Vector4?)ImGuiColors.DalamudRed);
|
||||
ImGuiComponents.HelpMarker("Questionable doesn't include support for this quest.", FontAwesomeIcon.Times, ImGuiColors.DalamudRed);
|
||||
}
|
||||
else if (dutyInfo.Notes.Count > 0)
|
||||
{
|
||||
|
|
@ -812,14 +683,12 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
|
|||
{
|
||||
continue;
|
||||
}
|
||||
ImU8String imU8String = new ImU8String(6, 1);
|
||||
imU8String.AppendLiteral("##Duty");
|
||||
imU8String.AppendFormatted(dutyInfo.ContentFinderConditionId);
|
||||
IdDisposable val3 = ImRaii.PushId(imU8String, true);
|
||||
try
|
||||
ImU8String id = new ImU8String(6, 1);
|
||||
id.AppendLiteral("##Duty");
|
||||
id.AppendFormatted(dutyInfo.ContentFinderConditionId);
|
||||
using (ImRaii.PushId(id))
|
||||
{
|
||||
DisabledDisposable val4 = ImRaii.Disabled(!dutyInfo.Enabled);
|
||||
try
|
||||
using (ImRaii.Disabled(!dutyInfo.Enabled))
|
||||
{
|
||||
ImGui.SetNextItemWidth(200f);
|
||||
if (ImGui.Combo((ImU8String)string.Empty, ref currentItem, (ReadOnlySpan<string>)array, array.Length))
|
||||
|
|
@ -838,27 +707,13 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val4)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TableDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private static ChildDisposable BeginChildArea()
|
||||
private static ImRaii.ChildDisposable BeginChildArea()
|
||||
{
|
||||
//IL_001a: Unknown result type (might be due to invalid IL or missing references)
|
||||
return ImRaii.Child((ImU8String)"DutyConfiguration", new Vector2(725f, 400f), true);
|
||||
return ImRaii.Child("DutyConfiguration", new Vector2(725f, 400f), border: true);
|
||||
}
|
||||
|
||||
private void DrawEnableAllButton()
|
||||
|
|
@ -881,8 +736,7 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
|
|||
|
||||
private void DrawClipboardButtons()
|
||||
{
|
||||
DisabledDisposable val = ImRaii.Disabled(base.Configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds.Count + base.Configuration.SinglePlayerDuties.BlacklistedSinglePlayerDutyCfcIds.Count == 0);
|
||||
try
|
||||
using (ImRaii.Disabled(base.Configuration.SinglePlayerDuties.WhitelistedSinglePlayerDutyCfcIds.Count + base.Configuration.SinglePlayerDuties.BlacklistedSinglePlayerDutyCfcIds.Count == 0))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Copy, "Export to clipboard"))
|
||||
{
|
||||
|
|
@ -891,14 +745,9 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
|
|||
ImGui.SetClipboardText("qst:single:" + Convert.ToBase64String(Encoding.UTF8.GetBytes(string.Join(";", first.Concat(second)))));
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
string text = ImGui.GetClipboardText().Trim();
|
||||
val = ImRaii.Disabled(string.IsNullOrEmpty(text) || !text.StartsWith("qst:single:", StringComparison.InvariantCulture));
|
||||
try
|
||||
using (ImRaii.Disabled(string.IsNullOrEmpty(text) || !text.StartsWith("qst:single:", StringComparison.InvariantCulture)))
|
||||
{
|
||||
if (!ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Paste, "Import from Clipboard"))
|
||||
{
|
||||
|
|
@ -922,16 +771,11 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
|
|||
}
|
||||
Save();
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawResetButton()
|
||||
{
|
||||
DisabledDisposable val = ImRaii.Disabled(!ImGui.IsKeyDown(ImGuiKey.ModCtrl));
|
||||
try
|
||||
using (ImRaii.Disabled(!ImGui.IsKeyDown(ImGuiKey.ModCtrl)))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Undo, "Reset to default"))
|
||||
{
|
||||
|
|
@ -940,10 +784,6 @@ internal sealed class SinglePlayerDutyConfigComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
ImGui.SetTooltip("Hold CTRL to enable this button.");
|
||||
|
|
|
|||
|
|
@ -67,13 +67,8 @@ internal sealed class StopConditionComponent : ConfigComponent
|
|||
|
||||
public override void DrawTab()
|
||||
{
|
||||
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
TabItemDisposable val = ImRaii.TabItem((ImU8String)"Stop###StopConditionns");
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem("Stop###StopConditionns");
|
||||
if (!tabItemDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -86,8 +81,7 @@ internal sealed class StopConditionComponent : ConfigComponent
|
|||
ImGui.SameLine();
|
||||
ImGuiComponents.HelpMarker("Pause: Stops automation when condition is met, but allows resuming past it.\nStop: True stop, blocks automation from starting/resuming if condition is already met.");
|
||||
ImGui.Separator();
|
||||
DisabledDisposable val2 = ImRaii.Disabled(!v);
|
||||
try
|
||||
using (ImRaii.Disabled(!v))
|
||||
{
|
||||
ImGui.Text("Stop when character level reaches:");
|
||||
int currentItem = (int)base.Configuration.Stop.LevelStopMode;
|
||||
|
|
@ -98,8 +92,7 @@ internal sealed class StopConditionComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
DisabledDisposable val3 = ImRaii.Disabled(base.Configuration.Stop.LevelStopMode == Questionable.Configuration.EStopConditionMode.Off);
|
||||
try
|
||||
using (ImRaii.Disabled(base.Configuration.Stop.LevelStopMode == Questionable.Configuration.EStopConditionMode.Off))
|
||||
{
|
||||
int data = base.Configuration.Stop.TargetLevel;
|
||||
ImGui.SetNextItemWidth(100f);
|
||||
|
|
@ -119,10 +112,6 @@ internal sealed class StopConditionComponent : ConfigComponent
|
|||
ImGui.TextDisabled(text);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
ImGui.Separator();
|
||||
ImGui.Text("Stop on quest sequence (global):");
|
||||
int currentItem2 = (int)base.Configuration.Stop.SequenceStopMode;
|
||||
|
|
@ -133,8 +122,7 @@ internal sealed class StopConditionComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
val3 = ImRaii.Disabled(base.Configuration.Stop.SequenceStopMode == Questionable.Configuration.EStopConditionMode.Off);
|
||||
try
|
||||
using (ImRaii.Disabled(base.Configuration.Stop.SequenceStopMode == Questionable.Configuration.EStopConditionMode.Off))
|
||||
{
|
||||
int data2 = base.Configuration.Stop.TargetSequence;
|
||||
ImGui.SetNextItemWidth(100f);
|
||||
|
|
@ -155,10 +143,6 @@ internal sealed class StopConditionComponent : ConfigComponent
|
|||
ImGui.TextDisabled(text2);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
ImGui.TextWrapped("Note: Individual quest sequences below override this global setting.");
|
||||
ImGui.Separator();
|
||||
ImGui.Text("Stop when completing quests (or reaching specific sequences):");
|
||||
|
|
@ -167,8 +151,7 @@ internal sealed class StopConditionComponent : ConfigComponent
|
|||
List<ElementId> questsToStopAfter = base.Configuration.Stop.QuestsToStopAfter;
|
||||
if (questsToStopAfter.Count > 0)
|
||||
{
|
||||
val3 = ImRaii.Disabled(!ImGui.IsKeyDown(ImGuiKey.ModCtrl));
|
||||
try
|
||||
using (ImRaii.Disabled(!ImGui.IsKeyDown(ImGuiKey.ModCtrl)))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Trash, "Clear All"))
|
||||
{
|
||||
|
|
@ -182,10 +165,6 @@ internal sealed class StopConditionComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
ImGui.SetTooltip("Hold CTRL to enable this button.");
|
||||
|
|
@ -195,15 +174,6 @@ internal sealed class StopConditionComponent : ConfigComponent
|
|||
}
|
||||
DrawStopQuestList(questsToStopAfter);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawStopQuestList(List<ElementId> questsToStopAfter)
|
||||
|
|
@ -221,11 +191,10 @@ internal sealed class StopConditionComponent : ConfigComponent
|
|||
{
|
||||
continue;
|
||||
}
|
||||
ImU8String imU8String = new ImU8String(5, 1);
|
||||
imU8String.AppendLiteral("Quest");
|
||||
imU8String.AppendFormatted(elementId);
|
||||
IdDisposable val = ImRaii.PushId(imU8String, true);
|
||||
try
|
||||
ImU8String id = new ImU8String(5, 1);
|
||||
id.AppendLiteral("Quest");
|
||||
id.AppendFormatted(elementId);
|
||||
using (ImRaii.PushId(id))
|
||||
{
|
||||
ImGui.AlignTextToFramePadding();
|
||||
ImU8String text = new ImU8String(1, 1);
|
||||
|
|
@ -283,8 +252,7 @@ internal sealed class StopConditionComponent : ConfigComponent
|
|||
{
|
||||
ImGui.SetTooltip("Stop at specific sequence (unchecked = stop on quest completion)");
|
||||
}
|
||||
DisabledDisposable val2 = ImRaii.Disabled(!v);
|
||||
try
|
||||
using (ImRaii.Disabled(!v))
|
||||
{
|
||||
ImGui.SameLine();
|
||||
ImGui.Text("Seq:");
|
||||
|
|
@ -300,21 +268,12 @@ internal sealed class StopConditionComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
if (questsToStopAfter.Count > 1)
|
||||
{
|
||||
FontDisposable val3 = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.SameLine(ImGui.GetContentRegionAvail().X + ImGui.GetStyle().WindowPadding.X - ImGui.CalcTextSize(FontAwesomeIcon.ArrowsUpDown.ToIconString()).X - ImGui.CalcTextSize(FontAwesomeIcon.Times.ToIconString()).X - ImGui.GetStyle().FramePadding.X * 4f - ImGui.GetStyle().ItemSpacing.X);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (_draggedItem == elementId)
|
||||
{
|
||||
ImGuiComponents.IconButton("##Move", FontAwesomeIcon.ArrowsUpDown, ImGui.ColorConvertU32ToFloat4(ImGui.GetColorU32(ImGuiCol.ButtonActive)));
|
||||
|
|
@ -331,25 +290,16 @@ internal sealed class StopConditionComponent : ConfigComponent
|
|||
}
|
||||
else
|
||||
{
|
||||
FontDisposable val3 = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.SameLine(ImGui.GetContentRegionAvail().X + ImGui.GetStyle().WindowPadding.X - ImGui.CalcTextSize(FontAwesomeIcon.Times.ToIconString()).X - ImGui.GetStyle().FramePadding.X * 2f);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
if (ImGuiComponents.IconButton($"##Remove{i}", FontAwesomeIcon.Times))
|
||||
{
|
||||
quest = quest3;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
Vector2 item2 = new Vector2(item.X + x, ImGui.GetCursorScreenPos().Y - ImGui.GetStyle().ItemSpacing.Y + 2f);
|
||||
list.Add((item, item2));
|
||||
}
|
||||
|
|
@ -390,25 +340,20 @@ internal sealed class StopConditionComponent : ConfigComponent
|
|||
|
||||
private void DrawCurrentlyAcceptedQuests()
|
||||
{
|
||||
//IL_0030: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0035: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0036: Unknown result type (might be due to invalid IL or missing references)
|
||||
List<Quest> currentlyAcceptedQuests = GetCurrentlyAcceptedQuests();
|
||||
ImGui.Text("Currently Accepted Quests:");
|
||||
ChildDisposable val = ImRaii.Child((ImU8String)"AcceptedQuestsList", new Vector2(-1f, 120f), true);
|
||||
try
|
||||
using (ImRaii.ChildDisposable childDisposable = ImRaii.Child("AcceptedQuestsList", new Vector2(-1f, 120f), border: true))
|
||||
{
|
||||
if (ChildDisposable.op_Implicit(val))
|
||||
if ((bool)childDisposable)
|
||||
{
|
||||
if (currentlyAcceptedQuests.Count > 0)
|
||||
{
|
||||
foreach (Quest item in currentlyAcceptedQuests)
|
||||
{
|
||||
ImU8String imU8String = new ImU8String(13, 1);
|
||||
imU8String.AppendLiteral("AcceptedQuest");
|
||||
imU8String.AppendFormatted(item.Id);
|
||||
IdDisposable val2 = ImRaii.PushId(imU8String, true);
|
||||
try
|
||||
ImU8String id = new ImU8String(13, 1);
|
||||
id.AppendLiteral("AcceptedQuest");
|
||||
id.AppendFormatted(item.Id);
|
||||
using (ImRaii.PushId(id))
|
||||
{
|
||||
(Vector4, FontAwesomeIcon, string) questStyle = _uiUtils.GetQuestStyle(item.Id);
|
||||
bool flag = false;
|
||||
|
|
@ -426,17 +371,11 @@ internal sealed class StopConditionComponent : ConfigComponent
|
|||
{
|
||||
_questTooltipComponent.Draw(item.Info);
|
||||
}
|
||||
FontDisposable val3 = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.SameLine(ImGui.GetContentRegionAvail().X + ImGui.GetStyle().WindowPadding.X - ImGui.CalcTextSize(FontAwesomeIcon.Plus.ToIconString()).X - ImGui.GetStyle().FramePadding.X * 2f);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
DisabledDisposable val4 = ImRaii.Disabled(flag2);
|
||||
try
|
||||
using (ImRaii.Disabled(flag2))
|
||||
{
|
||||
if (ImGuiComponents.IconButton($"##Add{item.Id}", FontAwesomeIcon.Plus))
|
||||
{
|
||||
|
|
@ -445,19 +384,11 @@ internal sealed class StopConditionComponent : ConfigComponent
|
|||
Save();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val4)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
ImGui.SetTooltip(flag2 ? "Quest already added to stop conditions" : "Add this quest to stop conditions");
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -468,10 +399,6 @@ internal sealed class StopConditionComponent : ConfigComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val)).Dispose();
|
||||
}
|
||||
ImGui.Spacing();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -61,13 +61,8 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
|
||||
public void DrawAlliedSocietyQuests()
|
||||
{
|
||||
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
TabItemDisposable val = ImRaii.TabItem((ImU8String)"Allied Societies");
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem("Allied Societies");
|
||||
if (!tabItemDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -80,8 +75,7 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
select (QuestInfo)_questData.GetQuestInfo(x)).ToList();
|
||||
if (list.Count != 0 && DrawAlliedSocietyHeader(item, list))
|
||||
{
|
||||
IndentDisposable val2 = ImRaii.PushIndent(1, true);
|
||||
try
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
DrawAddToPriorityButtons(item, list);
|
||||
ImGui.Spacing();
|
||||
|
|
@ -89,18 +83,9 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
ImGui.Spacing();
|
||||
DrawQuestList(item, list);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private unsafe void DrawDailyAllowanceHeader()
|
||||
{
|
||||
|
|
@ -286,15 +271,10 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
|
||||
private static void DrawDisabledAddButton()
|
||||
{
|
||||
DisabledDisposable val = ImRaii.Disabled(true);
|
||||
try
|
||||
using (ImRaii.Disabled(disabled: true))
|
||||
{
|
||||
ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Plus, "Add to Priority");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
ImGui.SetTooltip("No quests available to add (may be disabled, already in priority, or not available)");
|
||||
|
|
@ -304,8 +284,7 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
private void DrawArrSocietyButtons(EAlliedSociety alliedSociety, List<QuestInfo> availableQuests, int dailyLimit, int remainingAllowances)
|
||||
{
|
||||
int num = Math.Min(Math.Min(dailyLimit, remainingAllowances), availableQuests.Count);
|
||||
DisabledDisposable val = ImRaii.Disabled(remainingAllowances == 0);
|
||||
try
|
||||
using (ImRaii.Disabled(remainingAllowances == 0))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Plus, num switch
|
||||
{
|
||||
|
|
@ -318,10 +297,6 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
AddQuestsToPriority(alliedSociety, availableQuests.Take(num).ToList());
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
DrawRecommendedButtonTooltip(num, remainingAllowances, dailyLimit, alliedSociety, availableQuests.Count);
|
||||
|
|
@ -342,8 +317,7 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
ImGui.BeginTooltip();
|
||||
if (remainingAllowances == 0)
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed))
|
||||
{
|
||||
ImU8String text = new ImU8String(0, 1);
|
||||
text.AppendFormatted(SeIconChar.Cross.ToIconString());
|
||||
|
|
@ -351,10 +325,6 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
ImGui.SameLine();
|
||||
ImGui.TextUnformatted("No daily allowances remaining");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
Vector4 col = ImGuiColors.DalamudGrey3;
|
||||
ImU8String text2 = new ImU8String(44, 1);
|
||||
text2.AppendLiteral("You've used all ");
|
||||
|
|
@ -364,8 +334,7 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
}
|
||||
else if (questsToAddCount == remainingAllowances && questsToAddCount < availableCount)
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen))
|
||||
{
|
||||
ImU8String text3 = new ImU8String(0, 1);
|
||||
text3.AppendFormatted(SeIconChar.QuestSync.ToIconString());
|
||||
|
|
@ -378,10 +347,6 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
text4.AppendFormatted((questsToAddCount == 1) ? "quest" : "quests");
|
||||
ImGui.TextUnformatted(text4);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
Vector4 col = ImGuiColors.DalamudGrey3;
|
||||
ImU8String text5 = new ImU8String(44, 2);
|
||||
text5.AppendLiteral("You can complete ");
|
||||
|
|
@ -395,8 +360,7 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
}
|
||||
else if (questsToAddCount == dailyLimit)
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen))
|
||||
{
|
||||
ImU8String text6 = new ImU8String(0, 1);
|
||||
text6.AppendFormatted(SeIconChar.QuestSync.ToIconString());
|
||||
|
|
@ -408,10 +372,6 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
text7.AppendLiteral(" quests");
|
||||
ImGui.TextUnformatted(text7);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
Vector4 col = ImGuiColors.DalamudGrey3;
|
||||
ImU8String text8 = new ImU8String(51, 2);
|
||||
text8.AppendLiteral("This will use ");
|
||||
|
|
@ -425,8 +385,7 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
}
|
||||
else if (questsToAddCount == availableCount)
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen))
|
||||
{
|
||||
ImU8String text9 = new ImU8String(0, 1);
|
||||
text9.AppendFormatted(SeIconChar.QuestSync.ToIconString());
|
||||
|
|
@ -441,10 +400,6 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
text10.AppendFormatted((questsToAddCount == 1) ? "quest" : "quests");
|
||||
ImGui.TextUnformatted(text10);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
Vector4 col = ImGuiColors.DalamudGrey3;
|
||||
ImU8String text11 = new ImU8String(37, 2);
|
||||
text11.AppendLiteral("Uses ");
|
||||
|
|
@ -458,8 +413,7 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
}
|
||||
else
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudYellow, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudYellow))
|
||||
{
|
||||
ImU8String text12 = new ImU8String(0, 1);
|
||||
text12.AppendFormatted(SeIconChar.BoxedLetterQ.ToIconString());
|
||||
|
|
@ -474,10 +428,6 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
text13.AppendFormatted((questsToAddCount == 1) ? "quest" : "quests");
|
||||
ImGui.TextUnformatted(text13);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
Vector4 col = ImGuiColors.DalamudGrey3;
|
||||
ImU8String text14 = new ImU8String(55, 2);
|
||||
text14.AppendLiteral("Limited by available quests (");
|
||||
|
|
@ -497,8 +447,7 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
ImGui.BeginTooltip();
|
||||
if (availableCount > remainingAllowances)
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudOrange, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudOrange))
|
||||
{
|
||||
ImU8String text = new ImU8String(0, 1);
|
||||
text.AppendFormatted(SeIconChar.Cross.ToIconString());
|
||||
|
|
@ -506,10 +455,6 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
ImGui.SameLine();
|
||||
ImGui.TextUnformatted("Warning: Exceeds remaining allowances");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.Spacing();
|
||||
ImU8String text2 = new ImU8String(54, 1);
|
||||
text2.AppendLiteral("This adds all ");
|
||||
|
|
@ -528,8 +473,7 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
}
|
||||
else if (availableCount > dailyLimit)
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudOrange, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudOrange))
|
||||
{
|
||||
ImU8String text4 = new ImU8String(0, 1);
|
||||
text4.AppendFormatted(SeIconChar.Cross.ToIconString());
|
||||
|
|
@ -537,10 +481,6 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
ImGui.SameLine();
|
||||
ImGui.TextUnformatted("Warning: Exceeds daily optimal amount");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.Spacing();
|
||||
ImU8String text5 = new ImU8String(32, 1);
|
||||
text5.AppendLiteral("This adds all ");
|
||||
|
|
@ -563,8 +503,7 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
}
|
||||
else
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen))
|
||||
{
|
||||
ImU8String text8 = new ImU8String(0, 1);
|
||||
text8.AppendFormatted(SeIconChar.QuestSync.ToIconString());
|
||||
|
|
@ -579,10 +518,6 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
text9.AppendFormatted((availableCount == 1) ? "quest" : "quests");
|
||||
ImGui.TextUnformatted(text9);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.Spacing();
|
||||
Vector4 col = ImGuiColors.DalamudGrey3;
|
||||
ImU8String text10 = new ImU8String(27, 2);
|
||||
|
|
@ -626,8 +561,7 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
ImGui.Spacing();
|
||||
if (availableQuests.Count <= remainingAllowances)
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen))
|
||||
{
|
||||
ImU8String text2 = new ImU8String(0, 1);
|
||||
text2.AppendFormatted(SeIconChar.QuestSync.ToIconString());
|
||||
|
|
@ -642,16 +576,11 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
text3.AppendFormatted((remainingAllowances == 1) ? "allowance" : "allowances");
|
||||
ImGui.TextUnformatted(text3);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.TextColored(ImGuiColors.DalamudGrey3, "All can be completed today");
|
||||
}
|
||||
else
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudOrange, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudOrange))
|
||||
{
|
||||
ImU8String text4 = new ImU8String(0, 1);
|
||||
text4.AppendFormatted(SeIconChar.Cross.ToIconString());
|
||||
|
|
@ -663,10 +592,6 @@ internal sealed class AlliedSocietyJournalComponent
|
|||
text5.AppendLiteral(")");
|
||||
ImGui.TextUnformatted(text5);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.TextColored(ImGuiColors.DalamudGrey3, "Some quests won't be completable until tomorrow");
|
||||
}
|
||||
ImGui.EndTooltip();
|
||||
|
|
|
|||
|
|
@ -62,16 +62,8 @@ internal sealed class DutyJournalComponent
|
|||
|
||||
public void DrawDuties()
|
||||
{
|
||||
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_009f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00a4: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00a5: Unknown result type (might be due to invalid IL or missing references)
|
||||
TabItemDisposable val = ImRaii.TabItem((ImU8String)"Duties");
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem("Duties");
|
||||
if (!tabItemDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -88,10 +80,9 @@ internal sealed class DutyJournalComponent
|
|||
DrawFilterControls();
|
||||
if (_filteredCategories.Count > 0)
|
||||
{
|
||||
TableDisposable val2 = ImRaii.Table((ImU8String)"Duties", 3, ImGuiTableFlags.NoSavedSettings);
|
||||
try
|
||||
using (ImRaii.TableDisposable tableDisposable = ImRaii.Table("Duties", 3, ImGuiTableFlags.NoSavedSettings))
|
||||
{
|
||||
if (!val2)
|
||||
if (!tableDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -105,18 +96,9 @@ internal sealed class DutyJournalComponent
|
|||
}
|
||||
return;
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TableDisposable)(ref val2)).Dispose();
|
||||
}
|
||||
}
|
||||
ImGui.Text("No duties match your search.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawFilterControls()
|
||||
{
|
||||
|
|
@ -192,12 +174,8 @@ internal sealed class DutyJournalComponent
|
|||
|
||||
private void DrawDutyTooltip(DutyInfo duty)
|
||||
{
|
||||
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
|
||||
TooltipDisposable val = ImRaii.Tooltip();
|
||||
try
|
||||
{
|
||||
if (!((TooltipDisposable)(ref val)).Alive)
|
||||
using ImRaii.TooltipDisposable tooltipDisposable = ImRaii.Tooltip();
|
||||
if (!tooltipDisposable.Alive)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -260,11 +238,6 @@ internal sealed class DutyJournalComponent
|
|||
ImGui.Separator();
|
||||
ImGui.TextColored(ImGuiColors.DalamudGrey, "No unlock quest data available.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawDutyStatus(bool? status)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -202,16 +202,8 @@ internal sealed class GatheringJournalComponent
|
|||
|
||||
public void DrawGatheringItems()
|
||||
{
|
||||
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0078: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_007d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_007e: Unknown result type (might be due to invalid IL or missing references)
|
||||
TabItemDisposable val = ImRaii.TabItem((ImU8String)"Gathering Points");
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem("Gathering Points");
|
||||
if (!tabItemDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -222,10 +214,9 @@ internal sealed class GatheringJournalComponent
|
|||
}
|
||||
if (_filteredExpansions.Count > 0)
|
||||
{
|
||||
TableDisposable val2 = ImRaii.Table((ImU8String)"GatheringPoints", 3, ImGuiTableFlags.NoSavedSettings);
|
||||
try
|
||||
using (ImRaii.TableDisposable tableDisposable = ImRaii.Table("GatheringPoints", 3, ImGuiTableFlags.NoSavedSettings))
|
||||
{
|
||||
if (!val2)
|
||||
if (!tableDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -239,18 +230,9 @@ internal sealed class GatheringJournalComponent
|
|||
}
|
||||
return;
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TableDisposable)(ref val2)).Dispose();
|
||||
}
|
||||
}
|
||||
ImGui.Text("No area, gathering point or item matches your search text.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawExpansion(FilteredExpansion expansion)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -119,16 +119,8 @@ internal sealed class QuestJournalComponent
|
|||
|
||||
public void DrawQuests()
|
||||
{
|
||||
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_016d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0172: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0173: Unknown result type (might be due to invalid IL or missing references)
|
||||
TabItemDisposable val = ImRaii.TabItem((ImU8String)"Quests");
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem("Quests");
|
||||
if (!tabItemDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -169,10 +161,9 @@ internal sealed class QuestJournalComponent
|
|||
}
|
||||
if (_filteredSections.Count > 0)
|
||||
{
|
||||
TableDisposable val2 = ImRaii.Table((ImU8String)"Quests", 3, ImGuiTableFlags.NoSavedSettings);
|
||||
try
|
||||
using (ImRaii.TableDisposable tableDisposable = ImRaii.Table("Quests", 3, ImGuiTableFlags.NoSavedSettings))
|
||||
{
|
||||
if (!val2)
|
||||
if (!tableDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -186,18 +177,9 @@ internal sealed class QuestJournalComponent
|
|||
}
|
||||
return;
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TableDisposable)(ref val2)).Dispose();
|
||||
}
|
||||
}
|
||||
ImGui.Text("No quest or category matches your search.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawSection(FilteredSection filter)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Dalamud.Bindings.ImGui;
|
||||
|
|
@ -45,9 +44,6 @@ internal sealed class QuestJournalUtils
|
|||
|
||||
public void ShowContextMenu(IQuestInfo questInfo, Quest? quest, string label)
|
||||
{
|
||||
//IL_0057: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_005c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_005d: Unknown result type (might be due to invalid IL or missing references)
|
||||
if (ImGui.IsItemClicked(ImGuiMouseButton.Right))
|
||||
{
|
||||
ImU8String strId = new ImU8String(12, 1);
|
||||
|
|
@ -55,18 +51,15 @@ internal sealed class QuestJournalUtils
|
|||
strId.AppendFormatted(questInfo.QuestId);
|
||||
ImGui.OpenPopup(strId);
|
||||
}
|
||||
ImU8String imU8String = new ImU8String(12, 1);
|
||||
imU8String.AppendLiteral("##QuestPopup");
|
||||
imU8String.AppendFormatted(questInfo.QuestId);
|
||||
PopupDisposable val = ImRaii.Popup(imU8String);
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
ImU8String id = new ImU8String(12, 1);
|
||||
id.AppendLiteral("##QuestPopup");
|
||||
id.AppendFormatted(questInfo.QuestId);
|
||||
using ImRaii.PopupDisposable popupDisposable = ImRaii.Popup(id);
|
||||
if (!popupDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
DisabledDisposable val2 = ImRaii.Disabled(!_questFunctions.IsReadyToAcceptQuest(questInfo.QuestId) || quest == null || quest.Root.Disabled);
|
||||
try
|
||||
using (ImRaii.Disabled(!_questFunctions.IsReadyToAcceptQuest(questInfo.QuestId) || quest == null || quest.Root.Disabled))
|
||||
{
|
||||
if (ImGui.MenuItem("Start as next quest"))
|
||||
{
|
||||
|
|
@ -74,10 +67,6 @@ internal sealed class QuestJournalUtils
|
|||
_questController.Start(label);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
if (!_questFunctions.IsReadyToAcceptQuest(questInfo.QuestId))
|
||||
|
|
@ -94,8 +83,7 @@ internal sealed class QuestJournalUtils
|
|||
}
|
||||
}
|
||||
List<ElementId> incompletePrerequisiteQuests = GetIncompletePrerequisiteQuests(questInfo);
|
||||
val2 = ImRaii.Disabled(incompletePrerequisiteQuests.Count == 0);
|
||||
try
|
||||
using (ImRaii.Disabled(incompletePrerequisiteQuests.Count == 0))
|
||||
{
|
||||
if (ImGui.MenuItem(incompletePrerequisiteQuests.Count switch
|
||||
{
|
||||
|
|
@ -107,10 +95,6 @@ internal sealed class QuestJournalUtils
|
|||
AddRequiredQuestsToPriority(questInfo, incompletePrerequisiteQuests);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
if (incompletePrerequisiteQuests.Count == 0)
|
||||
|
|
@ -123,23 +107,13 @@ internal sealed class QuestJournalUtils
|
|||
}
|
||||
}
|
||||
bool flag = _commandManager.Commands.ContainsKey("/questinfo");
|
||||
val2 = ImRaii.Disabled(!(questInfo.QuestId is QuestId) || !flag);
|
||||
try
|
||||
using (ImRaii.Disabled(!(questInfo.QuestId is QuestId) || !flag))
|
||||
{
|
||||
if (ImGui.MenuItem("View in Quest Map"))
|
||||
{
|
||||
_commandManager.ProcessCommand($"/questinfo {questInfo.QuestId}");
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((PopupDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private unsafe List<ElementId> GetIncompletePrerequisiteQuests(IQuestInfo questInfo)
|
||||
|
|
@ -259,9 +233,6 @@ internal sealed class QuestJournalUtils
|
|||
|
||||
internal static void ShowFilterContextMenu(QuestJournalComponent journalUi)
|
||||
{
|
||||
//IL_003c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0041: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0042: Unknown result type (might be due to invalid IL or missing references)
|
||||
if (ImGuiComponents.IconButton(FontAwesomeIcon.Filter))
|
||||
{
|
||||
ImGui.OpenPopup("QuestFilters");
|
||||
|
|
@ -270,10 +241,8 @@ internal sealed class QuestJournalUtils
|
|||
{
|
||||
ImGui.SetTooltip("Filter Options");
|
||||
}
|
||||
PopupDisposable val = ImRaii.Popup((ImU8String)"QuestFilters");
|
||||
try
|
||||
{
|
||||
if (!PopupDisposable.op_Implicit(val))
|
||||
using ImRaii.PopupDisposable popupDisposable = ImRaii.Popup("QuestFilters");
|
||||
if (!(bool)popupDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -293,17 +262,11 @@ internal sealed class QuestJournalUtils
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((PopupDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public void AddAllAvailableQuests()
|
||||
{
|
||||
int num = _questRegistry.AllQuests.Count((Quest quest) => !quest.Root.Disabled && !_questFunctions.IsQuestRemoved(quest.Id) && _questFunctions.IsReadyToAcceptQuest(quest.Id) && !_questFunctions.IsQuestComplete(quest.Id) && !_questFunctions.IsQuestAccepted(quest.Id) && !quest.Info.IsRepeatable && quest.Info.AlliedSociety == EAlliedSociety.None && !(quest.Info is QuestInfo { MoogleDeliveryLevel: >0 }) && !_questController.ManualPriorityQuests.Any((Quest q) => q.Id.Equals(quest.Id)));
|
||||
DisabledDisposable val = ImRaii.Disabled(num == 0);
|
||||
try
|
||||
using (ImRaii.Disabled(num == 0))
|
||||
{
|
||||
if (ImGuiComponents.IconButton(FontAwesomeIcon.ListOl))
|
||||
{
|
||||
|
|
@ -312,10 +275,6 @@ internal sealed class QuestJournalUtils
|
|||
_chatGui.Print($"Added {num2} {value} to priority queue.", "Questionable", 576);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
object obj;
|
||||
|
|
|
|||
|
|
@ -35,13 +35,8 @@ internal sealed class QuestRewardComponent
|
|||
|
||||
public void DrawItemRewards()
|
||||
{
|
||||
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
TabItemDisposable val = ImRaii.TabItem((ImU8String)"Item Rewards");
|
||||
try
|
||||
{
|
||||
if (!(!val))
|
||||
using ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem("Item Rewards");
|
||||
if (!(!tabItemDisposable))
|
||||
{
|
||||
ImGui.Checkbox("Show rewards from seasonal event quests", ref _showEventRewards);
|
||||
ImGui.Spacing();
|
||||
|
|
@ -53,16 +48,9 @@ internal sealed class QuestRewardComponent
|
|||
DrawGroup("Fashion Accessories", EItemRewardType.FashionAccessory);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawGroup(string label, EItemRewardType type)
|
||||
{
|
||||
//IL_0175: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_017a: Unknown result type (might be due to invalid IL or missing references)
|
||||
ImU8String label2 = new ImU8String(9, 2);
|
||||
label2.AppendFormatted(label);
|
||||
label2.AppendLiteral("###Reward");
|
||||
|
|
@ -94,29 +82,17 @@ internal sealed class QuestRewardComponent
|
|||
{
|
||||
continue;
|
||||
}
|
||||
TooltipDisposable val = ImRaii.Tooltip();
|
||||
try
|
||||
{
|
||||
if (((TooltipDisposable)(ref val)).Alive)
|
||||
using ImRaii.TooltipDisposable tooltipDisposable = ImRaii.Tooltip();
|
||||
if (tooltipDisposable.Alive)
|
||||
{
|
||||
ImU8String text2 = new ImU8String(15, 1);
|
||||
text2.AppendLiteral("Obtained from: ");
|
||||
text2.AppendFormatted(questInfo.Name);
|
||||
ImGui.Text(text2);
|
||||
IndentDisposable val2 = ImRaii.PushIndent(1, true);
|
||||
try
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
_questTooltipComponent.DrawInner(questInfo, showItemRewards: false);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -65,18 +65,14 @@ internal sealed class ARealmRebornComponent
|
|||
|
||||
private void DrawPrimals()
|
||||
{
|
||||
//IL_0050: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0055: Unknown result type (might be due to invalid IL or missing references)
|
||||
bool flag = UIState.IsInstanceContentCompleted(RequiredPrimalInstances.Last());
|
||||
bool flag2 = _uiUtils.ChecklistItem("Hard Mode Primals", flag, _configuration.Advanced.SkipARealmRebornHardModePrimals ? new System.Numerics.Vector4?(ImGuiColors.DalamudGrey) : ((System.Numerics.Vector4?)null));
|
||||
if (flag || !flag2)
|
||||
{
|
||||
return;
|
||||
}
|
||||
TooltipDisposable val = ImRaii.Tooltip();
|
||||
try
|
||||
{
|
||||
if (((TooltipDisposable)(ref val)).Alive)
|
||||
using ImRaii.TooltipDisposable tooltipDisposable = ImRaii.Tooltip();
|
||||
if (tooltipDisposable.Alive)
|
||||
{
|
||||
ushort[] requiredPrimalInstances = RequiredPrimalInstances;
|
||||
foreach (ushort instanceId in requiredPrimalInstances)
|
||||
|
|
@ -88,16 +84,9 @@ internal sealed class ARealmRebornComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawAllianceRaids()
|
||||
{
|
||||
//IL_005e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0063: Unknown result type (might be due to invalid IL or missing references)
|
||||
QuestFunctions questFunctions = _questFunctions;
|
||||
IReadOnlyList<QuestId> crystalTowerQuests = QuestData.CrystalTowerQuests;
|
||||
bool flag = questFunctions.IsQuestComplete(crystalTowerQuests[crystalTowerQuests.Count - 1]);
|
||||
|
|
@ -106,10 +95,8 @@ internal sealed class ARealmRebornComponent
|
|||
{
|
||||
return;
|
||||
}
|
||||
TooltipDisposable val = ImRaii.Tooltip();
|
||||
try
|
||||
{
|
||||
if (!((TooltipDisposable)(ref val)).Alive)
|
||||
using ImRaii.TooltipDisposable tooltipDisposable = ImRaii.Tooltip();
|
||||
if (!tooltipDisposable.Alive)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -121,9 +108,4 @@ internal sealed class ARealmRebornComponent
|
|||
_uiUtils.ChecklistItem(_questData.GetQuestInfo(crystalTowerQuest).Name, vector, item, ImGui.GetStyle().FramePadding.X);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -90,8 +90,6 @@ internal sealed class ActiveQuestComponent
|
|||
|
||||
public void Draw(bool isMinimized)
|
||||
{
|
||||
//IL_0150: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0157: Expected O, but got Unknown
|
||||
if (_fateController.IsRunning)
|
||||
{
|
||||
DrawFateActive(isMinimized);
|
||||
|
|
@ -118,27 +116,17 @@ internal sealed class ActiveQuestComponent
|
|||
string currentTaskState = _questController.CurrentTaskState;
|
||||
if (currentTaskState != null)
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudOrange, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudOrange))
|
||||
{
|
||||
ImGui.TextUnformatted(currentTaskState);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DisabledDisposable val2 = ImRaii.Disabled();
|
||||
try
|
||||
using (ImRaii.Disabled())
|
||||
{
|
||||
ImGui.TextUnformatted(_questController.DebugState ?? string.Empty);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
try
|
||||
|
|
@ -147,8 +135,7 @@ internal sealed class ActiveQuestComponent
|
|||
QuestStep questStep = questSequence?.FindStep(questProgress.Step);
|
||||
if (!isMinimized)
|
||||
{
|
||||
ColorDisposable val3 = new ColorDisposable();
|
||||
try
|
||||
using (ImRaii.ColorDisposable colorDisposable = new ImRaii.ColorDisposable())
|
||||
{
|
||||
bool flag;
|
||||
if (questStep != null)
|
||||
|
|
@ -165,14 +152,10 @@ internal sealed class ActiveQuestComponent
|
|||
IL_017e:
|
||||
if (flag)
|
||||
{
|
||||
val3.Push(ImGuiCol.Text, ImGuiColors.DalamudOrange, true);
|
||||
colorDisposable.Push(ImGuiCol.Text, ImGuiColors.DalamudOrange);
|
||||
}
|
||||
ImGui.TextUnformatted(questStep?.Comment ?? questSequence?.Comment ?? questProgress.Quest.Root.Comment ?? string.Empty);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
ImGui.Text(_questController.ToStatString());
|
||||
}
|
||||
DrawQuestButtons(questProgress, questStep, questProgressInfo, isMinimized);
|
||||
|
|
@ -208,8 +191,7 @@ internal sealed class ActiveQuestComponent
|
|||
text2.AppendFormatted((item2 == 1) ? string.Empty : "s");
|
||||
text2.AppendLiteral(" - Leveling mode will start automatically");
|
||||
ImGui.TextColored(in col, text2);
|
||||
DisabledDisposable val4 = ImRaii.Disabled(_questController.IsRunning || _fateController.IsRunning || _seasonalDutyController.IsRunning || !_autoDutyIpc.IsStopped());
|
||||
try
|
||||
using (ImRaii.Disabled(_questController.IsRunning || _fateController.IsRunning || _seasonalDutyController.IsRunning || !_autoDutyIpc.IsStopped()))
|
||||
{
|
||||
if (ImGuiComponents.IconButton(FontAwesomeIcon.Play))
|
||||
{
|
||||
|
|
@ -224,10 +206,6 @@ internal sealed class ActiveQuestComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val4)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
if (!_autoDutyIpc.IsStopped())
|
||||
|
|
@ -284,18 +262,13 @@ internal sealed class ActiveQuestComponent
|
|||
|
||||
private void DrawFateActive(bool isMinimized)
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGold, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGold))
|
||||
{
|
||||
ImU8String text = new ImU8String(6, 1);
|
||||
text.AppendLiteral("FATE: ");
|
||||
text.AppendFormatted(Shorten(_fateController.CurrentFate.Name));
|
||||
ImGui.TextUnformatted(text);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
IList<string> remainingTaskNames = _fateController.GetRemainingTaskNames();
|
||||
if (remainingTaskNames.Count > 0)
|
||||
{
|
||||
|
|
@ -315,18 +288,13 @@ internal sealed class ActiveQuestComponent
|
|||
|
||||
private void DrawDutyActive(bool isMinimized)
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen))
|
||||
{
|
||||
ImU8String text = new ImU8String(6, 1);
|
||||
text.AppendLiteral("Duty: ");
|
||||
text.AppendFormatted(Shorten(_seasonalDutyController.CurrentDuty.Name));
|
||||
ImGui.TextUnformatted(text);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
IList<string> remainingTaskNames = _seasonalDutyController.GetRemainingTaskNames();
|
||||
if (remainingTaskNames.Count > 0)
|
||||
{
|
||||
|
|
@ -346,14 +314,9 @@ internal sealed class ActiveQuestComponent
|
|||
|
||||
private void DrawQuestNames(QuestController.QuestProgress currentQuest, QuestController.ECurrentQuestType? currentQuestType)
|
||||
{
|
||||
//IL_0709: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_070e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_03c9: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_03ce: Unknown result type (might be due to invalid IL or missing references)
|
||||
if (currentQuestType == QuestController.ECurrentQuestType.Simulated)
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed))
|
||||
{
|
||||
ImU8String text = new ImU8String(26, 4);
|
||||
text.AppendLiteral("Simulated Quest: ");
|
||||
|
|
@ -367,15 +330,10 @@ internal sealed class ActiveQuestComponent
|
|||
ImGui.TextUnformatted(text);
|
||||
return;
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
if (currentQuestType == QuestController.ECurrentQuestType.Gathering)
|
||||
{
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGold, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGold))
|
||||
{
|
||||
ImU8String text2 = new ImU8String(20, 4);
|
||||
text2.AppendLiteral("Gathering: ");
|
||||
|
|
@ -389,10 +347,6 @@ internal sealed class ActiveQuestComponent
|
|||
ImGui.TextUnformatted(text2);
|
||||
return;
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
QuestController.QuestProgress startedQuest = _questController.StartedQuest;
|
||||
if (startedQuest != null)
|
||||
|
|
@ -449,10 +403,8 @@ internal sealed class ActiveQuestComponent
|
|||
ImGui.TextColored(in col, SeIconChar.Clock.ToIconString());
|
||||
if (ImGui.IsItemHovered())
|
||||
{
|
||||
TooltipDisposable val3 = ImRaii.Tooltip();
|
||||
try
|
||||
{
|
||||
if (((TooltipDisposable)(ref val3)).Alive)
|
||||
using ImRaii.TooltipDisposable tooltipDisposable = ImRaii.Tooltip();
|
||||
if (tooltipDisposable.Alive)
|
||||
{
|
||||
ImGui.Text("Stop Conditions:");
|
||||
ImGui.Separator();
|
||||
|
|
@ -537,11 +489,6 @@ internal sealed class ActiveQuestComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val3)).Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (_configuration.Advanced.AdditionalStatusInformation && _questController.IsInterruptible())
|
||||
{
|
||||
|
|
@ -549,10 +496,8 @@ internal sealed class ActiveQuestComponent
|
|||
ImGui.TextColored(ImGuiColors.DalamudYellow, SeIconChar.Hyadelyn.ToIconString());
|
||||
if (ImGui.IsItemHovered())
|
||||
{
|
||||
TooltipDisposable val4 = ImRaii.Tooltip();
|
||||
try
|
||||
{
|
||||
if (((TooltipDisposable)(ref val4)).Alive)
|
||||
using ImRaii.TooltipDisposable tooltipDisposable2 = ImRaii.Tooltip();
|
||||
if (tooltipDisposable2.Alive)
|
||||
{
|
||||
ImGui.Text("This quest sequence starts with a teleport to an Aetheryte.");
|
||||
ImGui.Text("Certain priority quest (e.g. class quests) may be started/completed by the plugin prior to continuing with this quest.");
|
||||
|
|
@ -604,18 +549,12 @@ internal sealed class ActiveQuestComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val4)).Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
QuestController.QuestProgress nextQuest = _questController.NextQuest;
|
||||
if (nextQuest != null)
|
||||
{
|
||||
ColorDisposable val5 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudYellow, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudYellow))
|
||||
{
|
||||
ImU8String text13 = new ImU8String(21, 4);
|
||||
text13.AppendLiteral("Next Quest: ");
|
||||
|
|
@ -628,10 +567,6 @@ internal sealed class ActiveQuestComponent
|
|||
text13.AppendFormatted(nextQuest.Step);
|
||||
ImGui.TextUnformatted(text13);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val5)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -645,9 +580,8 @@ internal sealed class ActiveQuestComponent
|
|||
return questProgressInfo;
|
||||
}
|
||||
Vector4* styleColorVec = ImGui.GetStyleColorVec4(ImGuiCol.TextDisabled);
|
||||
Vector4 vector = ((styleColorVec == null) ? ImGuiColors.ParsedOrange : (*styleColorVec));
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, vector, true);
|
||||
try
|
||||
Vector4 color = ((styleColorVec == null) ? ImGuiColors.ParsedOrange : (*styleColorVec));
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, color))
|
||||
{
|
||||
ImU8String text = new ImU8String(0, 1);
|
||||
text.AppendFormatted(questProgressInfo);
|
||||
|
|
@ -674,15 +608,10 @@ internal sealed class ActiveQuestComponent
|
|||
ImGui.Text(text3);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
else if (currentQuest.Quest.Id is QuestId)
|
||||
{
|
||||
DisabledDisposable val2 = ImRaii.Disabled();
|
||||
try
|
||||
using (ImRaii.Disabled())
|
||||
{
|
||||
if (currentQuest.Quest.Id == _questController.NextQuest?.Quest.Id)
|
||||
{
|
||||
|
|
@ -693,18 +622,13 @@ internal sealed class ActiveQuestComponent
|
|||
ImGui.TextUnformatted("(Not accepted)");
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
return questProgressInfo;
|
||||
}
|
||||
|
||||
private void DrawQuestButtons(QuestController.QuestProgress currentQuest, QuestStep? currentStep, QuestProgressInfo? questProgressInfo, bool isMinimized)
|
||||
{
|
||||
DisabledDisposable val = ImRaii.Disabled(_questController.IsRunning || _fateController.IsRunning || _seasonalDutyController.IsRunning);
|
||||
try
|
||||
using (ImRaii.Disabled(_questController.IsRunning || _fateController.IsRunning || _seasonalDutyController.IsRunning))
|
||||
{
|
||||
if (ImGuiComponents.IconButton(FontAwesomeIcon.Play))
|
||||
{
|
||||
|
|
@ -723,10 +647,6 @@ internal sealed class ActiveQuestComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
if (ImGuiComponents.IconButton(FontAwesomeIcon.Stop))
|
||||
{
|
||||
|
|
@ -746,12 +666,10 @@ internal sealed class ActiveQuestComponent
|
|||
}
|
||||
bool flag = currentStep == currentQuest.Quest.FindSequence(currentQuest.Sequence)?.Steps.LastOrDefault();
|
||||
WaitAtEnd.WaitNextStepOrSequence task;
|
||||
bool flag2 = currentStep != null && !flag && currentStep.InteractionType == EInteractionType.Instruction && _questController.HasCurrentTaskMatching<WaitAtEnd.WaitNextStepOrSequence>(out task);
|
||||
val = ImRaii.Disabled(flag);
|
||||
try
|
||||
bool condition = currentStep != null && !flag && currentStep.InteractionType == EInteractionType.Instruction && _questController.HasCurrentTaskMatching<WaitAtEnd.WaitNextStepOrSequence>(out task);
|
||||
using (ImRaii.Disabled(flag))
|
||||
{
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen, flag2);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen, condition))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.ArrowCircleRight, "Skip"))
|
||||
{
|
||||
|
|
@ -763,14 +681,6 @@ internal sealed class ActiveQuestComponent
|
|||
ImGui.SetTooltip("Skip the current step of the quest path.");
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
if (_commandManager.Commands.ContainsKey("/questinfo"))
|
||||
{
|
||||
|
|
@ -829,8 +739,7 @@ internal sealed class ActiveQuestComponent
|
|||
{
|
||||
return;
|
||||
}
|
||||
IdDisposable val = ImRaii.PushId((ImU8String)"SimulatedStep", true);
|
||||
try
|
||||
using (ImRaii.PushId("SimulatedStep"))
|
||||
{
|
||||
ImU8String text2 = new ImU8String(9, 2);
|
||||
text2.AppendLiteral("Step: ");
|
||||
|
|
@ -867,10 +776,6 @@ internal sealed class ActiveQuestComponent
|
|||
_questController.Stop("ClearSim");
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private static string Shorten(string text)
|
||||
|
|
|
|||
|
|
@ -171,11 +171,10 @@ internal sealed class EventInfoComponent
|
|||
{
|
||||
continue;
|
||||
}
|
||||
ImU8String imU8String = new ImU8String(21, 1);
|
||||
imU8String.AppendLiteral("##EventQuestSelection");
|
||||
imU8String.AppendFormatted(questId);
|
||||
IdDisposable val = ImRaii.PushId(imU8String, true);
|
||||
try
|
||||
ImU8String id = new ImU8String(21, 1);
|
||||
id.AppendLiteral("##EventQuestSelection");
|
||||
id.AppendFormatted(questId);
|
||||
using (ImRaii.PushId(id))
|
||||
{
|
||||
string name = _questData.GetQuestInfo(questId).Name;
|
||||
if (list.Contains(questId) && _questRegistry.TryGetQuest(questId, out Questionable.Model.Quest quest))
|
||||
|
|
@ -204,10 +203,6 @@ internal sealed class EventInfoComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -57,9 +57,6 @@ internal sealed class ManualPriorityComponent
|
|||
|
||||
public void Draw()
|
||||
{
|
||||
//IL_00ab: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00b1: Unknown result type (might be due to invalid IL or missing references)
|
||||
ImGui.TextWrapped("When you have an active Main Scenario Quest, Questionable will prioritise quests in this order:");
|
||||
ImGui.BulletText("Priority quests: class quests, A Realm Reborn primals and raids");
|
||||
ImGui.BulletText("Supported quests from your Journal's To-Do list (always visible on-screen quests)");
|
||||
|
|
@ -73,34 +70,23 @@ internal sealed class ManualPriorityComponent
|
|||
{
|
||||
ImGui.Text("Priority queue (drag arrow buttons to reorder):");
|
||||
}
|
||||
ChildDisposable val = ImRaii.Child((ImU8String)"ManualPriorityList", new Vector2(-1f, -27f), true);
|
||||
try
|
||||
using (ImRaii.ChildDisposable childDisposable = ImRaii.Child("ManualPriorityList", new Vector2(-1f, -27f), border: true))
|
||||
{
|
||||
if (ChildDisposable.op_Implicit(val))
|
||||
if ((bool)childDisposable)
|
||||
{
|
||||
DrawQuestList();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val)).Dispose();
|
||||
}
|
||||
List<ElementId> list = ParseClipboardItems();
|
||||
DisabledDisposable val2 = ImRaii.Disabled(list.Count == 0);
|
||||
try
|
||||
using (ImRaii.Disabled(list.Count == 0))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Download, "Import from Clipboard"))
|
||||
{
|
||||
ImportFromClipboard(list);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
val2 = ImRaii.Disabled(_questController.ManualPriorityQuests.Count == 0);
|
||||
try
|
||||
using (ImRaii.Disabled(_questController.ManualPriorityQuests.Count == 0))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Upload, "Export to Clipboard"))
|
||||
{
|
||||
|
|
@ -112,27 +98,18 @@ internal sealed class ManualPriorityComponent
|
|||
_questController.SavePriorityQuests();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
DisabledDisposable val3 = ImRaii.Disabled(!ImGui.IsKeyDown(ImGuiKey.ModCtrl));
|
||||
try
|
||||
using (ImRaii.Disabled(!ImGui.IsKeyDown(ImGuiKey.ModCtrl)))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Trash, "Clear All"))
|
||||
{
|
||||
_questController.ClearQuestPriority();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
ImGui.SetTooltip("Hold CTRL to enable this button.");
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawQuestList()
|
||||
|
|
@ -154,11 +131,10 @@ internal sealed class ManualPriorityComponent
|
|||
{
|
||||
Vector2 item = ImGui.GetCursorScreenPos() + new Vector2(0f, (0f - ImGui.GetStyle().ItemSpacing.Y) / 2f);
|
||||
Quest quest3 = manualPriorityQuests[i];
|
||||
ImU8String imU8String = new ImU8String(5, 1);
|
||||
imU8String.AppendLiteral("Quest");
|
||||
imU8String.AppendFormatted(quest3.Id);
|
||||
IdDisposable val = ImRaii.PushId(imU8String, true);
|
||||
try
|
||||
ImU8String id = new ImU8String(5, 1);
|
||||
id.AppendLiteral("Quest");
|
||||
id.AppendFormatted(quest3.Id);
|
||||
using (ImRaii.PushId(id))
|
||||
{
|
||||
ImGui.AlignTextToFramePadding();
|
||||
ImU8String text = new ImU8String(1, 1);
|
||||
|
|
@ -184,15 +160,10 @@ internal sealed class ManualPriorityComponent
|
|||
}
|
||||
if (manualPriorityQuests.Count > 1)
|
||||
{
|
||||
FontDisposable val2 = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.SameLine(ImGui.GetContentRegionAvail().X + ImGui.GetStyle().WindowPadding.X - ImGui.CalcTextSize(FontAwesomeIcon.ArrowsUpDown.ToIconString()).X - ImGui.CalcTextSize(FontAwesomeIcon.Times.ToIconString()).X - ImGui.GetStyle().FramePadding.X * 4f - ImGui.GetStyle().ItemSpacing.X);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
if (_draggedItem == quest3.Id)
|
||||
{
|
||||
ImGuiComponents.IconButton("##Move", FontAwesomeIcon.ArrowsUpDown, ImGui.ColorConvertU32ToFloat4(ImGui.GetColorU32(ImGuiCol.ButtonActive)));
|
||||
|
|
@ -209,25 +180,16 @@ internal sealed class ManualPriorityComponent
|
|||
}
|
||||
else
|
||||
{
|
||||
FontDisposable val2 = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.SameLine(ImGui.GetContentRegionAvail().X + ImGui.GetStyle().WindowPadding.X - ImGui.CalcTextSize(FontAwesomeIcon.Times.ToIconString()).X - ImGui.GetStyle().FramePadding.X * 2f);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
if (ImGuiComponents.IconButton($"##Remove{i}", FontAwesomeIcon.Times))
|
||||
{
|
||||
quest = quest3;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
Vector2 item2 = new Vector2(item.X + x, ImGui.GetCursorScreenPos().Y - ImGui.GetStyle().ItemSpacing.Y + 2f);
|
||||
list.Add((item, item2));
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,38 +77,25 @@ internal sealed class PresetBuilderComponent
|
|||
|
||||
public void Draw()
|
||||
{
|
||||
//IL_002e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0033: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0034: Unknown result type (might be due to invalid IL or missing references)
|
||||
ImGui.TextWrapped("Quest presets allow you to quickly add related quests to your priority list. These are useful for unlocking content that may be required later.");
|
||||
ImGui.Spacing();
|
||||
ChildDisposable val = ImRaii.Child((ImU8String)"PresetList", new Vector2(-1f, -27f), true);
|
||||
try
|
||||
using (ImRaii.ChildDisposable childDisposable = ImRaii.Child("PresetList", new Vector2(-1f, -27f), border: true))
|
||||
{
|
||||
if (ChildDisposable.op_Implicit(val))
|
||||
if ((bool)childDisposable)
|
||||
{
|
||||
DrawPresetGroups();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val)).Dispose();
|
||||
}
|
||||
List<ElementId> list = (from questId in GetAllPresetQuests()
|
||||
where _questController.ManualPriorityQuests.Any((Quest q) => q.Id.Equals(questId))
|
||||
select questId).ToList();
|
||||
DisabledDisposable val2 = ImRaii.Disabled(list.Count == 0);
|
||||
try
|
||||
using (ImRaii.Disabled(list.Count == 0))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Trash, $"Clear All Preset Quests ({list.Count})"))
|
||||
{
|
||||
ClearAllPresetQuests(list);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
if (list.Count == 0)
|
||||
|
|
@ -144,8 +131,7 @@ internal sealed class PresetBuilderComponent
|
|||
QuestPreset value;
|
||||
if (DrawGroupHeader("Aether Currents", "Unlock aether currents in various expansion zones to enable flying.", orderedEnumerable))
|
||||
{
|
||||
IndentDisposable val = ImRaii.PushIndent(1, true);
|
||||
try
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
foreach (KeyValuePair<string, QuestPreset> item in orderedEnumerable)
|
||||
{
|
||||
|
|
@ -155,15 +141,10 @@ internal sealed class PresetBuilderComponent
|
|||
DrawPreset(key2, preset);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
if (DrawGroupHeader("City Aethernet", "Unlock aethernet shards in major cities to enable city teleports.", orderedEnumerable2))
|
||||
{
|
||||
IndentDisposable val2 = ImRaii.PushIndent(1, true);
|
||||
try
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
foreach (KeyValuePair<string, QuestPreset> item2 in orderedEnumerable2)
|
||||
{
|
||||
|
|
@ -173,17 +154,12 @@ internal sealed class PresetBuilderComponent
|
|||
DrawPreset(key3, preset2);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
if (!orderedEnumerable3.Any() || !DrawGroupHeader("Content Unlocks", "Essential quest series and unlocks that may be required for progression.", orderedEnumerable3))
|
||||
{
|
||||
return;
|
||||
}
|
||||
IndentDisposable val3 = ImRaii.PushIndent(1, true);
|
||||
try
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
foreach (KeyValuePair<string, QuestPreset> item3 in orderedEnumerable3)
|
||||
{
|
||||
|
|
@ -193,10 +169,6 @@ internal sealed class PresetBuilderComponent
|
|||
DrawPreset(key4, preset3);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private bool DrawGroupHeader(string groupName, string groupDescription, IEnumerable<KeyValuePair<string, QuestPreset>> presets)
|
||||
|
|
@ -249,8 +221,7 @@ internal sealed class PresetBuilderComponent
|
|||
|
||||
private void DrawPreset(string key, QuestPreset preset)
|
||||
{
|
||||
IdDisposable val = ImRaii.PushId((ImU8String)key, true);
|
||||
try
|
||||
using (ImRaii.PushId(key))
|
||||
{
|
||||
List<ElementId> availableQuestsForPreset = GetAvailableQuestsForPreset(preset);
|
||||
List<ElementId> completedQuestsForPreset = GetCompletedQuestsForPreset(preset);
|
||||
|
|
@ -291,8 +262,7 @@ internal sealed class PresetBuilderComponent
|
|||
{
|
||||
return;
|
||||
}
|
||||
IndentDisposable val2 = ImRaii.PushIndent(1, true);
|
||||
try
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
ImGui.TextWrapped(preset.Description);
|
||||
ImGui.Spacing();
|
||||
|
|
@ -392,14 +362,6 @@ internal sealed class PresetBuilderComponent
|
|||
_uiUtils.ChecklistItem("No applicable quests found", ImGuiColors.DalamudGrey, FontAwesomeIcon.Minus);
|
||||
goto IL_03d8;
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -62,34 +62,19 @@ internal sealed class QuestSequenceComponent
|
|||
ImGui.TextColored(new Vector4(0.98f, 0.98f, 1f, 1f), "Quest Sequence Viewer");
|
||||
ImGui.SameLine(x - 35f);
|
||||
ImGui.SetCursorPosY(ImGui.GetCursorPosY() - num2 + ImGui.GetStyle().ItemSpacing.Y);
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Button, Vector4.Zero, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Button, Vector4.Zero))
|
||||
{
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.ButtonHovered, new Vector4(0.8f, 0.3f, 0.3f, 0.4f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.ButtonHovered, new Vector4(0.8f, 0.3f, 0.3f, 0.4f)))
|
||||
{
|
||||
ColorDisposable val3 = ImRaii.PushColor(ImGuiCol.ButtonActive, new Vector4(0.9f, 0.2f, 0.2f, 0.6f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.ButtonActive, new Vector4(0.9f, 0.2f, 0.2f, 0.6f)))
|
||||
{
|
||||
if (ImGuiComponents.IconButton(FontAwesomeIcon.Times))
|
||||
{
|
||||
isOpen = false;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.SetCursorPosY(cursorScreenPos.Y + num - ImGui.GetCursorScreenPos().Y + ImGui.GetCursorPosY());
|
||||
}
|
||||
|
||||
|
|
@ -146,40 +131,29 @@ internal sealed class QuestSequenceComponent
|
|||
windowDrawList.AddRect(cursorScreenPos, cursorScreenPos + new Vector2(x, y), ImGui.ColorConvertFloat4ToU32(new Vector4(0.6f, 0.5f, 0.8f, 0.2f)), 4f, ImDrawFlags.None, 1f);
|
||||
ImGui.SetCursorPosY(ImGui.GetCursorPosY() + ImGui.GetStyle().ItemSpacing.Y * 1.5f);
|
||||
ImGui.SetCursorPosX(ImGui.GetCursorPosX() + 10f);
|
||||
FontDisposable val = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.TextColored(new Vector4(0.7f, 0.6f, 0.9f, 1f), FontAwesomeIcon.Search.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
float x2 = ImGui.GetStyle().ItemSpacing.X;
|
||||
float num = 10f;
|
||||
float num2 = 10f;
|
||||
float num3 = ImGui.CalcTextSize("Search").X + ImGui.CalcTextSize(FontAwesomeIcon.Search.ToIconString()).X + ImGui.GetStyle().FramePadding.X * 4f + x2;
|
||||
ImGui.SetNextItemWidth(x - num3 - x2 * 3f - num - num2);
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.FrameBg, new Vector4(0.08f, 0.06f, 0.12f, 0.8f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.FrameBg, new Vector4(0.08f, 0.06f, 0.12f, 0.8f)))
|
||||
{
|
||||
ColorDisposable val3 = ImRaii.PushColor(ImGuiCol.FrameBgHovered, new Vector4(0.12f, 0.1f, 0.18f, 0.9f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.FrameBgHovered, new Vector4(0.12f, 0.1f, 0.18f, 0.9f)))
|
||||
{
|
||||
ColorDisposable val4 = ImRaii.PushColor(ImGuiCol.FrameBgActive, new Vector4(0.15f, 0.13f, 0.22f, 1f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.FrameBgActive, new Vector4(0.15f, 0.13f, 0.22f, 1f)))
|
||||
{
|
||||
bool flag = ImGui.InputTextWithHint("##QuestLookup", "Enter quest ID...", ref _questLookupInput, 10, ImGuiInputTextFlags.EnterReturnsTrue);
|
||||
ImGui.SameLine();
|
||||
ColorDisposable val5 = ImRaii.PushColor(ImGuiCol.Button, new Vector4(0.25f, 0.22f, 0.32f, 0.8f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Button, new Vector4(0.25f, 0.22f, 0.32f, 0.8f)))
|
||||
{
|
||||
ColorDisposable val6 = ImRaii.PushColor(ImGuiCol.ButtonHovered, new Vector4(0.35f, 0.3f, 0.45f, 0.9f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.ButtonHovered, new Vector4(0.35f, 0.3f, 0.45f, 0.9f)))
|
||||
{
|
||||
ColorDisposable val7 = ImRaii.PushColor(ImGuiCol.ButtonActive, new Vector4(0.4f, 0.35f, 0.5f, 1f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.ButtonActive, new Vector4(0.4f, 0.35f, 0.5f, 1f)))
|
||||
{
|
||||
bool flag2 = ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Search, "Search");
|
||||
if (flag || flag2)
|
||||
|
|
@ -194,34 +168,10 @@ internal sealed class QuestSequenceComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val7)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val6)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val5)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val4)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
ImGui.SetCursorPosY(ImGui.GetCursorPosY() + ImGui.GetStyle().ItemSpacing.Y * 1.5f);
|
||||
ImGui.Spacing();
|
||||
|
|
@ -305,14 +255,11 @@ internal sealed class QuestSequenceComponent
|
|||
ImGui.TextColored(in col, text);
|
||||
ImGui.SameLine();
|
||||
ImGui.SetCursorPosX(ImGui.GetCursorPosX() + 8f);
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Button, new Vector4(0.18f, 0.16f, 0.22f, 0.8f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Button, new Vector4(0.18f, 0.16f, 0.22f, 0.8f)))
|
||||
{
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.ButtonHovered, new Vector4(0.28f, 0.24f, 0.32f, 0.95f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.ButtonHovered, new Vector4(0.28f, 0.24f, 0.32f, 0.95f)))
|
||||
{
|
||||
ColorDisposable val3 = ImRaii.PushColor(ImGuiCol.ButtonActive, new Vector4(0.35f, 0.3f, 0.45f, 1f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.ButtonActive, new Vector4(0.35f, 0.3f, 0.45f, 1f)))
|
||||
{
|
||||
if (ImGuiComponents.IconButton(FontAwesomeIcon.Copy))
|
||||
{
|
||||
|
|
@ -323,20 +270,8 @@ internal sealed class QuestSequenceComponent
|
|||
ImGui.SetTooltip("Copies filename as QuestID_QuestNameWithSpaces.json");
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
if (currentSequence.HasValue)
|
||||
{
|
||||
ImGui.SameLine();
|
||||
|
|
@ -431,13 +366,8 @@ internal sealed class QuestSequenceComponent
|
|||
|
||||
private static void DrawSummaryCards(int totalSequences, int maxSeq, bool hasQuestPath, float coverage, Vector4 coverageColor, int implementedCount, int expectedCount)
|
||||
{
|
||||
//IL_0046: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_004b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_004c: Unknown result type (might be due to invalid IL or missing references)
|
||||
TableDisposable val = ImRaii.Table((ImU8String)"SummaryCards", 2, ImGuiTableFlags.None);
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
using ImRaii.TableDisposable tableDisposable = ImRaii.Table("SummaryCards", 2, ImGuiTableFlags.None);
|
||||
if (!tableDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -501,22 +431,12 @@ internal sealed class QuestSequenceComponent
|
|||
ImGui.Spacing();
|
||||
Vector2 cursorScreenPos = ImGui.GetCursorScreenPos();
|
||||
float x = ImGui.GetContentRegionAvail().X - 10f;
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.PlotHistogram, coverageColor, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.PlotHistogram, coverageColor))
|
||||
{
|
||||
ColorDisposable val3 = ImRaii.PushColor(ImGuiCol.FrameBg, new Vector4(0.08f, 0.06f, 0.12f, 0.8f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.FrameBg, new Vector4(0.08f, 0.06f, 0.12f, 0.8f)))
|
||||
{
|
||||
ImGui.ProgressBar(coverage / 100f, new Vector2(x, 16f), "");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
ImGui.GetWindowDrawList().AddRect(cursorScreenPos, cursorScreenPos + new Vector2(x, 16f), ImGui.ColorConvertFloat4ToU32(new Vector4(0.6f, 0.5f, 0.8f, 0.3f)), 2f);
|
||||
ImGui.Unindent(10f);
|
||||
|
|
@ -536,11 +456,6 @@ internal sealed class QuestSequenceComponent
|
|||
}
|
||||
});
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TableDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private static void DrawCard(float height, Vector4 accentColor, FontAwesomeIcon icon, string title, System.Action content)
|
||||
{
|
||||
|
|
@ -564,40 +479,26 @@ internal sealed class QuestSequenceComponent
|
|||
|
||||
private void DrawSequenceGrid(int maxSeq, byte? currentSequence, HashSet<int> implementedSequences, Dictionary<int, (int StepCount, string? Comment)> sequenceDetails, bool hasEndSequence)
|
||||
{
|
||||
//IL_0092: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0097: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0099: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00fb: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0100: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0102: Unknown result type (might be due to invalid IL or missing references)
|
||||
int val = maxSeq + 2;
|
||||
float x = ImGui.GetContentRegionAvail().X;
|
||||
int val2 = Math.Max(4, Math.Min(8, (int)(x / 100f)));
|
||||
val2 = Math.Min(val2, val);
|
||||
float y = ImGui.GetContentRegionAvail().Y;
|
||||
ColorDisposable val3 = ImRaii.PushColor(ImGuiCol.ChildBg, new Vector4(0.08f, 0.06f, 0.12f, 0.6f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.ChildBg, new Vector4(0.08f, 0.06f, 0.12f, 0.6f)))
|
||||
{
|
||||
ColorDisposable val4 = ImRaii.PushColor(ImGuiCol.Border, new Vector4(0.6f, 0.5f, 0.8f, 0.2f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Border, new Vector4(0.6f, 0.5f, 0.8f, 0.2f)))
|
||||
{
|
||||
ChildDisposable val5 = ImRaii.Child((ImU8String)"SequenceGrid", new Vector2(-1f, y), true, ImGuiWindowFlags.None);
|
||||
try
|
||||
{
|
||||
if (!ChildDisposable.op_Implicit(val5))
|
||||
using ImRaii.ChildDisposable childDisposable = ImRaii.Child("SequenceGrid", new Vector2(-1f, y), border: true, ImGuiWindowFlags.None);
|
||||
if (!(bool)childDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
ColorDisposable val6 = ImRaii.PushColor(ImGuiCol.TableBorderStrong, new Vector4(0.6f, 0.5f, 0.8f, 0.2f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.TableBorderStrong, new Vector4(0.6f, 0.5f, 0.8f, 0.2f)))
|
||||
{
|
||||
ColorDisposable val7 = ImRaii.PushColor(ImGuiCol.TableBorderLight, new Vector4(0.6f, 0.5f, 0.8f, 0.15f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.TableBorderLight, new Vector4(0.6f, 0.5f, 0.8f, 0.15f)))
|
||||
{
|
||||
TableDisposable val8 = ImRaii.Table((ImU8String)"SequenceGridTable", val2, ImGuiTableFlags.Borders | ImGuiTableFlags.SizingStretchSame);
|
||||
try
|
||||
{
|
||||
if (!TableDisposable.op_Implicit(val8))
|
||||
using ImRaii.TableDisposable tableDisposable = ImRaii.Table("SequenceGridTable", val2, ImGuiTableFlags.Borders | ImGuiTableFlags.SizingStretchSame);
|
||||
if (!(bool)tableDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -623,41 +524,13 @@ internal sealed class QuestSequenceComponent
|
|||
ImGui.TableNextColumn();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TableDisposable)(ref val8)).Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val7)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val6)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val5)).Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val4)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawSequenceCell(int sequenceId, byte? currentSequence, HashSet<int> implementedSequences, Dictionary<int, (int StepCount, string? Comment)> sequenceDetails, bool? forcedImplemented = null)
|
||||
{
|
||||
//IL_035b: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0360: Unknown result type (might be due to invalid IL or missing references)
|
||||
bool flag = currentSequence.HasValue && sequenceId == currentSequence.Value;
|
||||
bool flag2 = forcedImplemented ?? implementedSequences.Contains(sequenceId);
|
||||
bool flag3 = _hoveredSequenceId == sequenceId;
|
||||
|
|
@ -701,21 +574,15 @@ internal sealed class QuestSequenceComponent
|
|||
if (ImGui.IsItemHovered())
|
||||
{
|
||||
_hoveredSequenceId = sequenceId;
|
||||
TooltipDisposable val = ImRaii.Tooltip();
|
||||
try
|
||||
using (ImRaii.Tooltip())
|
||||
{
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.Text, new Vector4(0.98f, 0.98f, 1f, 1f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, new Vector4(0.98f, 0.98f, 1f, 1f)))
|
||||
{
|
||||
ImU8String text2 = new ImU8String(9, 1);
|
||||
text2.AppendLiteral("Sequence ");
|
||||
text2.AppendFormatted(sequenceId);
|
||||
ImGui.Text(text2);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
ImGui.Separator();
|
||||
if (flag2 && sequenceDetails.TryGetValue(sequenceId, out (int, string) value))
|
||||
{
|
||||
|
|
@ -760,10 +627,6 @@ internal sealed class QuestSequenceComponent
|
|||
ImGui.TextColored(new Vector4(1f, 0.85f, 0.5f, 1f), "► Currently Active");
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
else if (_hoveredSequenceId == sequenceId)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
using System;
|
||||
using Dalamud.Bindings.ImGui;
|
||||
using Dalamud.Game.Text;
|
||||
using Dalamud.Interface;
|
||||
|
|
@ -39,21 +38,12 @@ internal sealed class QuestTooltipComponent
|
|||
|
||||
public void Draw(IQuestInfo questInfo)
|
||||
{
|
||||
//IL_0000: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0005: Unknown result type (might be due to invalid IL or missing references)
|
||||
TooltipDisposable val = ImRaii.Tooltip();
|
||||
try
|
||||
{
|
||||
if (((TooltipDisposable)(ref val)).Alive)
|
||||
using ImRaii.TooltipDisposable tooltipDisposable = ImRaii.Tooltip();
|
||||
if (tooltipDisposable.Alive)
|
||||
{
|
||||
DrawInner(questInfo, showItemRewards: true);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public void DrawInner(IQuestInfo questInfo, bool showItemRewards)
|
||||
{
|
||||
|
|
@ -153,15 +143,10 @@ internal sealed class QuestTooltipComponent
|
|||
}
|
||||
else
|
||||
{
|
||||
DisabledDisposable val = ImRaii.Disabled();
|
||||
try
|
||||
using (ImRaii.Disabled())
|
||||
{
|
||||
_uiUtils.ChecklistItem($"Unknown Quest ({previousQuest.QuestId})", ImGuiColors.DalamudGrey, FontAwesomeIcon.Question);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -55,26 +55,20 @@ internal sealed class QuestValidationComponent
|
|||
ImGui.SameLine();
|
||||
ImGui.Text("(");
|
||||
ImGui.SameLine();
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed))
|
||||
{
|
||||
ImU8String text2 = new ImU8String(7, 1);
|
||||
text2.AppendFormatted(errorCount);
|
||||
text2.AppendLiteral(" errors");
|
||||
ImGui.Text(text2);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
if (num > 0)
|
||||
{
|
||||
if (errorCount > 0)
|
||||
{
|
||||
ImGui.SameLine();
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudOrange, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudOrange))
|
||||
{
|
||||
ImU8String text3 = new ImU8String(12, 1);
|
||||
text3.AppendLiteral(", ");
|
||||
|
|
@ -83,16 +77,11 @@ internal sealed class QuestValidationComponent
|
|||
ImGui.Text(text3);
|
||||
return;
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
ImGui.SameLine();
|
||||
ImGui.Text("(");
|
||||
ImGui.SameLine();
|
||||
ColorDisposable val3 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudOrange, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudOrange))
|
||||
{
|
||||
ImU8String text4 = new ImU8String(10, 1);
|
||||
text4.AppendFormatted(num);
|
||||
|
|
@ -100,10 +89,6 @@ internal sealed class QuestValidationComponent
|
|||
ImGui.Text(text4);
|
||||
return;
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
if (errorCount > 0)
|
||||
{
|
||||
|
|
@ -114,13 +99,8 @@ internal sealed class QuestValidationComponent
|
|||
|
||||
private void DrawValidationTable()
|
||||
{
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0015: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0016: Unknown result type (might be due to invalid IL or missing references)
|
||||
TableDisposable val = ImRaii.Table((ImU8String)"ValidationIssues", 6, ImGuiTableFlags.Borders | ImGuiTableFlags.Sortable | ImGuiTableFlags.RowBg | ImGuiTableFlags.ScrollY);
|
||||
try
|
||||
{
|
||||
if (!(!val))
|
||||
using ImRaii.TableDisposable tableDisposable = ImRaii.Table("ValidationIssues", 6, ImGuiTableFlags.Borders | ImGuiTableFlags.Sortable | ImGuiTableFlags.RowBg | ImGuiTableFlags.ScrollY);
|
||||
if (!(!tableDisposable))
|
||||
{
|
||||
ImGui.TableSetupColumn("ID", ImGuiTableColumnFlags.WidthFixed, 60f);
|
||||
ImGui.TableSetupColumn("Name", ImGuiTableColumnFlags.WidthFixed, 250f);
|
||||
|
|
@ -136,11 +116,6 @@ internal sealed class QuestValidationComponent
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TableDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawValidationRow(ValidationIssue issue, int index)
|
||||
{
|
||||
|
|
@ -161,15 +136,10 @@ internal sealed class QuestValidationComponent
|
|||
}
|
||||
else
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudGrey2, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudGrey2))
|
||||
{
|
||||
ImGui.TextUnformatted("\ufffd");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ImGui.TableNextColumn())
|
||||
|
|
@ -180,15 +150,10 @@ internal sealed class QuestValidationComponent
|
|||
}
|
||||
else
|
||||
{
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudGrey2, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudGrey2))
|
||||
{
|
||||
ImGui.TextUnformatted("\ufffd");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
if (ImGui.TableNextColumn())
|
||||
|
|
@ -203,31 +168,21 @@ internal sealed class QuestValidationComponent
|
|||
|
||||
private void DrawIssueCell(ValidationIssue issue, int index)
|
||||
{
|
||||
Vector4 vector = ((issue.Severity == EIssueSeverity.Error) ? ImGuiColors.DalamudRed : ImGuiColors.DalamudOrange);
|
||||
Vector4 color = ((issue.Severity == EIssueSeverity.Error) ? ImGuiColors.DalamudRed : ImGuiColors.DalamudOrange);
|
||||
FontAwesomeIcon icon = ((issue.Severity == EIssueSeverity.Error) ? FontAwesomeIcon.ExclamationTriangle : FontAwesomeIcon.InfoCircle);
|
||||
using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push())
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, vector, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, color))
|
||||
{
|
||||
ImGui.TextUnformatted(icon.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
ImGui.SameLine();
|
||||
string issueSummary = GetIssueSummary(issue);
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.Text, vector, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, color))
|
||||
{
|
||||
ImGui.TextWrapped(issueSummary);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawActionsCell(ValidationIssue issue, int index)
|
||||
|
|
|
|||
|
|
@ -69,18 +69,13 @@ internal sealed class QuickAccessButtonsComponent
|
|||
private void DrawRebuildNavmeshButton()
|
||||
{
|
||||
bool flag = _commandManager.Commands.ContainsKey("/vnav");
|
||||
DisabledDisposable val = ImRaii.Disabled(!flag || !ImGui.IsKeyDown(ImGuiKey.ModCtrl));
|
||||
try
|
||||
using (ImRaii.Disabled(!flag || !ImGui.IsKeyDown(ImGuiKey.ModCtrl)))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.GlobeEurope, "Rebuild Navmesh"))
|
||||
{
|
||||
_commandManager.ProcessCommand("/vnav rebuild");
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
if (!flag)
|
||||
|
|
@ -123,8 +118,7 @@ internal sealed class QuickAccessButtonsComponent
|
|||
return;
|
||||
}
|
||||
int num2 = ((validationErrorCount == 0 || num == 0) ? 1 : 2);
|
||||
IdDisposable val = ImRaii.PushId((ImU8String)"validationissues", true);
|
||||
try
|
||||
using (ImRaii.PushId("validationissues"))
|
||||
{
|
||||
FontAwesomeIcon icon = FontAwesomeIcon.ExclamationTriangle;
|
||||
FontAwesomeIcon icon2 = FontAwesomeIcon.InfoCircle;
|
||||
|
|
@ -176,9 +170,5 @@ internal sealed class QuickAccessButtonsComponent
|
|||
_questValidationWindow.IsOpenAndUncollapsed = true;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -87,32 +87,23 @@ internal sealed class SavedPresetsComponent
|
|||
|
||||
public void Draw()
|
||||
{
|
||||
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_003e: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_003f: Unknown result type (might be due to invalid IL or missing references)
|
||||
ImGui.TextWrapped("Save your current priority queue as a preset for quick access later. Saved presets are stored in your configuration and persist between sessions.");
|
||||
ImGui.Spacing();
|
||||
DrawSaveSection();
|
||||
ImGui.Spacing();
|
||||
ChildDisposable val = ImRaii.Child((ImU8String)"SavedPresetsList", new Vector2(-1f, -27f), true);
|
||||
try
|
||||
using (ImRaii.ChildDisposable childDisposable = ImRaii.Child("SavedPresetsList", new Vector2(-1f, -27f), border: true))
|
||||
{
|
||||
if (ChildDisposable.op_Implicit(val))
|
||||
if ((bool)childDisposable)
|
||||
{
|
||||
DrawSavedPresets();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val)).Dispose();
|
||||
}
|
||||
DrawBottomButtons();
|
||||
}
|
||||
|
||||
private void DrawSaveSection()
|
||||
{
|
||||
int count = _questController.ManualPriorityQuests.Count;
|
||||
DisabledDisposable val;
|
||||
if (_showSaveDialog)
|
||||
{
|
||||
ImGui.Text("Save Current Priority Queue as Preset:");
|
||||
|
|
@ -122,18 +113,13 @@ internal sealed class SavedPresetsComponent
|
|||
ImGui.SetNextItemWidth(250f);
|
||||
ImGui.InputTextWithHint("##PresetDescription", "Description (optional)...", ref _newPresetDescription, 256);
|
||||
ImGui.SameLine();
|
||||
val = ImRaii.Disabled(string.IsNullOrWhiteSpace(_newPresetName) || count == 0);
|
||||
try
|
||||
using (ImRaii.Disabled(string.IsNullOrWhiteSpace(_newPresetName) || count == 0))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Save, "Save"))
|
||||
{
|
||||
SaveCurrentPreset();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Times, "Cancel"))
|
||||
{
|
||||
|
|
@ -147,18 +133,13 @@ internal sealed class SavedPresetsComponent
|
|||
}
|
||||
return;
|
||||
}
|
||||
val = ImRaii.Disabled(count == 0);
|
||||
try
|
||||
using (ImRaii.Disabled(count == 0))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Plus, $"Save Current Queue ({count} quests)"))
|
||||
{
|
||||
_showSaveDialog = true;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
if (count == 0 && ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
ImGui.SetTooltip("Add quests to the priority queue first to save them as a preset.");
|
||||
|
|
@ -192,8 +173,7 @@ internal sealed class SavedPresetsComponent
|
|||
|
||||
private void DrawPresetEntry(string key, Configuration.SavedQuestPreset preset)
|
||||
{
|
||||
IdDisposable val = ImRaii.PushId((ImU8String)key, true);
|
||||
try
|
||||
using (ImRaii.PushId(key))
|
||||
{
|
||||
List<ElementId> availableQuests = GetAvailableQuests(preset.QuestIds);
|
||||
List<ElementId> completedQuests = GetCompletedQuests(preset.QuestIds);
|
||||
|
|
@ -224,10 +204,8 @@ internal sealed class SavedPresetsComponent
|
|||
if (ImGui.CollapsingHeader(label, flag ? ImGuiTreeNodeFlags.DefaultOpen : ImGuiTreeNodeFlags.None))
|
||||
{
|
||||
_expandedPreset = key;
|
||||
IndentDisposable val2 = ImRaii.PushIndent(1, true);
|
||||
try
|
||||
using (ImRaii.PushIndent())
|
||||
{
|
||||
DisabledDisposable val3;
|
||||
if (_renamingPresetKey == key)
|
||||
{
|
||||
ImGui.Text("Name:");
|
||||
|
|
@ -238,18 +216,13 @@ internal sealed class SavedPresetsComponent
|
|||
ImGui.SameLine();
|
||||
ImGui.SetNextItemWidth(300f);
|
||||
ImGui.InputTextWithHint("##EditDescription", "Description (optional)...", ref _renamePresetDescription, 256);
|
||||
val3 = ImRaii.Disabled(string.IsNullOrWhiteSpace(_renamePresetName));
|
||||
try
|
||||
using (ImRaii.Disabled(string.IsNullOrWhiteSpace(_renamePresetName)))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Check, "Save Changes"))
|
||||
{
|
||||
RenamePreset(key, _renamePresetName, _renamePresetDescription);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Times, "Cancel"))
|
||||
{
|
||||
|
|
@ -273,18 +246,13 @@ internal sealed class SavedPresetsComponent
|
|||
ImGui.TextColored(in col, text2);
|
||||
}
|
||||
ImGui.Spacing();
|
||||
val3 = ImRaii.Disabled(availableQuests.Count == 0);
|
||||
try
|
||||
using (ImRaii.Disabled(availableQuests.Count == 0))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Plus, $"Add Available ({availableQuests.Count})"))
|
||||
{
|
||||
AddPresetToPriority(availableQuests);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
if (availableQuests.Count == 0)
|
||||
|
|
@ -301,18 +269,13 @@ internal sealed class SavedPresetsComponent
|
|||
}
|
||||
}
|
||||
ImGui.SameLine();
|
||||
val3 = ImRaii.Disabled(alreadyPriorityQuests.Count == 0);
|
||||
try
|
||||
using (ImRaii.Disabled(alreadyPriorityQuests.Count == 0))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Minus, $"Remove from Priority ({alreadyPriorityQuests.Count})"))
|
||||
{
|
||||
RemovePresetFromPriority(alreadyPriorityQuests);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
if (alreadyPriorityQuests.Count == 0)
|
||||
|
|
@ -337,8 +300,7 @@ internal sealed class SavedPresetsComponent
|
|||
ImGui.SetTooltip("Export this preset to clipboard for sharing.");
|
||||
}
|
||||
ImGui.SameLine();
|
||||
val3 = ImRaii.Disabled(_renamingPresetKey != null);
|
||||
try
|
||||
using (ImRaii.Disabled(_renamingPresetKey != null))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Pen, "Edit"))
|
||||
{
|
||||
|
|
@ -347,28 +309,19 @@ internal sealed class SavedPresetsComponent
|
|||
_renamePresetDescription = preset.Description;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
ImGui.SetTooltip("Edit preset name and description.");
|
||||
}
|
||||
ImGui.SameLine();
|
||||
int count = _questController.ManualPriorityQuests.Count;
|
||||
val3 = ImRaii.Disabled(count == 0);
|
||||
try
|
||||
using (ImRaii.Disabled(count == 0))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Sync, "Update"))
|
||||
{
|
||||
UpdatePresetQuests(key, preset);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
if (count == 0)
|
||||
|
|
@ -385,18 +338,13 @@ internal sealed class SavedPresetsComponent
|
|||
}
|
||||
}
|
||||
ImGui.SameLine();
|
||||
val3 = ImRaii.Disabled(!ImGui.IsKeyDown(ImGuiKey.ModCtrl));
|
||||
try
|
||||
using (ImRaii.Disabled(!ImGui.IsKeyDown(ImGuiKey.ModCtrl)))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Trash, "Delete"))
|
||||
{
|
||||
_presetToDelete = key;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
ImGui.SetTooltip("Hold CTRL to delete this preset.");
|
||||
|
|
@ -430,10 +378,6 @@ internal sealed class SavedPresetsComponent
|
|||
}
|
||||
ImGui.Spacing();
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
else if (_expandedPreset == key)
|
||||
{
|
||||
|
|
@ -446,69 +390,49 @@ internal sealed class SavedPresetsComponent
|
|||
ImGui.EndTooltip();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawBottomButtons()
|
||||
{
|
||||
PresetExportData presetExportData = ParseClipboardPreset();
|
||||
List<PresetExportData> list = ParseClipboardAllPresets();
|
||||
DisabledDisposable val = ImRaii.Disabled(presetExportData == null);
|
||||
try
|
||||
using (ImRaii.Disabled(presetExportData == null))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Download, "Import Preset") && presetExportData != null)
|
||||
{
|
||||
ImportPresetFromClipboard(presetExportData);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
if (presetExportData == null && ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
ImGui.SetTooltip("Copy a valid preset string to clipboard first.");
|
||||
}
|
||||
ImGui.SameLine();
|
||||
val = ImRaii.Disabled(list == null || list.Count == 0);
|
||||
try
|
||||
using (ImRaii.Disabled(list == null || list.Count == 0))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.FileImport, "Import All" + ((list != null && list.Count > 0) ? $" ({list.Count})" : "")) && list != null)
|
||||
{
|
||||
ImportAllPresetsFromClipboard(list);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
if ((list == null || list.Count == 0) && ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
ImGui.SetTooltip("Copy a valid 'all presets' export string to clipboard first.");
|
||||
}
|
||||
ImGui.SameLine();
|
||||
val = ImRaii.Disabled(_configuration.General.SavedPresets.Count == 0);
|
||||
try
|
||||
using (ImRaii.Disabled(_configuration.General.SavedPresets.Count == 0))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.FileExport, $"Export All ({_configuration.General.SavedPresets.Count})"))
|
||||
{
|
||||
ExportAllPresetsToClipboard();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
if (_configuration.General.SavedPresets.Count == 0 && ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
ImGui.SetTooltip("No saved presets to export.");
|
||||
}
|
||||
ImGui.SameLine();
|
||||
val = ImRaii.Disabled(_configuration.General.SavedPresets.Count == 0 || !ImGui.IsKeyDown(ImGuiKey.ModCtrl));
|
||||
try
|
||||
using (ImRaii.Disabled(_configuration.General.SavedPresets.Count == 0 || !ImGui.IsKeyDown(ImGuiKey.ModCtrl)))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Trash, "Clear All"))
|
||||
{
|
||||
|
|
@ -517,10 +441,6 @@ internal sealed class SavedPresetsComponent
|
|||
_logger.LogInformation("Cleared all saved presets");
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
if (_configuration.General.SavedPresets.Count == 0)
|
||||
|
|
|
|||
|
|
@ -111,23 +111,17 @@ internal sealed class ValidationDetailsRenderer
|
|||
|
||||
private void DrawIssueDetails(ValidationIssue issue)
|
||||
{
|
||||
Vector4 vector = ((issue.Severity == EIssueSeverity.Error) ? ImGuiColors.DalamudRed : ImGuiColors.DalamudOrange);
|
||||
Vector4 color = ((issue.Severity == EIssueSeverity.Error) ? ImGuiColors.DalamudRed : ImGuiColors.DalamudOrange);
|
||||
FontAwesomeIcon icon = ((issue.Severity == EIssueSeverity.Error) ? FontAwesomeIcon.ExclamationTriangle : FontAwesomeIcon.InfoCircle);
|
||||
using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push())
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, vector, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, color))
|
||||
{
|
||||
ImGui.TextUnformatted(icon.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
ImGui.SameLine();
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.Text, vector, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, color))
|
||||
{
|
||||
ImU8String text = new ImU8String(2, 2);
|
||||
text.AppendFormatted(issue.Severity);
|
||||
|
|
@ -135,10 +129,6 @@ internal sealed class ValidationDetailsRenderer
|
|||
text.AppendFormatted(issue.Type);
|
||||
ImGui.Text(text);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
ImGui.Separator();
|
||||
if (issue.ElementId != null)
|
||||
{
|
||||
|
|
@ -204,39 +194,24 @@ internal sealed class ValidationDetailsRenderer
|
|||
}
|
||||
else if (text.StartsWith("JSON parsing error", StringComparison.Ordinal))
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed))
|
||||
{
|
||||
ImGui.TextWrapped(text);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
else if (text.StartsWith("This usually indicates", StringComparison.Ordinal) || text.StartsWith("Please check", StringComparison.Ordinal))
|
||||
{
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.HealerGreen, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.HealerGreen))
|
||||
{
|
||||
ImGui.TextWrapped(text);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
else if (text.StartsWith("\ufffd ", StringComparison.Ordinal))
|
||||
{
|
||||
ColorDisposable val3 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudYellow, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudYellow))
|
||||
{
|
||||
ImGui.TextWrapped(text);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -278,9 +253,8 @@ internal sealed class ValidationDetailsRenderer
|
|||
for (int num = 0; num < list.Count; num++)
|
||||
{
|
||||
string value = list[num];
|
||||
Vector4 vector = array2[num % array2.Length];
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, vector, true);
|
||||
try
|
||||
Vector4 color = array2[num % array2.Length];
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, color))
|
||||
{
|
||||
if (ElementId.TryFromString(value, out ElementId elementId) && elementId != null)
|
||||
{
|
||||
|
|
@ -311,10 +285,6 @@ internal sealed class ValidationDetailsRenderer
|
|||
ImGui.TextWrapped(text3);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
ImGui.Unindent();
|
||||
}
|
||||
|
|
@ -348,8 +318,7 @@ internal sealed class ValidationDetailsRenderer
|
|||
|
||||
private void DrawJsonValidationError(JsonValidationError error, int index)
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudYellow, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudYellow))
|
||||
{
|
||||
ImU8String text = new ImU8String(8, 1);
|
||||
text.AppendLiteral("Error #");
|
||||
|
|
@ -357,25 +326,16 @@ internal sealed class ValidationDetailsRenderer
|
|||
text.AppendLiteral(":");
|
||||
ImGui.Text(text);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.Indent(12f);
|
||||
if (!string.IsNullOrEmpty(error.Path))
|
||||
{
|
||||
ImGui.AlignTextToFramePadding();
|
||||
ImGui.Text("Location:");
|
||||
ImGui.SameLine();
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedBlue, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedBlue))
|
||||
{
|
||||
ImGui.TextWrapped(FormatJsonPath(error.Path));
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
if (error.Messages.Count > 0)
|
||||
{
|
||||
|
|
@ -384,8 +344,7 @@ internal sealed class ValidationDetailsRenderer
|
|||
foreach (string message in error.Messages)
|
||||
{
|
||||
ImGui.Indent(12f);
|
||||
ColorDisposable val3 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed))
|
||||
{
|
||||
string text2 = CleanJsonText(message);
|
||||
if (string.Equals(text2, "validation failed", StringComparison.OrdinalIgnoreCase))
|
||||
|
|
@ -398,18 +357,13 @@ internal sealed class ValidationDetailsRenderer
|
|||
ImGui.TextWrapped(text3);
|
||||
ImGui.Unindent(12f);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
List<string> validationSuggestions = GetValidationSuggestions(error);
|
||||
if (validationSuggestions.Count > 0)
|
||||
{
|
||||
ImGui.Spacing();
|
||||
ColorDisposable val4 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.HealerGreen, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.HealerGreen))
|
||||
{
|
||||
ImGui.Text("Suggestions:");
|
||||
foreach (string item in validationSuggestions)
|
||||
|
|
@ -417,34 +371,20 @@ internal sealed class ValidationDetailsRenderer
|
|||
ImGui.Indent(12f);
|
||||
using (_pluginInterface.UiBuilder.IconFontFixedWidthHandle.Push())
|
||||
{
|
||||
ColorDisposable val5 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudYellow, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudYellow))
|
||||
{
|
||||
ImGui.Text(FontAwesomeIcon.Lightbulb.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val5)?.Dispose();
|
||||
}
|
||||
}
|
||||
ImGui.SameLine();
|
||||
ColorDisposable val6 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.HealerGreen, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.HealerGreen))
|
||||
{
|
||||
ImGui.TextWrapped(item);
|
||||
ImGui.Unindent(12f);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val6)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val4)?.Dispose();
|
||||
}
|
||||
}
|
||||
ImGui.Unindent(12f);
|
||||
}
|
||||
|
||||
|
|
@ -455,15 +395,10 @@ internal sealed class ValidationDetailsRenderer
|
|||
{
|
||||
if (text.StartsWith("JSON Validation failed:", StringComparison.Ordinal))
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed))
|
||||
{
|
||||
ImGui.TextWrapped(text);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
else if (text.StartsWith(" - ", StringComparison.Ordinal))
|
||||
{
|
||||
|
|
@ -478,39 +413,24 @@ internal sealed class ValidationDetailsRenderer
|
|||
}
|
||||
ImGui.Text("\ufffd");
|
||||
ImGui.SameLine();
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedBlue, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedBlue))
|
||||
{
|
||||
ImGui.Text(FormatJsonPath(path));
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
ImGui.Text(":");
|
||||
ImGui.SameLine();
|
||||
ColorDisposable val3 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed))
|
||||
{
|
||||
ImGui.TextWrapped(text2);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
ColorDisposable val4 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed))
|
||||
{
|
||||
ImGui.TextWrapped(CleanJsonText(text));
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val4)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
@ -621,30 +541,20 @@ internal sealed class ValidationDetailsRenderer
|
|||
}
|
||||
else if (text.StartsWith("Error:", StringComparison.Ordinal) || text.StartsWith("Invalid", StringComparison.Ordinal) || text.StartsWith("Missing", StringComparison.Ordinal))
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed))
|
||||
{
|
||||
ImGui.TextWrapped(text);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
else if (text.Contains(':', StringComparison.Ordinal))
|
||||
{
|
||||
int num = text.IndexOf(':', StringComparison.Ordinal);
|
||||
string text2 = text.Substring(0, num);
|
||||
string text3 = text.Substring(num + 1).TrimStart();
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedBlue, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedBlue))
|
||||
{
|
||||
ImGui.Text(text2 + ":");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
ImGui.TextWrapped(text3);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,9 +24,6 @@ internal sealed class QuestSelector(QuestRegistry questRegistry)
|
|||
|
||||
public void DrawSelection()
|
||||
{
|
||||
//IL_0144: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0149: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_014b: Unknown result type (might be due to invalid IL or missing references)
|
||||
if (QuestSelected == null)
|
||||
{
|
||||
throw new InvalidOperationException("QuestSelected action must be set before drawing the quest selector.");
|
||||
|
|
@ -55,10 +52,9 @@ internal sealed class QuestSelector(QuestRegistry questRegistry)
|
|||
{
|
||||
enumerable = questRegistry.AllQuests.Where((Quest x) => DefaultPredicate?.Invoke(x) ?? true);
|
||||
}
|
||||
ChildDisposable val = ImRaii.Child((ImU8String)"##QuestScrollArea", new Vector2(0f, 300f), false);
|
||||
try
|
||||
using (ImRaii.ChildDisposable childDisposable = ImRaii.Child("##QuestScrollArea", new Vector2(0f, 300f), border: false))
|
||||
{
|
||||
if (ChildDisposable.op_Implicit(val))
|
||||
if ((bool)childDisposable)
|
||||
{
|
||||
foreach (Quest item in enumerable)
|
||||
{
|
||||
|
|
@ -75,10 +71,6 @@ internal sealed class QuestSelector(QuestRegistry questRegistry)
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val)).Dispose();
|
||||
}
|
||||
ImGui.EndCombo();
|
||||
}
|
||||
else
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
|
|
@ -29,33 +28,44 @@ internal sealed class ChangelogWindow : LWindow
|
|||
|
||||
private float _headerAnimationTime;
|
||||
|
||||
private bool _closeRequested;
|
||||
|
||||
public ChangelogWindow(Configuration configuration, IDalamudPluginInterface pluginInterface)
|
||||
: base("Questionable Changelog###QuestionableChangelog", ImGuiWindowFlags.NoTitleBar)
|
||||
: base("Questionable Changelog###QuestionableChangelog", ImGuiWindowFlags.NoTitleBar | ImGuiWindowFlags.NoScrollbar | ImGuiWindowFlags.NoScrollWithMouse)
|
||||
{
|
||||
//IL_0086: Unknown result type (might be due to invalid IL or missing references)
|
||||
_configuration = configuration;
|
||||
_pluginInterface = pluginInterface;
|
||||
_headerComponent = new ChangelogHeaderComponent();
|
||||
_footerComponent = new ChangelogFooterComponent();
|
||||
base.Size = new Vector2(900f, 650f);
|
||||
base.SizeCondition = ImGuiCond.FirstUseEver;
|
||||
WindowSizeConstraints value = default(WindowSizeConstraints);
|
||||
((WindowSizeConstraints)(ref value))._002Ector();
|
||||
((WindowSizeConstraints)(ref value)).MinimumSize = new Vector2(700f, 500f);
|
||||
((WindowSizeConstraints)(ref value)).MaximumSize = new Vector2(float.MaxValue, float.MaxValue);
|
||||
((Window)this).SizeConstraints = value;
|
||||
base.SizeConstraints = new WindowSizeConstraints
|
||||
{
|
||||
MinimumSize = new Vector2(700f, 500f),
|
||||
MaximumSize = new Vector2(float.MaxValue, float.MaxValue)
|
||||
};
|
||||
}
|
||||
|
||||
public override void PreDraw()
|
||||
{
|
||||
base.PreDraw();
|
||||
if (_closeRequested)
|
||||
{
|
||||
_closeRequested = false;
|
||||
base.IsOpen = false;
|
||||
}
|
||||
}
|
||||
|
||||
public override void DrawContent()
|
||||
{
|
||||
_headerComponent.Draw(delegate(bool isOpen)
|
||||
_headerComponent.Draw(delegate
|
||||
{
|
||||
base.IsOpen = isOpen;
|
||||
_closeRequested = true;
|
||||
});
|
||||
DrawChangelogEntries();
|
||||
ChangelogFooterComponent.Draw(delegate
|
||||
{
|
||||
base.IsOpen = false;
|
||||
_closeRequested = true;
|
||||
});
|
||||
ImDrawListPtr windowDrawList = ImGui.GetWindowDrawList();
|
||||
Vector2 windowPos = ImGui.GetWindowPos();
|
||||
|
|
@ -80,37 +90,23 @@ internal sealed class ChangelogWindow : LWindow
|
|||
|
||||
private void DrawChangelogEntries()
|
||||
{
|
||||
//IL_00de: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00e3: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00e5: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0103: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0108: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_010a: Unknown result type (might be due to invalid IL or missing references)
|
||||
_headerAnimationTime += ImGui.GetIO().DeltaTime;
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.ScrollbarBg, new Vector4(0.1f, 0.08f, 0.14f, 0.6f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.ScrollbarBg, new Vector4(0.1f, 0.08f, 0.14f, 0.6f)))
|
||||
{
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.ScrollbarGrab, new Vector4(0.55f, 0.45f, 0.75f, 0.4f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.ScrollbarGrab, new Vector4(0.55f, 0.45f, 0.75f, 0.4f)))
|
||||
{
|
||||
ColorDisposable val3 = ImRaii.PushColor(ImGuiCol.ScrollbarGrabHovered, new Vector4(0.65f, 0.55f, 0.85f, 0.6f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.ScrollbarGrabHovered, new Vector4(0.65f, 0.55f, 0.85f, 0.6f)))
|
||||
{
|
||||
ColorDisposable val4 = ImRaii.PushColor(ImGuiCol.ScrollbarGrabActive, new Vector4(0.75f, 0.55f, 0.95f, 0.8f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.ScrollbarGrabActive, new Vector4(0.75f, 0.55f, 0.95f, 0.8f)))
|
||||
{
|
||||
float num = ImGui.GetFrameHeightWithSpacing() + ImGui.GetStyle().ItemSpacing.Y * 2f;
|
||||
ChildDisposable val5 = ImRaii.Child((ImU8String)"ChangelogScroll", new Vector2(0f, 0f - num), false, ImGuiWindowFlags.NoScrollbar);
|
||||
try
|
||||
{
|
||||
if (!val5)
|
||||
float num = ImGui.GetFrameHeightWithSpacing() + 16f;
|
||||
using ImRaii.ChildDisposable childDisposable = ImRaii.Child("ChangelogScroll", new Vector2(0f, 0f - num), border: false, ImGuiWindowFlags.NoScrollbar);
|
||||
if (!childDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
ChildDisposable val6 = ImRaii.Child((ImU8String)"ChangelogScrollInner", Vector2.Zero, false);
|
||||
try
|
||||
{
|
||||
if (!val6)
|
||||
using ImRaii.ChildDisposable childDisposable2 = ImRaii.Child("ChangelogScrollInner", Vector2.Zero, border: false);
|
||||
if (!childDisposable2)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -136,34 +132,8 @@ internal sealed class ChangelogWindow : LWindow
|
|||
}
|
||||
_hasSetInitialState = true;
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val6)).Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((ChildDisposable)(ref val5)).Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val4)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -36,12 +36,6 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
|
|||
public ConfigWindow(IDalamudPluginInterface pluginInterface, GeneralConfigComponent generalConfigComponent, PluginConfigComponent pluginConfigComponent, DutyConfigComponent dutyConfigComponent, SinglePlayerDutyConfigComponent singlePlayerDutyConfigComponent, StopConditionComponent stopConditionComponent, BlacklistConfigComponent blacklistConfigComponent, NotificationConfigComponent notificationConfigComponent, DebugConfigComponent debugConfigComponent, Configuration configuration, ChangelogWindow changelogWindow)
|
||||
: base("Config - Questionable###QuestionableConfig", ImGuiWindowFlags.AlwaysAutoResize)
|
||||
{
|
||||
//IL_006f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0074: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_007f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0094: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00a6: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00d0: Expected O, but got Unknown
|
||||
_pluginInterface = pluginInterface;
|
||||
_generalConfigComponent = generalConfigComponent;
|
||||
_pluginConfigComponent = pluginConfigComponent;
|
||||
|
|
@ -52,7 +46,7 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
|
|||
_notificationConfigComponent = notificationConfigComponent;
|
||||
_debugConfigComponent = debugConfigComponent;
|
||||
_configuration = configuration;
|
||||
((Window)this).TitleBarButtons.Add(new TitleBarButton
|
||||
base.TitleBarButtons.Add(new TitleBarButton
|
||||
{
|
||||
Icon = FontAwesomeIcon.FileAlt,
|
||||
IconOffset = new Vector2(1.5f, 1f),
|
||||
|
|
@ -71,13 +65,8 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
|
|||
|
||||
public override void DrawContent()
|
||||
{
|
||||
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
TabBarDisposable val = ImRaii.TabBar((ImU8String)"QuestionableConfigTabs");
|
||||
try
|
||||
{
|
||||
if (!(!val))
|
||||
using ImRaii.TabBarDisposable tabBarDisposable = ImRaii.TabBar("QuestionableConfigTabs");
|
||||
if (!(!tabBarDisposable))
|
||||
{
|
||||
_generalConfigComponent.DrawTab();
|
||||
_pluginConfigComponent.DrawTab();
|
||||
|
|
@ -89,11 +78,6 @@ internal sealed class ConfigWindow : LWindow, IPersistableWindowConfig
|
|||
_debugConfigComponent.DrawTab();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabBarDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public void SaveWindowConfig()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -41,7 +41,6 @@ internal sealed class FateSelectionWindow : LWindow
|
|||
public FateSelectionWindow(FateController fateController, FateDefinitionRegistry fateDefinitionRegistry, QuestController questController, MovementController movementController, QuestFunctions questFunctions, QuestData questData, TerritoryData territoryData)
|
||||
: base("FATE Farming###QuestionableFateFarming")
|
||||
{
|
||||
//IL_0097: Unknown result type (might be due to invalid IL or missing references)
|
||||
_fateController = fateController;
|
||||
_fateDefinitionRegistry = fateDefinitionRegistry;
|
||||
_questController = questController;
|
||||
|
|
@ -51,11 +50,11 @@ internal sealed class FateSelectionWindow : LWindow
|
|||
_territoryData = territoryData;
|
||||
base.Size = new Vector2(600f, 400f);
|
||||
base.SizeCondition = ImGuiCond.FirstUseEver;
|
||||
WindowSizeConstraints value = default(WindowSizeConstraints);
|
||||
((WindowSizeConstraints)(ref value))._002Ector();
|
||||
((WindowSizeConstraints)(ref value)).MinimumSize = new Vector2(500f, 300f);
|
||||
((WindowSizeConstraints)(ref value)).MaximumSize = new Vector2(900f, 700f);
|
||||
((Window)this).SizeConstraints = value;
|
||||
base.SizeConstraints = new WindowSizeConstraints
|
||||
{
|
||||
MinimumSize = new Vector2(500f, 300f),
|
||||
MaximumSize = new Vector2(900f, 700f)
|
||||
};
|
||||
}
|
||||
|
||||
public override void DrawContent()
|
||||
|
|
@ -91,26 +90,18 @@ internal sealed class FateSelectionWindow : LWindow
|
|||
float num2 = (float)ImGui.GetTime();
|
||||
float num3 = 0.85f + MathF.Sin(num2 * 3f) * 0.15f;
|
||||
Vector4 col = new Vector4(1f * num3, 0.85f * num3, 0f, 1f);
|
||||
FontDisposable val = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.TextColored(in col, FontAwesomeIcon.Star.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
ImGui.TextColored(ImGuiColors.ParsedGold, _fateController.CurrentFate.Name);
|
||||
ImGui.SameLine(x - 35f);
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.Button, Vector4.Zero, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Button, Vector4.Zero))
|
||||
{
|
||||
ColorDisposable val3 = ImRaii.PushColor(ImGuiCol.ButtonHovered, new Vector4(0.8f, 0.3f, 0.3f, 0.4f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.ButtonHovered, new Vector4(0.8f, 0.3f, 0.3f, 0.4f)))
|
||||
{
|
||||
ColorDisposable val4 = ImRaii.PushColor(ImGuiCol.ButtonActive, new Vector4(0.9f, 0.2f, 0.2f, 0.6f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.ButtonActive, new Vector4(0.9f, 0.2f, 0.2f, 0.6f)))
|
||||
{
|
||||
if (ImGuiComponents.IconButton(FontAwesomeIcon.Stop))
|
||||
{
|
||||
|
|
@ -118,20 +109,8 @@ internal sealed class FateSelectionWindow : LWindow
|
|||
_movementController.Stop();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val4)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
ImGui.SetCursorPosX(ImGui.GetCursorPosX() + 8f);
|
||||
string value = (_fateController.CycleLimit.HasValue ? $"Cycle {_fateController.CompletedCycles + 1} / {_fateController.CycleLimit}" : $"Cycle {_fateController.CompletedCycles + 1}");
|
||||
string value2 = FormatElapsed(_fateController.ElapsedTime);
|
||||
|
|
@ -158,8 +137,7 @@ internal sealed class FateSelectionWindow : LWindow
|
|||
ImGui.TextColored(in col2, text3);
|
||||
}
|
||||
ImGui.SetCursorPosX(ImGui.GetCursorPosX() + 8f);
|
||||
DisabledDisposable val5 = ImRaii.Disabled(true);
|
||||
try
|
||||
using (ImRaii.Disabled(disabled: true))
|
||||
{
|
||||
ImGui.AlignTextToFramePadding();
|
||||
ImGui.TextUnformatted("Cycles:");
|
||||
|
|
@ -167,18 +145,13 @@ internal sealed class FateSelectionWindow : LWindow
|
|||
ImGui.SetNextItemWidth(100f);
|
||||
ImGui.InputInt("##CycleLimitRunning", ref _cycleLimit, 1, 5);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val5)?.Dispose();
|
||||
}
|
||||
ImGui.SetCursorPosY(cursorScreenPos.Y + num - ImGui.GetCursorScreenPos().Y + ImGui.GetCursorPosY() + 4f);
|
||||
ImGui.Spacing();
|
||||
}
|
||||
|
||||
private void DrawControlsStrip()
|
||||
{
|
||||
DisabledDisposable val = ImRaii.Disabled(_fateController.IsRunning);
|
||||
try
|
||||
using (ImRaii.Disabled(_fateController.IsRunning))
|
||||
{
|
||||
ImGui.AlignTextToFramePadding();
|
||||
ImGui.TextUnformatted("Cycles:");
|
||||
|
|
@ -192,10 +165,6 @@ internal sealed class FateSelectionWindow : LWindow
|
|||
ImGui.SameLine();
|
||||
ImGui.TextColored(ImGuiColors.DalamudGrey, (_cycleLimit == 0) ? "(unlimited)" : "");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.Spacing();
|
||||
}
|
||||
|
||||
|
|
@ -237,9 +206,6 @@ internal sealed class FateSelectionWindow : LWindow
|
|||
|
||||
private void DrawFateTable()
|
||||
{
|
||||
//IL_0097: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_009c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_009d: Unknown result type (might be due to invalid IL or missing references)
|
||||
List<FateDefinition> list = _fateDefinitionRegistry.Definitions.Values.OrderBy(delegate(FateDefinition f)
|
||||
{
|
||||
DateTime? eventExpiry = f.EventExpiry;
|
||||
|
|
@ -267,10 +233,8 @@ internal sealed class FateSelectionWindow : LWindow
|
|||
return double.MaxValue;
|
||||
}).ThenBy<FateDefinition, string>((FateDefinition f) => f.Name, StringComparer.OrdinalIgnoreCase)
|
||||
.ToList();
|
||||
TableDisposable val = ImRaii.Table((ImU8String)"FateTable", 4, ImGuiTableFlags.SizingStretchProp | ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersInnerH | ImGuiTableFlags.ScrollY);
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
using ImRaii.TableDisposable tableDisposable = ImRaii.Table("FateTable", 4, ImGuiTableFlags.SizingStretchProp | ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersInnerH | ImGuiTableFlags.ScrollY);
|
||||
if (!tableDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -300,16 +264,9 @@ internal sealed class FateSelectionWindow : LWindow
|
|||
DrawFateRowActions(item, disabled);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TableDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawFateRowName(FateDefinition fate, bool isActive)
|
||||
{
|
||||
//IL_006f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0074: Unknown result type (might be due to invalid IL or missing references)
|
||||
if (isActive)
|
||||
{
|
||||
float num = (float)ImGui.GetTime();
|
||||
|
|
@ -324,8 +281,7 @@ internal sealed class FateSelectionWindow : LWindow
|
|||
{
|
||||
return;
|
||||
}
|
||||
TooltipDisposable val = ImRaii.Tooltip();
|
||||
try
|
||||
using (ImRaii.Tooltip())
|
||||
{
|
||||
ImGui.TextColored(ImGuiColors.DalamudWhite, fate.Name);
|
||||
ImGui.Separator();
|
||||
|
|
@ -360,10 +316,6 @@ internal sealed class FateSelectionWindow : LWindow
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private static void DrawFateRowExpiry(FateDefinition fate)
|
||||
|
|
@ -392,23 +344,17 @@ internal sealed class FateSelectionWindow : LWindow
|
|||
private void DrawFateRowActions(FateDefinition fate, bool disabled)
|
||||
{
|
||||
bool flag = fate.RequiredQuestId.HasValue && !_questFunctions.IsQuestComplete(new QuestId(fate.RequiredQuestId.Value));
|
||||
ImU8String imU8String = new ImU8String(5, 1);
|
||||
imU8String.AppendLiteral("fate_");
|
||||
imU8String.AppendFormatted(fate.Name);
|
||||
IdDisposable val = ImRaii.PushId(imU8String, true);
|
||||
try
|
||||
ImU8String id = new ImU8String(5, 1);
|
||||
id.AppendLiteral("fate_");
|
||||
id.AppendFormatted(fate.Name);
|
||||
using (ImRaii.PushId(id))
|
||||
{
|
||||
if (flag)
|
||||
{
|
||||
FontDisposable val2 = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.TextColored(ImGuiColors.DalamudRed, FontAwesomeIcon.Times.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered())
|
||||
{
|
||||
IQuestInfo questInfo;
|
||||
|
|
@ -421,8 +367,7 @@ internal sealed class FateSelectionWindow : LWindow
|
|||
}
|
||||
return;
|
||||
}
|
||||
DisabledDisposable val3 = ImRaii.Disabled(disabled);
|
||||
try
|
||||
using (ImRaii.Disabled(disabled))
|
||||
{
|
||||
if (ImGuiComponents.IconButton(FontAwesomeIcon.Play))
|
||||
{
|
||||
|
|
@ -432,10 +377,6 @@ internal sealed class FateSelectionWindow : LWindow
|
|||
_fateController.Start(fate, cycleLimit);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (disabled && ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
if (_fateController.IsRunning)
|
||||
|
|
@ -448,10 +389,6 @@ internal sealed class FateSelectionWindow : LWindow
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private static string FormatElapsed(TimeSpan elapsed)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
using System;
|
||||
using System.Numerics;
|
||||
using Dalamud.Bindings.ImGui;
|
||||
using Dalamud.Interface.Utility.Raii;
|
||||
using Dalamud.Interface.Windowing;
|
||||
using Dalamud.Plugin.Services;
|
||||
|
|
@ -29,7 +28,6 @@ internal sealed class JournalProgressWindow : LWindow, IDisposable
|
|||
public JournalProgressWindow(QuestJournalComponent questJournalComponent, QuestRewardComponent questRewardComponent, AlliedSocietyJournalComponent alliedSocietyJournalComponent, GatheringJournalComponent gatheringJournalComponent, DutyJournalComponent dutyJournalComponent, QuestRegistry questRegistry, IClientState clientState)
|
||||
: base("Journal Progress###QuestionableJournalProgress")
|
||||
{
|
||||
//IL_011f: Unknown result type (might be due to invalid IL or missing references)
|
||||
_questJournalComponent = questJournalComponent;
|
||||
_alliedSocietyJournalComponent = alliedSocietyJournalComponent;
|
||||
_questRewardComponent = questRewardComponent;
|
||||
|
|
@ -44,10 +42,10 @@ internal sealed class JournalProgressWindow : LWindow, IDisposable
|
|||
_clientState.Logout += _questJournalComponent.ClearCounts;
|
||||
_clientState.Logout += _gatheringJournalComponent.ClearCounts;
|
||||
_questRegistry.Reloaded += OnQuestsReloaded;
|
||||
WindowSizeConstraints value = default(WindowSizeConstraints);
|
||||
((WindowSizeConstraints)(ref value))._002Ector();
|
||||
((WindowSizeConstraints)(ref value)).MinimumSize = new Vector2(700f, 500f);
|
||||
((Window)this).SizeConstraints = value;
|
||||
base.SizeConstraints = new WindowSizeConstraints
|
||||
{
|
||||
MinimumSize = new Vector2(700f, 500f)
|
||||
};
|
||||
}
|
||||
|
||||
private void OnQuestsReloaded(object? sender, EventArgs e)
|
||||
|
|
@ -69,13 +67,8 @@ internal sealed class JournalProgressWindow : LWindow, IDisposable
|
|||
|
||||
public override void DrawContent()
|
||||
{
|
||||
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
TabBarDisposable val = ImRaii.TabBar((ImU8String)"Journal");
|
||||
try
|
||||
{
|
||||
if (!(!val))
|
||||
using ImRaii.TabBarDisposable tabBarDisposable = ImRaii.TabBar("Journal");
|
||||
if (!(!tabBarDisposable))
|
||||
{
|
||||
_questJournalComponent.DrawQuests();
|
||||
_dutyJournalComponent.DrawDuties();
|
||||
|
|
@ -84,11 +77,6 @@ internal sealed class JournalProgressWindow : LWindow, IDisposable
|
|||
_gatheringJournalComponent.DrawGatheringItems();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabBarDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public void Dispose()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
using System;
|
||||
using Dalamud.Bindings.ImGui;
|
||||
using Dalamud.Interface;
|
||||
using Dalamud.Interface.Colors;
|
||||
|
|
@ -44,8 +43,7 @@ internal sealed class OneTimeSetupWindow : LWindow
|
|||
ImGui.Spacing();
|
||||
if (allRequiredInstalled)
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.ParsedGreen))
|
||||
{
|
||||
if (ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Check, "Finish Setup"))
|
||||
{
|
||||
|
|
@ -55,29 +53,15 @@ internal sealed class OneTimeSetupWindow : LWindow
|
|||
base.IsOpen = false;
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
DisabledDisposable val2 = ImRaii.Disabled();
|
||||
try
|
||||
using (ImRaii.Disabled())
|
||||
{
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Text, ImGuiColors.DalamudRed))
|
||||
{
|
||||
ImGuiComponents.IconButtonWithText(FontAwesomeIcon.Check, "Missing required plugins");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
ImGui.SameLine();
|
||||
|
|
|
|||
|
|
@ -33,82 +33,45 @@ internal sealed class PriorityWindow : LWindow
|
|||
public PriorityWindow(QuestController questController, QuestFunctions questFunctions, QuestSelector questSelector, QuestTooltipComponent questTooltipComponent, PresetBuilderComponent presetBuilderComponent, SavedPresetsComponent savedPresetsComponent, UiUtils uiUtils, IChatGui chatGui, IDalamudPluginInterface pluginInterface)
|
||||
: base("Quest Priority###QuestionableQuestPriority")
|
||||
{
|
||||
//IL_0088: Unknown result type (might be due to invalid IL or missing references)
|
||||
_manualPriorityComponent = new ManualPriorityComponent(questController, questFunctions, questSelector, questTooltipComponent, uiUtils, chatGui, pluginInterface);
|
||||
_presetBuilderComponent = presetBuilderComponent;
|
||||
_savedPresetsComponent = savedPresetsComponent;
|
||||
base.Size = new Vector2(500f, 500f);
|
||||
base.SizeCondition = ImGuiCond.Once;
|
||||
WindowSizeConstraints value = default(WindowSizeConstraints);
|
||||
((WindowSizeConstraints)(ref value))._002Ector();
|
||||
((WindowSizeConstraints)(ref value)).MinimumSize = new Vector2(615f, 500f);
|
||||
((WindowSizeConstraints)(ref value)).MaximumSize = new Vector2(800f, 1000f);
|
||||
((Window)this).SizeConstraints = value;
|
||||
base.SizeConstraints = new WindowSizeConstraints
|
||||
{
|
||||
MinimumSize = new Vector2(615f, 500f),
|
||||
MaximumSize = new Vector2(800f, 1000f)
|
||||
};
|
||||
}
|
||||
|
||||
public override void DrawContent()
|
||||
{
|
||||
//IL_000a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_000f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0010: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0027: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_002c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_002d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0054: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0059: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_005a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0081: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0086: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0087: Unknown result type (might be due to invalid IL or missing references)
|
||||
TabBarDisposable val = ImRaii.TabBar((ImU8String)"PriorityTabs");
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
using ImRaii.TabBarDisposable tabBarDisposable = ImRaii.TabBar("PriorityTabs");
|
||||
if (!tabBarDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
TabItemDisposable val2 = ImRaii.TabItem((ImU8String)"Manual Priority");
|
||||
try
|
||||
using (ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem("Manual Priority"))
|
||||
{
|
||||
if (TabItemDisposable.op_Implicit(val2))
|
||||
if ((bool)tabItemDisposable)
|
||||
{
|
||||
_manualPriorityComponent.Draw();
|
||||
}
|
||||
}
|
||||
finally
|
||||
using (ImRaii.TabItemDisposable tabItemDisposable2 = ImRaii.TabItem("Quest Presets"))
|
||||
{
|
||||
((TabItemDisposable)(ref val2)).Dispose();
|
||||
}
|
||||
TabItemDisposable val3 = ImRaii.TabItem((ImU8String)"Quest Presets");
|
||||
try
|
||||
{
|
||||
if (TabItemDisposable.op_Implicit(val3))
|
||||
if ((bool)tabItemDisposable2)
|
||||
{
|
||||
_presetBuilderComponent.Draw();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val3)).Dispose();
|
||||
}
|
||||
TabItemDisposable val4 = ImRaii.TabItem((ImU8String)"Saved Presets");
|
||||
try
|
||||
{
|
||||
if (TabItemDisposable.op_Implicit(val4))
|
||||
using ImRaii.TabItemDisposable tabItemDisposable3 = ImRaii.TabItem("Saved Presets");
|
||||
if ((bool)tabItemDisposable3)
|
||||
{
|
||||
_savedPresetsComponent.Draw();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val4)).Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabBarDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
public static List<ElementId> DecodeQuestPriority(string clipboardText)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
|
|
@ -60,7 +59,6 @@ internal sealed class QuestSelectionWindow : LWindow
|
|||
public QuestSelectionWindow(QuestData questData, IGameGui gameGui, IChatGui chatGui, QuestFunctions questFunctions, QuestController questController, QuestRegistry questRegistry, IDalamudPluginInterface pluginInterface, TerritoryData territoryData, IClientState clientState, UiUtils uiUtils, QuestTooltipComponent questTooltipComponent)
|
||||
: base("Quest Selection###QuestionableQuestSelection")
|
||||
{
|
||||
//IL_00be: Unknown result type (might be due to invalid IL or missing references)
|
||||
_questData = questData;
|
||||
_gameGui = gameGui;
|
||||
_chatGui = chatGui;
|
||||
|
|
@ -74,10 +72,10 @@ internal sealed class QuestSelectionWindow : LWindow
|
|||
_questTooltipComponent = questTooltipComponent;
|
||||
base.Size = new Vector2(500f, 200f);
|
||||
base.SizeCondition = ImGuiCond.Once;
|
||||
WindowSizeConstraints value = default(WindowSizeConstraints);
|
||||
((WindowSizeConstraints)(ref value))._002Ector();
|
||||
((WindowSizeConstraints)(ref value)).MinimumSize = new Vector2(500f, 200f);
|
||||
((Window)this).SizeConstraints = value;
|
||||
base.SizeConstraints = new WindowSizeConstraints
|
||||
{
|
||||
MinimumSize = new Vector2(500f, 200f)
|
||||
};
|
||||
}
|
||||
|
||||
public unsafe void OpenForTarget(IGameObject? gameObject)
|
||||
|
|
@ -135,17 +133,12 @@ internal sealed class QuestSelectionWindow : LWindow
|
|||
|
||||
public override void DrawContent()
|
||||
{
|
||||
//IL_0033: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0038: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0039: Unknown result type (might be due to invalid IL or missing references)
|
||||
if (_offeredQuests.Count != 0)
|
||||
{
|
||||
ImGui.Checkbox("Only show quests currently offered", ref _onlyAvailableQuests);
|
||||
}
|
||||
TableDisposable val = ImRaii.Table((ImU8String)"QuestSelection", 4, ImGuiTableFlags.Borders | ImGuiTableFlags.ScrollY);
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
using ImRaii.TableDisposable tableDisposable = ImRaii.Table("QuestSelection", 4, ImGuiTableFlags.Borders | ImGuiTableFlags.ScrollY);
|
||||
if (!tableDisposable)
|
||||
{
|
||||
ImGui.Text("Not table");
|
||||
return;
|
||||
|
|
@ -211,8 +204,7 @@ internal sealed class QuestSelectionWindow : LWindow
|
|||
{
|
||||
continue;
|
||||
}
|
||||
IdDisposable val2 = ImRaii.PushId((ImU8String)text, true);
|
||||
try
|
||||
using (ImRaii.PushId(text))
|
||||
{
|
||||
bool num = ImGuiComponents.IconButton(FontAwesomeIcon.Copy);
|
||||
if (ImGui.IsItemHovered())
|
||||
|
|
@ -264,15 +256,6 @@ internal sealed class QuestSelectionWindow : LWindow
|
|||
}
|
||||
ImGui.EndDisabled();
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TableDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
using System;
|
||||
using System.Numerics;
|
||||
using Dalamud.Bindings.ImGui;
|
||||
using Dalamud.Interface.Utility.Raii;
|
||||
|
|
@ -25,17 +24,16 @@ internal sealed class QuestSequenceWindow : LWindow, IPersistableWindowConfig
|
|||
public QuestSequenceWindow(IDalamudPluginInterface pluginInterface, Configuration configuration, QuestSequenceComponent questSequenceComponent)
|
||||
: base("Quest Sequence Viewer###QuestionableQuestSequenceViewer", ImGuiWindowFlags.NoTitleBar)
|
||||
{
|
||||
//IL_0077: Unknown result type (might be due to invalid IL or missing references)
|
||||
_pluginInterface = pluginInterface;
|
||||
_configuration = configuration;
|
||||
_questSequenceComponent = questSequenceComponent;
|
||||
base.Size = new Vector2(950f, 700f);
|
||||
base.SizeCondition = ImGuiCond.FirstUseEver;
|
||||
WindowSizeConstraints value = default(WindowSizeConstraints);
|
||||
((WindowSizeConstraints)(ref value))._002Ector();
|
||||
((WindowSizeConstraints)(ref value)).MinimumSize = new Vector2(750f, 550f);
|
||||
((WindowSizeConstraints)(ref value)).MaximumSize = new Vector2(float.MaxValue, float.MaxValue);
|
||||
((Window)this).SizeConstraints = value;
|
||||
base.SizeConstraints = new WindowSizeConstraints
|
||||
{
|
||||
MinimumSize = new Vector2(750f, 550f),
|
||||
MaximumSize = new Vector2(float.MaxValue, float.MaxValue)
|
||||
};
|
||||
}
|
||||
|
||||
public void SaveWindowConfig()
|
||||
|
|
@ -52,84 +50,43 @@ internal sealed class QuestSequenceWindow : LWindow, IPersistableWindowConfig
|
|||
|
||||
public override void DrawContent()
|
||||
{
|
||||
//IL_0090: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0095: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0097: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00b0: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00b5: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00b7: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00f4: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00f9: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00fb: Unknown result type (might be due to invalid IL or missing references)
|
||||
bool isOpen = base.IsOpen;
|
||||
QuestSequenceComponent.DrawCustomHeader(ref isOpen);
|
||||
base.IsOpen = isOpen;
|
||||
ImGui.Spacing();
|
||||
ImGui.Spacing();
|
||||
ColorDisposable val = ImRaii.PushColor(ImGuiCol.Tab, new Vector4(0.15f, 0.13f, 0.2f, 0.7f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Tab, new Vector4(0.15f, 0.13f, 0.2f, 0.7f)))
|
||||
{
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.TabHovered, new Vector4(0.35f, 0.3f, 0.45f, 0.9f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.TabHovered, new Vector4(0.35f, 0.3f, 0.45f, 0.9f)))
|
||||
{
|
||||
ColorDisposable val3 = ImRaii.PushColor(ImGuiCol.TabActive, new Vector4(0.28f, 0.24f, 0.35f, 1f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.TabActive, new Vector4(0.28f, 0.24f, 0.35f, 1f)))
|
||||
{
|
||||
TabBarDisposable val4 = ImRaii.TabBar((ImU8String)"QuestSequenceTabs", ImGuiTabBarFlags.None);
|
||||
try
|
||||
{
|
||||
if (!val4)
|
||||
using ImRaii.TabBarDisposable tabBarDisposable = ImRaii.TabBar("QuestSequenceTabs", ImGuiTabBarFlags.None);
|
||||
if (!tabBarDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
TabItemDisposable val5 = ImRaii.TabItem((ImU8String)"Current Quest", ImGuiTabItemFlags.None);
|
||||
try
|
||||
using (ImRaii.TabItemDisposable tabItemDisposable = ImRaii.TabItem("Current Quest", ImGuiTabItemFlags.None))
|
||||
{
|
||||
if (TabItemDisposable.op_Implicit(val5))
|
||||
if ((bool)tabItemDisposable)
|
||||
{
|
||||
ImGui.Spacing();
|
||||
_questSequenceComponent.DrawCurrentQuestTab();
|
||||
}
|
||||
}
|
||||
finally
|
||||
ImGuiTabItemFlags flags = (_selectLookupTabNextFrame ? ImGuiTabItemFlags.SetSelected : ImGuiTabItemFlags.None);
|
||||
using (ImRaii.TabItemDisposable tabItemDisposable2 = ImRaii.TabItem("Quest Lookup", flags))
|
||||
{
|
||||
((TabItemDisposable)(ref val5)).Dispose();
|
||||
}
|
||||
ImGuiTabItemFlags imGuiTabItemFlags = (_selectLookupTabNextFrame ? ImGuiTabItemFlags.SetSelected : ImGuiTabItemFlags.None);
|
||||
TabItemDisposable val6 = ImRaii.TabItem((ImU8String)"Quest Lookup", imGuiTabItemFlags);
|
||||
try
|
||||
{
|
||||
if (TabItemDisposable.op_Implicit(val6))
|
||||
if ((bool)tabItemDisposable2)
|
||||
{
|
||||
ImGui.Spacing();
|
||||
_questSequenceComponent.DrawQuestLookupTab();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabItemDisposable)(ref val6)).Dispose();
|
||||
}
|
||||
_selectLookupTabNextFrame = false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TabBarDisposable)(ref val4)).Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
QuestSequenceComponent.DrawWindowBorder();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,16 +20,15 @@ internal sealed class QuestValidationWindow : LWindow, IPersistableWindowConfig
|
|||
public QuestValidationWindow(QuestValidationComponent questValidationComponent, IDalamudPluginInterface pluginInterface, Configuration configuration)
|
||||
: base("Quest Validation###QuestionableValidator")
|
||||
{
|
||||
//IL_0061: Unknown result type (might be due to invalid IL or missing references)
|
||||
_questValidationComponent = questValidationComponent;
|
||||
_pluginInterface = pluginInterface;
|
||||
_configuration = configuration;
|
||||
base.Size = new Vector2(800f, 400f);
|
||||
base.SizeCondition = ImGuiCond.FirstUseEver;
|
||||
WindowSizeConstraints value = default(WindowSizeConstraints);
|
||||
((WindowSizeConstraints)(ref value))._002Ector();
|
||||
((WindowSizeConstraints)(ref value)).MinimumSize = new Vector2(600f, 300f);
|
||||
((Window)this).SizeConstraints = value;
|
||||
base.SizeConstraints = new WindowSizeConstraints
|
||||
{
|
||||
MinimumSize = new Vector2(600f, 300f)
|
||||
};
|
||||
}
|
||||
|
||||
public void SaveWindowConfig()
|
||||
|
|
|
|||
|
|
@ -57,21 +57,6 @@ internal sealed class QuestWindow : LWindow, IPersistableWindowConfig
|
|||
public QuestWindow(IDalamudPluginInterface pluginInterface, QuestController questController, IObjectTable objectTable, IClientState clientState, Configuration configuration, TerritoryData territoryData, ActiveQuestComponent activeQuestComponent, ARealmRebornComponent aRealmRebornComponent, EventInfoComponent eventInfoComponent, CreationUtilsComponent creationUtilsComponent, QuickAccessButtonsComponent quickAccessButtonsComponent, RemainingTasksComponent remainingTasksComponent, IFramework framework, InteractionUiController interactionUiController, ConfigWindow configWindow)
|
||||
: base("Questionable v" + PluginVersion.ToString(3) + "###Questionable", ImGuiWindowFlags.AlwaysAutoResize)
|
||||
{
|
||||
//IL_00d3: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00ed: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00f2: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_00fd: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0108: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_011d: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_012f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_013b: Expected O, but got Unknown
|
||||
//IL_0153: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0158: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0163: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0178: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_018a: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0195: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_01bf: Expected O, but got Unknown
|
||||
QuestWindow questWindow = this;
|
||||
_pluginInterface = pluginInterface;
|
||||
_questController = questController;
|
||||
|
|
@ -87,11 +72,11 @@ internal sealed class QuestWindow : LWindow, IPersistableWindowConfig
|
|||
_remainingTasksComponent = remainingTasksComponent;
|
||||
_framework = framework;
|
||||
_interactionUiController = interactionUiController;
|
||||
WindowSizeConstraints value = default(WindowSizeConstraints);
|
||||
((WindowSizeConstraints)(ref value))._002Ector();
|
||||
((WindowSizeConstraints)(ref value)).MinimumSize = new Vector2(240f, 30f);
|
||||
((WindowSizeConstraints)(ref value)).MaximumSize = default(Vector2);
|
||||
((Window)this).SizeConstraints = value;
|
||||
base.SizeConstraints = new WindowSizeConstraints
|
||||
{
|
||||
MinimumSize = new Vector2(240f, 30f),
|
||||
MaximumSize = default(Vector2)
|
||||
};
|
||||
base.RespectCloseHotkey = false;
|
||||
base.AllowClickthrough = false;
|
||||
_minimizeButton = new TitleBarButton
|
||||
|
|
@ -106,8 +91,8 @@ internal sealed class QuestWindow : LWindow, IPersistableWindowConfig
|
|||
},
|
||||
AvailableClickthrough = true
|
||||
};
|
||||
((Window)this).TitleBarButtons.Insert(0, _minimizeButton);
|
||||
((Window)this).TitleBarButtons.Add(new TitleBarButton
|
||||
base.TitleBarButtons.Insert(0, _minimizeButton);
|
||||
base.TitleBarButtons.Add(new TitleBarButton
|
||||
{
|
||||
Icon = FontAwesomeIcon.Cog,
|
||||
IconOffset = new Vector2(1.5f, 1f),
|
||||
|
|
|
|||
|
|
@ -43,7 +43,6 @@ internal sealed class SeasonalDutySelectionWindow : LWindow
|
|||
public SeasonalDutySelectionWindow(SeasonalDutyController seasonalDutyController, SeasonalDutyDefinitionRegistry seasonalDutyDefinitionRegistry, QuestController questController, FateController fateController, MovementController movementController, QuestFunctions questFunctions, QuestData questData, TerritoryData territoryData)
|
||||
: base("Seasonal Duty Farming###QuestionableSeasonalDutyFarming")
|
||||
{
|
||||
//IL_009f: Unknown result type (might be due to invalid IL or missing references)
|
||||
_seasonalDutyController = seasonalDutyController;
|
||||
_seasonalDutyDefinitionRegistry = seasonalDutyDefinitionRegistry;
|
||||
_questController = questController;
|
||||
|
|
@ -54,11 +53,11 @@ internal sealed class SeasonalDutySelectionWindow : LWindow
|
|||
_territoryData = territoryData;
|
||||
base.Size = new Vector2(600f, 400f);
|
||||
base.SizeCondition = ImGuiCond.FirstUseEver;
|
||||
WindowSizeConstraints value = default(WindowSizeConstraints);
|
||||
((WindowSizeConstraints)(ref value))._002Ector();
|
||||
((WindowSizeConstraints)(ref value)).MinimumSize = new Vector2(500f, 300f);
|
||||
((WindowSizeConstraints)(ref value)).MaximumSize = new Vector2(900f, 700f);
|
||||
((Window)this).SizeConstraints = value;
|
||||
base.SizeConstraints = new WindowSizeConstraints
|
||||
{
|
||||
MinimumSize = new Vector2(500f, 300f),
|
||||
MaximumSize = new Vector2(900f, 700f)
|
||||
};
|
||||
}
|
||||
|
||||
public override void DrawContent()
|
||||
|
|
@ -94,26 +93,18 @@ internal sealed class SeasonalDutySelectionWindow : LWindow
|
|||
float num2 = (float)ImGui.GetTime();
|
||||
float num3 = 0.85f + MathF.Sin(num2 * 3f) * 0.15f;
|
||||
Vector4 col = new Vector4(0f, 1f * num3, 0.3f * num3, 1f);
|
||||
FontDisposable val = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.TextColored(in col, FontAwesomeIcon.Leaf.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.SameLine();
|
||||
ImGui.TextColored(ImGuiColors.ParsedGreen, _seasonalDutyController.CurrentDuty.Name);
|
||||
ImGui.SameLine(x - 35f);
|
||||
ColorDisposable val2 = ImRaii.PushColor(ImGuiCol.Button, Vector4.Zero, true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.Button, Vector4.Zero))
|
||||
{
|
||||
ColorDisposable val3 = ImRaii.PushColor(ImGuiCol.ButtonHovered, new Vector4(0.8f, 0.3f, 0.3f, 0.4f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.ButtonHovered, new Vector4(0.8f, 0.3f, 0.3f, 0.4f)))
|
||||
{
|
||||
ColorDisposable val4 = ImRaii.PushColor(ImGuiCol.ButtonActive, new Vector4(0.9f, 0.2f, 0.2f, 0.6f), true);
|
||||
try
|
||||
using (ImRaii.PushColor(ImGuiCol.ButtonActive, new Vector4(0.9f, 0.2f, 0.2f, 0.6f)))
|
||||
{
|
||||
if (ImGuiComponents.IconButton(FontAwesomeIcon.Stop))
|
||||
{
|
||||
|
|
@ -121,20 +112,8 @@ internal sealed class SeasonalDutySelectionWindow : LWindow
|
|||
_movementController.Stop();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val4)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
ImGui.SetCursorPosX(ImGui.GetCursorPosX() + 8f);
|
||||
string value = (_seasonalDutyController.CycleLimit.HasValue ? $"Cycle {_seasonalDutyController.CompletedCycles + 1} / {_seasonalDutyController.CycleLimit}" : $"Cycle {_seasonalDutyController.CompletedCycles + 1}");
|
||||
string value2 = FormatElapsed(_seasonalDutyController.ElapsedTime);
|
||||
|
|
@ -161,8 +140,7 @@ internal sealed class SeasonalDutySelectionWindow : LWindow
|
|||
ImGui.TextColored(in col2, text3);
|
||||
}
|
||||
ImGui.SetCursorPosX(ImGui.GetCursorPosX() + 8f);
|
||||
DisabledDisposable val5 = ImRaii.Disabled(true);
|
||||
try
|
||||
using (ImRaii.Disabled(disabled: true))
|
||||
{
|
||||
ImGui.AlignTextToFramePadding();
|
||||
ImGui.TextUnformatted("Cycles:");
|
||||
|
|
@ -170,18 +148,13 @@ internal sealed class SeasonalDutySelectionWindow : LWindow
|
|||
ImGui.SetNextItemWidth(100f);
|
||||
ImGui.InputInt("##CycleLimitRunning", ref _cycleLimit, 1, 5);
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val5)?.Dispose();
|
||||
}
|
||||
ImGui.SetCursorPosY(cursorScreenPos.Y + num - ImGui.GetCursorScreenPos().Y + ImGui.GetCursorPosY() + 4f);
|
||||
ImGui.Spacing();
|
||||
}
|
||||
|
||||
private void DrawControlsStrip()
|
||||
{
|
||||
DisabledDisposable val = ImRaii.Disabled(_seasonalDutyController.IsRunning);
|
||||
try
|
||||
using (ImRaii.Disabled(_seasonalDutyController.IsRunning))
|
||||
{
|
||||
ImGui.AlignTextToFramePadding();
|
||||
ImGui.TextUnformatted("Cycles:");
|
||||
|
|
@ -195,10 +168,6 @@ internal sealed class SeasonalDutySelectionWindow : LWindow
|
|||
ImGui.SameLine();
|
||||
ImGui.TextColored(ImGuiColors.DalamudGrey, (_cycleLimit == 0) ? "(unlimited)" : "");
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
ImGui.Spacing();
|
||||
}
|
||||
|
||||
|
|
@ -240,9 +209,6 @@ internal sealed class SeasonalDutySelectionWindow : LWindow
|
|||
|
||||
private void DrawDutyTable()
|
||||
{
|
||||
//IL_0097: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_009c: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_009d: Unknown result type (might be due to invalid IL or missing references)
|
||||
List<SeasonalDutyDefinition> list = _seasonalDutyDefinitionRegistry.Definitions.Values.OrderBy(delegate(SeasonalDutyDefinition d)
|
||||
{
|
||||
DateTime? eventExpiry = d.EventExpiry;
|
||||
|
|
@ -270,10 +236,8 @@ internal sealed class SeasonalDutySelectionWindow : LWindow
|
|||
return double.MaxValue;
|
||||
}).ThenBy<SeasonalDutyDefinition, string>((SeasonalDutyDefinition d) => d.Name, StringComparer.OrdinalIgnoreCase)
|
||||
.ToList();
|
||||
TableDisposable val = ImRaii.Table((ImU8String)"SeasonalDutyTable", 4, ImGuiTableFlags.SizingStretchProp | ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersInnerH | ImGuiTableFlags.ScrollY);
|
||||
try
|
||||
{
|
||||
if (!val)
|
||||
using ImRaii.TableDisposable tableDisposable = ImRaii.Table("SeasonalDutyTable", 4, ImGuiTableFlags.SizingStretchProp | ImGuiTableFlags.RowBg | ImGuiTableFlags.BordersInnerH | ImGuiTableFlags.ScrollY);
|
||||
if (!tableDisposable)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
|
@ -303,16 +267,9 @@ internal sealed class SeasonalDutySelectionWindow : LWindow
|
|||
DrawDutyRowActions(item, disabled);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TableDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private void DrawDutyRowName(SeasonalDutyDefinition duty, bool isActive)
|
||||
{
|
||||
//IL_006f: Unknown result type (might be due to invalid IL or missing references)
|
||||
//IL_0074: Unknown result type (might be due to invalid IL or missing references)
|
||||
if (isActive)
|
||||
{
|
||||
float num = (float)ImGui.GetTime();
|
||||
|
|
@ -327,8 +284,7 @@ internal sealed class SeasonalDutySelectionWindow : LWindow
|
|||
{
|
||||
return;
|
||||
}
|
||||
TooltipDisposable val = ImRaii.Tooltip();
|
||||
try
|
||||
using (ImRaii.Tooltip())
|
||||
{
|
||||
ImGui.TextColored(ImGuiColors.DalamudWhite, duty.Name);
|
||||
ImGui.Separator();
|
||||
|
|
@ -351,10 +307,6 @@ internal sealed class SeasonalDutySelectionWindow : LWindow
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((TooltipDisposable)(ref val)).Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private static void DrawDutyRowExpiry(SeasonalDutyDefinition duty)
|
||||
|
|
@ -383,23 +335,17 @@ internal sealed class SeasonalDutySelectionWindow : LWindow
|
|||
private void DrawDutyRowActions(SeasonalDutyDefinition duty, bool disabled)
|
||||
{
|
||||
bool flag = duty.RequiredQuestId.HasValue && !_questFunctions.IsQuestComplete(new QuestId(duty.RequiredQuestId.Value));
|
||||
ImU8String imU8String = new ImU8String(5, 1);
|
||||
imU8String.AppendLiteral("duty_");
|
||||
imU8String.AppendFormatted(duty.Name);
|
||||
IdDisposable val = ImRaii.PushId(imU8String, true);
|
||||
try
|
||||
ImU8String id = new ImU8String(5, 1);
|
||||
id.AppendLiteral("duty_");
|
||||
id.AppendFormatted(duty.Name);
|
||||
using (ImRaii.PushId(id))
|
||||
{
|
||||
if (flag)
|
||||
{
|
||||
FontDisposable val2 = ImRaii.PushFont(UiBuilder.IconFont, true);
|
||||
try
|
||||
using (ImRaii.PushFont(UiBuilder.IconFont))
|
||||
{
|
||||
ImGui.TextColored(ImGuiColors.DalamudRed, FontAwesomeIcon.Times.ToIconString());
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val2)?.Dispose();
|
||||
}
|
||||
if (ImGui.IsItemHovered())
|
||||
{
|
||||
IQuestInfo questInfo;
|
||||
|
|
@ -412,8 +358,7 @@ internal sealed class SeasonalDutySelectionWindow : LWindow
|
|||
}
|
||||
return;
|
||||
}
|
||||
DisabledDisposable val3 = ImRaii.Disabled(disabled);
|
||||
try
|
||||
using (ImRaii.Disabled(disabled))
|
||||
{
|
||||
if (ImGuiComponents.IconButton(FontAwesomeIcon.Play))
|
||||
{
|
||||
|
|
@ -424,10 +369,6 @@ internal sealed class SeasonalDutySelectionWindow : LWindow
|
|||
_seasonalDutyController.Start(duty, cycleLimit);
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val3)?.Dispose();
|
||||
}
|
||||
if (disabled && ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
|
||||
{
|
||||
if (_seasonalDutyController.IsRunning)
|
||||
|
|
@ -444,10 +385,6 @@ internal sealed class SeasonalDutySelectionWindow : LWindow
|
|||
}
|
||||
}
|
||||
}
|
||||
finally
|
||||
{
|
||||
((IDisposable)val)?.Dispose();
|
||||
}
|
||||
}
|
||||
|
||||
private static string FormatElapsed(TimeSpan elapsed)
|
||||
|
|
|
|||
|
|
@ -57,18 +57,18 @@ internal sealed class DalamudInitializer : IDisposable
|
|||
_configuration = configuration;
|
||||
_partyWatchdog = partyWatchdog;
|
||||
_logger = logger;
|
||||
_windowSystem.AddWindow((IWindow)(object)oneTimeSetupWindow);
|
||||
_windowSystem.AddWindow((IWindow)(object)questWindow);
|
||||
_windowSystem.AddWindow((IWindow)(object)configWindow);
|
||||
_windowSystem.AddWindow((IWindow)(object)debugOverlay);
|
||||
_windowSystem.AddWindow((IWindow)(object)questSelectionWindow);
|
||||
_windowSystem.AddWindow((IWindow)(object)questSequenceWindow);
|
||||
_windowSystem.AddWindow((IWindow)(object)questValidationWindow);
|
||||
_windowSystem.AddWindow((IWindow)(object)journalProgressWindow);
|
||||
_windowSystem.AddWindow((IWindow)(object)priorityWindow);
|
||||
_windowSystem.AddWindow((IWindow)(object)fateSelectionWindow);
|
||||
_windowSystem.AddWindow((IWindow)(object)seasonalDutySelectionWindow);
|
||||
_windowSystem.AddWindow((IWindow)(object)changelogWindow);
|
||||
_windowSystem.AddWindow(oneTimeSetupWindow);
|
||||
_windowSystem.AddWindow(questWindow);
|
||||
_windowSystem.AddWindow(configWindow);
|
||||
_windowSystem.AddWindow(debugOverlay);
|
||||
_windowSystem.AddWindow(questSelectionWindow);
|
||||
_windowSystem.AddWindow(questSequenceWindow);
|
||||
_windowSystem.AddWindow(questValidationWindow);
|
||||
_windowSystem.AddWindow(journalProgressWindow);
|
||||
_windowSystem.AddWindow(priorityWindow);
|
||||
_windowSystem.AddWindow(fateSelectionWindow);
|
||||
_windowSystem.AddWindow(seasonalDutySelectionWindow);
|
||||
_windowSystem.AddWindow(changelogWindow);
|
||||
_pluginInterface.UiBuilder.Draw += _windowSystem.Draw;
|
||||
_pluginInterface.UiBuilder.OpenMainUi += ToggleQuestWindow;
|
||||
_pluginInterface.UiBuilder.OpenConfigUi += _configWindow.Toggle;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue