qstcompanion v1.0.6

This commit is contained in:
alydev 2025-12-07 10:54:53 +10:00
parent 5e1e1decc5
commit ada27cf05b
30 changed files with 3403 additions and 426 deletions

View file

@ -0,0 +1,8 @@
namespace QuestionableCompanion.Models;
public class LANChauffeurResponse
{
public string QuesterName { get; set; } = string.Empty;
public ushort QuesterWorldId { get; set; }
}

View file

@ -0,0 +1,24 @@
namespace QuestionableCompanion.Models;
public class LANChauffeurSummon
{
public string QuesterName { get; set; } = string.Empty;
public ushort QuesterWorldId { get; set; }
public uint ZoneId { get; set; }
public float TargetX { get; set; }
public float TargetY { get; set; }
public float TargetZ { get; set; }
public float QuesterX { get; set; }
public float QuesterY { get; set; }
public float QuesterZ { get; set; }
public bool IsAttuneAetheryte { get; set; }
}

View file

@ -0,0 +1,12 @@
namespace QuestionableCompanion.Models;
public class LANFollowCommand
{
public float X { get; set; }
public float Y { get; set; }
public float Z { get; set; }
public uint TerritoryId { get; set; }
}

View file

@ -0,0 +1,10 @@
namespace QuestionableCompanion.Models;
public class LANHeartbeat
{
public string ClientName { get; set; } = string.Empty;
public ushort ClientWorldId { get; set; }
public string ClientRole { get; set; } = string.Empty;
}

View file

@ -0,0 +1,16 @@
using System;
namespace QuestionableCompanion.Models;
public class LANHelperInfo
{
public string Name { get; set; } = string.Empty;
public ushort WorldId { get; set; }
public string IPAddress { get; set; } = string.Empty;
public LANHelperStatus Status { get; set; }
public DateTime LastSeen { get; set; } = DateTime.Now;
}

View file

@ -0,0 +1,10 @@
namespace QuestionableCompanion.Models;
public class LANHelperRequest
{
public string QuesterName { get; set; } = string.Empty;
public ushort QuesterWorldId { get; set; }
public string DutyName { get; set; } = string.Empty;
}

View file

@ -0,0 +1,12 @@
namespace QuestionableCompanion.Models;
public enum LANHelperStatus
{
Available,
Busy,
InParty,
InDuty,
Transporting,
Offline,
Error
}

View file

@ -0,0 +1,12 @@
namespace QuestionableCompanion.Models;
public class LANHelperStatusResponse
{
public string Name { get; set; } = string.Empty;
public ushort WorldId { get; set; }
public LANHelperStatus Status { get; set; }
public string? CurrentActivity { get; set; }
}

View file

@ -0,0 +1,35 @@
using System;
using Newtonsoft.Json;
namespace QuestionableCompanion.Models;
public class LANMessage
{
public LANMessageType Type { get; set; }
public DateTime Timestamp { get; set; } = DateTime.Now;
public string? Data { get; set; }
public LANMessage()
{
}
public LANMessage(LANMessageType type, object? data = null)
{
Type = type;
if (data != null)
{
Data = JsonConvert.SerializeObject(data);
}
}
public T? GetData<T>()
{
if (string.IsNullOrEmpty(Data))
{
return default(T);
}
return JsonConvert.DeserializeObject<T>(Data);
}
}

View file

@ -0,0 +1,24 @@
namespace QuestionableCompanion.Models;
public enum LANMessageType
{
DISCOVER_REQUEST,
DISCOVER_RESPONSE,
REQUEST_HELPER,
HELPER_STATUS,
INVITE_NOTIFICATION,
INVITE_ACCEPTED,
HELPER_IN_PARTY,
HELPER_READY,
HELPER_IN_DUTY,
DUTY_COMPLETE,
FOLLOW_COMMAND,
FOLLOW_STARTED,
FOLLOW_ARRIVED,
CHAUFFEUR_PICKUP_REQUEST,
CHAUFFEUR_HELPER_READY_FOR_MOUNT,
CHAUFFEUR_HELPER_ARRIVED_DEST,
ERROR,
DISCONNECT,
HEARTBEAT
}