1
0
forked from liza/Questionable

Handle certain interaction interruptions

This commit is contained in:
Liza 2024-09-19 00:54:21 +02:00
parent e3fee58bd0
commit 2389beb056
Signed by: liza
GPG Key ID: 7199F8D727D55F67
8 changed files with 24 additions and 1 deletions

View File

@ -27,6 +27,22 @@
{ {
"Sequence": 1, "Sequence": 1,
"Steps": [ "Steps": [
{
"Position": {
"X": 588.5607,
"Y": 437.99976,
"Z": 299.7425
},
"TerritoryId": 960,
"InteractionType": "Jump",
"JumpDestination": {
"Position": {
"X": 602.4677,
"Y": 438.6276,
"Z": 297.1612
}
}
},
{ {
"Position": { "Position": {
"X": 656.94653, "X": 656.94653,

View File

@ -811,7 +811,6 @@ internal sealed class QuestController : MiniTaskController<QuestController>, IDi
private void OnErrorToast(ref SeString message, ref bool isHandled) private void OnErrorToast(ref SeString message, ref bool isHandled)
{ {
_logger.LogWarning("XXX {A} → {B} XXX", _actionCanceledText, message.TextValue);
if (_taskQueue.CurrentTaskExecutor is IToastAware toastAware) if (_taskQueue.CurrentTaskExecutor is IToastAware toastAware)
{ {
if (toastAware.OnErrorToast(message)) if (toastAware.OnErrorToast(message))

View File

@ -30,6 +30,7 @@ internal static class NextQuest
internal sealed record SetQuestTask(ElementId NextQuestId, ElementId CurrentQuestId) : ITask internal sealed record SetQuestTask(ElementId NextQuestId, ElementId CurrentQuestId) : ITask
{ {
public bool ShouldRedoOnInterrupt() => true;
public override string ToString() => $"SetNextQuest({NextQuestId})"; public override string ToString() => $"SetNextQuest({NextQuestId})";
} }

View File

@ -36,6 +36,7 @@ internal static class AetherCurrent
internal sealed record Attune(uint DataId, uint AetherCurrentId) : ITask internal sealed record Attune(uint DataId, uint AetherCurrentId) : ITask
{ {
public bool ShouldRedoOnInterrupt() => true;
public override string ToString() => $"AttuneAetherCurrent({AetherCurrentId})"; public override string ToString() => $"AttuneAetherCurrent({AetherCurrentId})";
} }

View File

@ -26,6 +26,7 @@ internal static class AethernetShard
internal sealed record Attune(EAetheryteLocation AetheryteLocation) : ITask internal sealed record Attune(EAetheryteLocation AetheryteLocation) : ITask
{ {
public bool ShouldRedoOnInterrupt() => true;
public override string ToString() => $"AttuneAethernetShard({AetheryteLocation})"; public override string ToString() => $"AttuneAethernetShard({AetheryteLocation})";
} }

View File

@ -24,6 +24,7 @@ internal static class Aetheryte
internal sealed record Attune(EAetheryteLocation AetheryteLocation) : ITask internal sealed record Attune(EAetheryteLocation AetheryteLocation) : ITask
{ {
public bool ShouldRedoOnInterrupt() => true;
public override string ToString() => $"AttuneAetheryte({AetheryteLocation})"; public override string ToString() => $"AttuneAetheryte({AetheryteLocation})";
} }

View File

@ -63,6 +63,8 @@ internal static class Interact
uint? PickUpItemId = null, uint? PickUpItemId = null,
SkipStepConditions? SkipConditions = null) : ITask SkipStepConditions? SkipConditions = null) : ITask
{ {
public bool ShouldRedoOnInterrupt() => true;
public override string ToString() => $"Interact({DataId})"; public override string ToString() => $"Interact({DataId})";
} }

View File

@ -143,6 +143,8 @@ internal static class WaitAtEnd
{ {
} }
public bool ShouldRedoOnInterrupt() => true;
public override string ToString() => $"Wait(seconds: {Delay.TotalSeconds})"; public override string ToString() => $"Wait(seconds: {Delay.TotalSeconds})";
} }