added more types and callbacks filled in
This commit is contained in:
@@ -1,8 +1,21 @@
|
||||
namespace Core.Callbacks;
|
||||
using Core.Models.Eft.HttpResponse;
|
||||
using Core.Models.Eft.ItemEvent;
|
||||
|
||||
namespace Core.Callbacks;
|
||||
|
||||
public class ItemEventCallbacks
|
||||
{
|
||||
public GetBodyResponseData<ItemEventRouterResponse> HandleEvents(string url, ItemEventRouterRequest info, string sessionID)
|
||||
public async Task<GetBodyResponseData<ItemEventRouterResponse>> HandleEvents(string url, ItemEventRouterRequest info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public bool IsCriticalError(List<Warning> warnings)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public int GetErrorCode(List<Warning> warnings)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
namespace Core.Callbacks;
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Models.Eft.Launcher;
|
||||
|
||||
namespace Core.Callbacks;
|
||||
|
||||
public class LauncherCallbacks
|
||||
{
|
||||
@@ -37,22 +40,12 @@ public class LauncherCallbacks
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public string GetMiniProfile(string url, GetMiniProfileRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public string GetAllMiniProfiles(string url, object info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public string GetServerVersion()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public string Ping(string url, object info, string sessionID)
|
||||
public string Ping(string url, EmptyRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
@@ -66,4 +59,14 @@ public class LauncherCallbacks
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public string GetLoadedServerMods()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public string GetServerModsProfileUsed(string url, EmptyRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,18 @@
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Models.Eft.Common.Tables;
|
||||
using Core.Models.Eft.HttpResponse;
|
||||
using Core.Models.Eft.Location;
|
||||
|
||||
namespace Core.Callbacks;
|
||||
|
||||
public class LocationCallbacks
|
||||
{
|
||||
public GetBodyResponseData<LocationsGenerateAllResponse> GetLocationData(string url, object info, string sessionID)
|
||||
public GetBodyResponseData<LocationsGenerateAllResponse> GetLocationData(string url, EmptyRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<LocationBase> GetLocation(string url, GetLocationRequestData info, string sessionID)
|
||||
public GetBodyResponseData<GetAirdropLootResponse> GetAirdropLoot(string url, GetAirdropLootRequest info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Models.Eft.Common.Tables;
|
||||
using Core.Models.Eft.HttpResponse;
|
||||
using Core.Models.Eft.Match;
|
||||
|
||||
namespace Core.Callbacks;
|
||||
|
||||
public class MatchCallbacks
|
||||
{
|
||||
public NullResponseData UpdatePing(string url, EmptyRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public NullResponseData ExitMatch(string url, EmptyRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public NullResponseData ExitFromMenu(string url, EmptyRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<MatchGroupCurrentResponse> GroupCurrent(string url, EmptyRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public NullResponseData StartGroupSearch(string url, EmptyRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public NullResponseData StopGroupSearch(string url, EmptyRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<string> SendGroupInvite(string url, MatchGroupInviteSendRequest info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<List<GroupCharacter>> AcceptGroupInvite(string url, RequestIdRequest info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<bool> DeclineGroupInvite(string url, RequestIdRequest info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<bool> CancelGroupInvite(string url, RequestIdRequest info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<bool> TransferGroup(string url, MatchGroupTransferRequest info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<bool> CancelAllGroupInvite(string url, EmptyRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public NullResponseData PutMetrics(string url, PutMetricsRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public NullResponseData EventDisconnect(string url, PutMetricsRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<bool> ServerAvailable(string url, EmptyRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<ProfileStatusResponse> JoinMatch(string url, MatchGroupStartGameRequest info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<Metrics> GetMetrics(string url, object info, string sessionID) // TODO: No type given
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<MatchGroupStatusResponse> GetGroupStatus(string url, MatchGroupStatusRequest info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<bool> DeleteGroup(string url, EmptyRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<bool> LeaveGroup(string url, EmptyRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<bool> RemovePlayerFromGroup(string url, MatchGroupPlayerRemoveRequest info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<StartLocalRaidResponseData> StartLocalRaid(string url, StartLocalRaidRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public NullResponseData EndLocalRaid(string url, EndLocalRaidRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public NullResponseData GetRaidConfiguration(string url, GetRaidConfigurationRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public NullResponseData GetConfigurationByProfile(string url, GetRaidConfigurationRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<bool> RaidReady(string url, EmptyRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public GetBodyResponseData<bool> NotRaidReady(string url, EmptyRequestData info, string sessionID)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Core.Models.Eft.Common.Tables;
|
||||
|
||||
public class LocationsGenerateAllResponse
|
||||
{
|
||||
[JsonPropertyName("locations")]
|
||||
public Locations Locations { get; set; }
|
||||
|
||||
[JsonPropertyName("paths")]
|
||||
public List<Path> Paths { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Core.Models.Eft.Launcher;
|
||||
|
||||
public class ChangeRequestData : LoginRequestData
|
||||
{
|
||||
[JsonPropertyName("change")]
|
||||
public string Change { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Core.Models.Eft.Launcher;
|
||||
|
||||
public class LoginRequestData
|
||||
{
|
||||
[JsonPropertyName("username")]
|
||||
public string Username { get; set; }
|
||||
|
||||
[JsonPropertyName("password")]
|
||||
public string Password { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Core.Models.Eft.Launcher;
|
||||
|
||||
public class RegisterData : LoginRequestData
|
||||
{
|
||||
[JsonPropertyName("edition")]
|
||||
public string Edition { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
namespace Core.Models.Eft.Launcher;
|
||||
|
||||
public class RemoveProfileData : LoginRequestData
|
||||
{
|
||||
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Core.Models.Eft.Location;
|
||||
|
||||
public class GetAirdropLootRequest
|
||||
{
|
||||
[JsonPropertyName("containerId")]
|
||||
public string ContainerId { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Core.Models.Eft.Common.Tables;
|
||||
using Core.Models.Enums;
|
||||
|
||||
namespace Core.Models.Eft.Location;
|
||||
|
||||
public class GetAirdropLootResponse
|
||||
{
|
||||
// The type of airdrop
|
||||
[JsonPropertyName("icon")]
|
||||
public AirdropTypeEnum Icon { get; set; }
|
||||
|
||||
[JsonPropertyName("container")]
|
||||
public List<Item> Container { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,122 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Models.Eft.Common.Tables;
|
||||
using Core.Models.Enums;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class EndLocalRaidRequestData
|
||||
{
|
||||
/// <summary>
|
||||
/// ID of server player just left
|
||||
/// </summary>
|
||||
[JsonPropertyName("serverId")]
|
||||
public string ServerId { get; set; }
|
||||
|
||||
[JsonPropertyName("results")]
|
||||
public EndRaidResult Results { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Insured items left in raid by player
|
||||
/// </summary>
|
||||
[JsonPropertyName("lostInsuredItems")]
|
||||
public List<Item> LostInsuredItems { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Items sent via traders to player, keyed to service e.g. BTRTransferStash
|
||||
/// </summary>
|
||||
[JsonPropertyName("transferItems")]
|
||||
public Dictionary<string, List<Item>> TransferItems { get; set; }
|
||||
|
||||
[JsonPropertyName("locationTransit")]
|
||||
public LocationTransit LocationTransit { get; set; }
|
||||
}
|
||||
|
||||
public class EndRaidResult
|
||||
{
|
||||
public PmcData Profile { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// "Survived/Transit" etc
|
||||
/// </summary>
|
||||
[JsonPropertyName("result")]
|
||||
public ExitStatus Result { get; set; }
|
||||
|
||||
[JsonPropertyName("killerId")]
|
||||
public string KillerId { get; set; }
|
||||
|
||||
[JsonPropertyName("killerAid")]
|
||||
public string KillerAid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// "Gate 3" etc
|
||||
/// </summary>
|
||||
[JsonPropertyName("exitName")]
|
||||
public string ExitName { get; set; }
|
||||
|
||||
[JsonPropertyName("inSession")]
|
||||
public bool InSession { get; set; }
|
||||
|
||||
[JsonPropertyName("favorite")]
|
||||
public bool Favorite { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Seconds in raid
|
||||
/// </summary>
|
||||
[JsonPropertyName("playTime")]
|
||||
public int PlayTime { get; set; }
|
||||
}
|
||||
|
||||
public class LocationTransit
|
||||
{
|
||||
[JsonPropertyName("hash")]
|
||||
public string Hash { get; set; }
|
||||
|
||||
[JsonPropertyName("playersCount")]
|
||||
public int PlayersCount { get; set; }
|
||||
|
||||
[JsonPropertyName("ip")]
|
||||
public string Ip { get; set; }
|
||||
|
||||
[JsonPropertyName("location")]
|
||||
public string Location { get; set; }
|
||||
|
||||
[JsonPropertyName("profiles")]
|
||||
public Dictionary<string, TransitProfile> Profiles { get; set; }
|
||||
|
||||
[JsonPropertyName("transitionRaidId")]
|
||||
public string TransitionRaidId { get; set; }
|
||||
|
||||
[JsonPropertyName("raidMode")]
|
||||
public string RaidMode { get; set; }
|
||||
|
||||
[JsonPropertyName("side")]
|
||||
public string Side { get; set; }
|
||||
|
||||
[JsonPropertyName("dayTime")]
|
||||
public string DayTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The location player last visited
|
||||
/// </summary>
|
||||
[JsonPropertyName("sptLastVisitedLocation")]
|
||||
public string SptLastVisitedLocation { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Name of exit taken
|
||||
/// </summary>
|
||||
[JsonPropertyName("sptExitName")]
|
||||
public string? SptExitName { get; set; }
|
||||
}
|
||||
|
||||
public class TransitProfile
|
||||
{
|
||||
[JsonPropertyName("_id")]
|
||||
public string Id { get; set; }
|
||||
|
||||
[JsonPropertyName("keyId")]
|
||||
public string KeyId { get; set; }
|
||||
|
||||
[JsonPropertyName("isSolo")]
|
||||
public bool IsSolo { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class GetRaidConfigurationRequestData : RaidSettings
|
||||
{
|
||||
[JsonPropertyName("keyId")]
|
||||
public string KeyId { get; set; }
|
||||
|
||||
[JsonPropertyName("MaxGroupCount")]
|
||||
public int MaxGroupCount { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,113 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Core.Models.Eft.Common.Tables;
|
||||
using Core.Models.Enums;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class GroupCharacter
|
||||
{
|
||||
[JsonPropertyName("_id")]
|
||||
public string Id { get; set; }
|
||||
|
||||
[JsonPropertyName("aid")]
|
||||
public int Aid { get; set; }
|
||||
|
||||
[JsonPropertyName("Info")]
|
||||
public CharacterInfo Info { get; set; }
|
||||
|
||||
[JsonPropertyName("PlayerVisualRepresentation")]
|
||||
public PlayerVisualRepresentation? VisualRepresentation { get; set; }
|
||||
|
||||
[JsonPropertyName("isLeader")]
|
||||
public bool IsLeader { get; set; }
|
||||
|
||||
[JsonPropertyName("isReady")]
|
||||
public bool? IsReady { get; set; }
|
||||
|
||||
[JsonPropertyName("region")]
|
||||
public string? Region { get; set; }
|
||||
|
||||
[JsonPropertyName("lookingGroup")]
|
||||
public bool? LookingGroup { get; set; }
|
||||
}
|
||||
|
||||
public class CharacterInfo
|
||||
{
|
||||
[JsonPropertyName("Nickname")]
|
||||
public string Nickname { get; set; }
|
||||
|
||||
[JsonPropertyName("Side")]
|
||||
public string Side { get; set; }
|
||||
|
||||
[JsonPropertyName("Level")]
|
||||
public int Level { get; set; }
|
||||
|
||||
[JsonPropertyName("MemberCategory")]
|
||||
public MemberCategory MemberCategory { get; set; }
|
||||
|
||||
[JsonPropertyName("GameVersion")]
|
||||
public string? GameVersion { get; set; }
|
||||
|
||||
[JsonPropertyName("SavageLockTime")]
|
||||
public int? SavageLockTime { get; set; }
|
||||
|
||||
[JsonPropertyName("SavageNickname")]
|
||||
public string? SavageNickname { get; set; }
|
||||
|
||||
[JsonPropertyName("hasCoopExtension")]
|
||||
public bool? HasCoopExtension { get; set; }
|
||||
}
|
||||
|
||||
public class PlayerVisualRepresentation
|
||||
{
|
||||
[JsonPropertyName("Info")]
|
||||
public VisualInfo Info { get; set; }
|
||||
|
||||
[JsonPropertyName("Customization")]
|
||||
public Customization Customization { get; set; }
|
||||
|
||||
[JsonPropertyName("Equipment")]
|
||||
public Equipment Equipment { get; set; }
|
||||
}
|
||||
|
||||
public class VisualInfo
|
||||
{
|
||||
[JsonPropertyName("Side")]
|
||||
public string Side { get; set; }
|
||||
|
||||
[JsonPropertyName("Level")]
|
||||
public int Level { get; set; }
|
||||
|
||||
[JsonPropertyName("Nickname")]
|
||||
public string Nickname { get; set; }
|
||||
|
||||
[JsonPropertyName("MemberCategory")]
|
||||
public MemberCategory MemberCategory { get; set; }
|
||||
|
||||
[JsonPropertyName("GameVersion")]
|
||||
public string GameVersion { get; set; }
|
||||
}
|
||||
|
||||
public class Customization
|
||||
{
|
||||
[JsonPropertyName("Head")]
|
||||
public string Head { get; set; }
|
||||
|
||||
[JsonPropertyName("Body")]
|
||||
public string Body { get; set; }
|
||||
|
||||
[JsonPropertyName("Feet")]
|
||||
public string Feet { get; set; }
|
||||
|
||||
[JsonPropertyName("Hands")]
|
||||
public string Hands { get; set; }
|
||||
}
|
||||
|
||||
public class Equipment
|
||||
{
|
||||
[JsonPropertyName("Id")]
|
||||
public string Id { get; set; }
|
||||
|
||||
[JsonPropertyName("Items")]
|
||||
public List<Item> Items { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class MatchGroupCurrentResponse
|
||||
{
|
||||
[JsonPropertyName("squad")]
|
||||
public List<GroupCharacter> Squad { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class MatchGroupInviteSendRequest
|
||||
{
|
||||
[JsonPropertyName("to")]
|
||||
public string To { get; set; }
|
||||
|
||||
[JsonPropertyName("inLobby")]
|
||||
public bool InLobby { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class MatchGroupPlayerRemoveRequest
|
||||
{
|
||||
[JsonPropertyName("aidToKick")]
|
||||
public string AidToKick { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class MatchGroupStartGameRequest
|
||||
{
|
||||
[JsonPropertyName("groupId")]
|
||||
public string GroupId { get; set; }
|
||||
|
||||
[JsonPropertyName("servers")]
|
||||
public List<Server> Servers { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Core.Models.Enums;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class MatchGroupStatusRequest
|
||||
{
|
||||
[JsonPropertyName("location")]
|
||||
public string Location { get; set; }
|
||||
|
||||
[JsonPropertyName("savage")]
|
||||
public bool IsSavage { get; set; }
|
||||
|
||||
[JsonPropertyName("dt")]
|
||||
public string DateTime { get; set; }
|
||||
|
||||
[JsonPropertyName("keyId")]
|
||||
public string KeyId { get; set; }
|
||||
|
||||
[JsonPropertyName("raidMode")]
|
||||
public RaidMode RaidMode { get; set; }
|
||||
|
||||
[JsonPropertyName("spawnPlace")]
|
||||
public string SpawnPlace { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class MatchGroupStatusResponse
|
||||
{
|
||||
[JsonPropertyName("players")]
|
||||
public List<GroupCharacter> Players { get; set; }
|
||||
|
||||
[JsonPropertyName("maxPveCountExceeded")]
|
||||
public bool MaxPveCountExceeded { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class MatchGroupTransferRequest
|
||||
{
|
||||
[JsonPropertyName("aidToChange")]
|
||||
public string AidToChange { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class ProfileStatusResponse
|
||||
{
|
||||
[JsonPropertyName("maxPveCountExceeded")]
|
||||
public bool MaxPveCountExceeded { get; set; }
|
||||
|
||||
[JsonPropertyName("profiles")]
|
||||
public List<SessionStatus> Profiles { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,162 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class PutMetricsRequestData
|
||||
{
|
||||
[JsonPropertyName("sid")]
|
||||
public string SessionId { get; set; }
|
||||
|
||||
[JsonPropertyName("settings")]
|
||||
public object Settings { get; set; }
|
||||
|
||||
[JsonPropertyName("SharedSettings")]
|
||||
public SharedSettings SharedSettings { get; set; }
|
||||
|
||||
[JsonPropertyName("HardwareDescription")]
|
||||
public HardwareDescription HardwareDescription { get; set; }
|
||||
|
||||
[JsonPropertyName("Location")]
|
||||
public string Location { get; set; }
|
||||
|
||||
[JsonPropertyName("Metrics")]
|
||||
public object Metrics { get; set; }
|
||||
|
||||
[JsonPropertyName("ClientEvents")]
|
||||
public ClientEvents ClientEvents { get; set; }
|
||||
|
||||
[JsonPropertyName("SpikeSamples")]
|
||||
public List<object> SpikeSamples { get; set; }
|
||||
|
||||
[JsonPropertyName("mode")]
|
||||
public string Mode { get; set; }
|
||||
}
|
||||
|
||||
public class SharedSettings
|
||||
{
|
||||
[JsonPropertyName("StatedFieldOfView")]
|
||||
public double StatedFieldOfView { get; set; }
|
||||
}
|
||||
|
||||
public class HardwareDescription
|
||||
{
|
||||
[JsonPropertyName("deviceUniqueIdentifier")]
|
||||
public string DeviceUniqueIdentifier { get; set; }
|
||||
|
||||
[JsonPropertyName("systemMemorySize")]
|
||||
public double SystemMemorySize { get; set; }
|
||||
|
||||
[JsonPropertyName("graphicsDeviceID")]
|
||||
public double GraphicsDeviceId { get; set; }
|
||||
|
||||
[JsonPropertyName("graphicsDeviceName")]
|
||||
public string GraphicsDeviceName { get; set; }
|
||||
|
||||
[JsonPropertyName("graphicsDeviceType")]
|
||||
public string GraphicsDeviceType { get; set; }
|
||||
|
||||
[JsonPropertyName("graphicsDeviceVendor")]
|
||||
public string GraphicsDeviceVendor { get; set; }
|
||||
|
||||
[JsonPropertyName("graphicsDeviceVendorID")]
|
||||
public double GraphicsDeviceVendorId { get; set; }
|
||||
|
||||
[JsonPropertyName("graphicsDeviceVersion")]
|
||||
public string GraphicsDeviceVersion { get; set; }
|
||||
|
||||
[JsonPropertyName("graphicsMemorySize")]
|
||||
public double GraphicsMemorySize { get; set; }
|
||||
|
||||
[JsonPropertyName("graphicsMultiThreaded")]
|
||||
public bool GraphicsMultiThreaded { get; set; }
|
||||
|
||||
[JsonPropertyName("graphicsShaderLevel")]
|
||||
public double GraphicsShaderLevel { get; set; }
|
||||
|
||||
[JsonPropertyName("operatingSystem")]
|
||||
public string OperatingSystem { get; set; }
|
||||
|
||||
[JsonPropertyName("processorCount")]
|
||||
public double ProcessorCount { get; set; }
|
||||
|
||||
[JsonPropertyName("processorFrequency")]
|
||||
public double ProcessorFrequency { get; set; }
|
||||
|
||||
[JsonPropertyName("processorType")]
|
||||
public string ProcessorType { get; set; }
|
||||
|
||||
[JsonPropertyName("driveType")]
|
||||
public string DriveType { get; set; }
|
||||
|
||||
[JsonPropertyName("swapDriveType")]
|
||||
public string SwapDriveType { get; set; }
|
||||
}
|
||||
|
||||
public class ClientEvents
|
||||
{
|
||||
[JsonPropertyName("MatchingCompleted")]
|
||||
public double MatchingCompleted { get; set; }
|
||||
|
||||
[JsonPropertyName("MatchingCompletedReal")]
|
||||
public double MatchingCompletedReal { get; set; }
|
||||
|
||||
[JsonPropertyName("LocationLoaded")]
|
||||
public double LocationLoaded { get; set; }
|
||||
|
||||
[JsonPropertyName("LocationLoadedReal")]
|
||||
public double LocationLoadedReal { get; set; }
|
||||
|
||||
[JsonPropertyName("GamePrepared")]
|
||||
public double GamePrepared { get; set; }
|
||||
|
||||
[JsonPropertyName("GamePreparedReal")]
|
||||
public double GamePreparedReal { get; set; }
|
||||
|
||||
[JsonPropertyName("GameCreated")]
|
||||
public double GameCreated { get; set; }
|
||||
|
||||
[JsonPropertyName("GameCreatedReal")]
|
||||
public double GameCreatedReal { get; set; }
|
||||
|
||||
[JsonPropertyName("GamePooled")]
|
||||
public double GamePooled { get; set; }
|
||||
|
||||
[JsonPropertyName("GamePooledReal")]
|
||||
public double GamePooledReal { get; set; }
|
||||
|
||||
[JsonPropertyName("GameRunned")]
|
||||
public double GameRunned { get; set; }
|
||||
|
||||
[JsonPropertyName("GameRunnedReal")]
|
||||
public double GameRunnedReal { get; set; }
|
||||
|
||||
[JsonPropertyName("GameSpawn")]
|
||||
public double GameSpawn { get; set; }
|
||||
|
||||
[JsonPropertyName("GameSpawnReal")]
|
||||
public double GameSpawnReal { get; set; }
|
||||
|
||||
[JsonPropertyName("PlayerSpawnEvent")]
|
||||
public double PlayerSpawnEvent { get; set; }
|
||||
|
||||
[JsonPropertyName("PlayerSpawnEventReal")]
|
||||
public double PlayerSpawnEventReal { get; set; }
|
||||
|
||||
[JsonPropertyName("GameSpawned")]
|
||||
public double GameSpawned { get; set; }
|
||||
|
||||
[JsonPropertyName("GameSpawnedReal")]
|
||||
public double GameSpawnedReal { get; set; }
|
||||
|
||||
[JsonPropertyName("GameStarting")]
|
||||
public double GameStarting { get; set; }
|
||||
|
||||
[JsonPropertyName("GameStartingReal")]
|
||||
public double GameStartingReal { get; set; }
|
||||
|
||||
[JsonPropertyName("GameStarted")]
|
||||
public double GameStarted { get; set; }
|
||||
|
||||
[JsonPropertyName("GameStartedReal")]
|
||||
public double GameStartedReal { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,96 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Core.Models.Enums;
|
||||
using Core.Models.Enums.RaidSettings;
|
||||
using Core.Models.Enums.RaidSettings.TimeAndWeather;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class RaidSettings
|
||||
{
|
||||
[JsonPropertyName("keyId")]
|
||||
public string KeyId { get; set; }
|
||||
|
||||
[JsonPropertyName("location")]
|
||||
public string Location { get; set; }
|
||||
|
||||
[JsonPropertyName("isLocationTransition")]
|
||||
public bool IsLocationTransition { get; set; }
|
||||
|
||||
[JsonPropertyName("timeVariant")]
|
||||
public DateTime TimeVariant { get; set; }
|
||||
|
||||
[JsonPropertyName("metabolismDisabled")]
|
||||
public bool MetabolismDisabled { get; set; }
|
||||
|
||||
[JsonPropertyName("timeAndWeatherSettings")]
|
||||
public TimeAndWeatherSettings TimeAndWeatherSettings { get; set; }
|
||||
|
||||
[JsonPropertyName("botSettings")]
|
||||
public BotSettings BotSettings { get; set; }
|
||||
|
||||
[JsonPropertyName("wavesSettings")]
|
||||
public WavesSettings WavesSettings { get; set; }
|
||||
|
||||
[JsonPropertyName("side")]
|
||||
public SideType Side { get; set; }
|
||||
|
||||
[JsonPropertyName("raidMode")]
|
||||
public RaidMode RaidMode { get; set; }
|
||||
|
||||
[JsonPropertyName("playersSpawnPlace")]
|
||||
public PlayersSpawnPlace PlayersSpawnPlace { get; set; }
|
||||
|
||||
[JsonPropertyName("canShowGroupPreview")]
|
||||
public bool CanShowGroupPreview { get; set; }
|
||||
}
|
||||
|
||||
public class TimeAndWeatherSettings
|
||||
{
|
||||
[JsonPropertyName("isRandomTime")]
|
||||
public bool IsRandomTime { get; set; }
|
||||
|
||||
[JsonPropertyName("isRandomWeather")]
|
||||
public bool IsRandomWeather { get; set; }
|
||||
|
||||
[JsonPropertyName("cloudinessType")]
|
||||
public CloudinessType CloudinessType { get; set; }
|
||||
|
||||
[JsonPropertyName("rainType")]
|
||||
public RainType RainType { get; set; }
|
||||
|
||||
[JsonPropertyName("fogType")]
|
||||
public FogType FogType { get; set; }
|
||||
|
||||
[JsonPropertyName("windType")]
|
||||
public WindSpeed WindType { get; set; }
|
||||
|
||||
[JsonPropertyName("timeFlowType")]
|
||||
public TimeFlowType TimeFlowType { get; set; }
|
||||
|
||||
[JsonPropertyName("hourOfDay")]
|
||||
public int HourOfDay { get; set; }
|
||||
}
|
||||
|
||||
public class BotSettings
|
||||
{
|
||||
[JsonPropertyName("isScavWars")]
|
||||
public bool IsScavWars { get; set; }
|
||||
|
||||
[JsonPropertyName("botAmount")]
|
||||
public BotAmount BotAmount { get; set; }
|
||||
}
|
||||
|
||||
public class WavesSettings
|
||||
{
|
||||
[JsonPropertyName("botAmount")]
|
||||
public BotAmount BotAmount { get; set; }
|
||||
|
||||
[JsonPropertyName("botDifficulty")]
|
||||
public BotDifficulty BotDifficulty { get; set; }
|
||||
|
||||
[JsonPropertyName("isBosses")]
|
||||
public bool IsBosses { get; set; }
|
||||
|
||||
[JsonPropertyName("isTaggedAndCursed")]
|
||||
public bool IsTaggedAndCursed { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class RequestIdRequest
|
||||
{
|
||||
[JsonPropertyName("requestId")]
|
||||
public string RequestId { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class Server
|
||||
{
|
||||
[JsonPropertyName("ping")]
|
||||
public int Ping { get; set; }
|
||||
|
||||
[JsonPropertyName("ip")]
|
||||
public string Ip { get; set; }
|
||||
|
||||
[JsonPropertyName("port")]
|
||||
public int Port { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
using System.Text.Json.Serialization;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class SessionStatus
|
||||
{
|
||||
[JsonPropertyName("profileid")]
|
||||
public string ProfileId { get; set; }
|
||||
|
||||
[JsonPropertyName("profileToken")]
|
||||
public string ProfileToken { get; set; }
|
||||
|
||||
[JsonPropertyName("status")]
|
||||
public string Status { get; set; }
|
||||
|
||||
[JsonPropertyName("ip")]
|
||||
public string Ip { get; set; }
|
||||
|
||||
[JsonPropertyName("port")]
|
||||
public int Port { get; set; }
|
||||
|
||||
[JsonPropertyName("sid")]
|
||||
public string Sid { get; set; }
|
||||
|
||||
[JsonPropertyName("version")]
|
||||
public string? Version { get; set; }
|
||||
|
||||
[JsonPropertyName("location")]
|
||||
public string? Location { get; set; }
|
||||
|
||||
[JsonPropertyName("raidMode")]
|
||||
public string? RaidMode { get; set; }
|
||||
|
||||
[JsonPropertyName("mode")]
|
||||
public string? Mode { get; set; }
|
||||
|
||||
[JsonPropertyName("shortId")]
|
||||
public string? ShortId { get; set; }
|
||||
|
||||
[JsonPropertyName("additional_info")]
|
||||
public List<object>? AdditionalInfo { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Core.Models.Enums;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class StartLocalRaidRequestData
|
||||
{
|
||||
[JsonPropertyName("serverId")]
|
||||
public string ServerId { get; set; }
|
||||
|
||||
[JsonPropertyName("location")]
|
||||
public string Location { get; set; }
|
||||
|
||||
[JsonPropertyName("timeVariant")]
|
||||
public string TimeVariant { get; set; }
|
||||
|
||||
[JsonPropertyName("mode")]
|
||||
public string Mode { get; set; }
|
||||
|
||||
[JsonPropertyName("playerSide")]
|
||||
public string PlayerSide { get; set; }
|
||||
|
||||
[JsonPropertyName("transitionType")]
|
||||
public TransitionType TransitionType { get; set; }
|
||||
|
||||
[JsonPropertyName("transition")]
|
||||
public Transition Transition { get; set; }
|
||||
|
||||
/** Should loot generation be skipped, default false */
|
||||
[JsonPropertyName("sptSkipLootGeneration")]
|
||||
public bool? ShouldSkipLootGeneration { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,48 @@
|
||||
using System.Text.Json.Serialization;
|
||||
using Core.Models.Eft.Common;
|
||||
using Core.Models.Eft.Common.Tables;
|
||||
using Core.Models.Enums;
|
||||
|
||||
namespace Core.Models.Eft.Match;
|
||||
|
||||
public class StartLocalRaidResponseData
|
||||
{
|
||||
[JsonPropertyName("serverId")]
|
||||
public string ServerId { get; set; }
|
||||
|
||||
[JsonPropertyName("serverSettings")]
|
||||
public LocationServices ServerSettings { get; set; }
|
||||
|
||||
[JsonPropertyName("profile")]
|
||||
public ProfileInsuredItems Profile { get; set; }
|
||||
|
||||
[JsonPropertyName("locationLoot")]
|
||||
public LocationBase LocationLoot { get; set; }
|
||||
|
||||
[JsonPropertyName("transitionType")]
|
||||
public TransitionType TransitionType { get; set; }
|
||||
|
||||
[JsonPropertyName("transition")]
|
||||
public Transition Transition { get; set; }
|
||||
}
|
||||
|
||||
public class ProfileInsuredItems
|
||||
{
|
||||
[JsonPropertyName("insuredItems")]
|
||||
public List<InsuredItem> InsuredItems { get; set; }
|
||||
}
|
||||
|
||||
public class Transition
|
||||
{
|
||||
[JsonPropertyName("transitionType")]
|
||||
public TransitionType TransitionType { get; set; }
|
||||
|
||||
[JsonPropertyName("transitionRaidId")]
|
||||
public string TransitionRaidId { get; set; }
|
||||
|
||||
[JsonPropertyName("transitionCount")]
|
||||
public int TransitionCount { get; set; }
|
||||
|
||||
[JsonPropertyName("visitedLocations")]
|
||||
public List<string> VisitedLocations { get; set; }
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
namespace Core.Models.Enums;
|
||||
|
||||
public enum ExitStatus
|
||||
{
|
||||
SURVIVED,
|
||||
KILLED,
|
||||
LEFT,
|
||||
RUNNER,
|
||||
MISSINGINACTION,
|
||||
TRANSIT
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace Core.Models.Enums;
|
||||
|
||||
public enum PlayersSpawnPlace
|
||||
{
|
||||
SAME_PLACE,
|
||||
DIFFERENT_PLACES,
|
||||
AT_THE_ENDS_OF_THE_MAP
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace Core.Models.Enums;
|
||||
|
||||
public enum RaidMode
|
||||
{
|
||||
ONLINE,
|
||||
LOCAL,
|
||||
COOP
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
namespace Core.Models.Enums.RaidSettings;
|
||||
|
||||
public enum BotAmount
|
||||
{
|
||||
AS_ONLINE,
|
||||
NO_BOTS,
|
||||
LOW,
|
||||
MEDIUM,
|
||||
HIGH,
|
||||
HORDE,
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
namespace Core.Models.Enums.RaidSettings;
|
||||
|
||||
public enum BotDifficulty
|
||||
{
|
||||
AS_ONLINE,
|
||||
EASY,
|
||||
MEDIUM,
|
||||
HARD,
|
||||
IMPOSSIBLE,
|
||||
RANDOM,
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
namespace Core.Models.Enums.RaidSettings.TimeAndWeather;
|
||||
|
||||
public enum CloudinessType
|
||||
{
|
||||
CLEAR,
|
||||
PARTLY_CLOUDY,
|
||||
CLOUDY,
|
||||
CLOUDY_WITH_GAPS,
|
||||
HEAVY_CLOUD_COVER,
|
||||
THUNDER_CLOUD
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
namespace Core.Models.Enums.RaidSettings.TimeAndWeather;
|
||||
|
||||
public enum FogType
|
||||
{
|
||||
NO_FOG,
|
||||
FAINT,
|
||||
FOG,
|
||||
HEAVY,
|
||||
CONTINUOUS,
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
namespace Core.Models.Enums.RaidSettings.TimeAndWeather;
|
||||
|
||||
public enum RainType
|
||||
{
|
||||
NO_RAIN,
|
||||
DRIZZLING,
|
||||
RAIN,
|
||||
HEAVY,
|
||||
SHOWER,
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
namespace Core.Models.Enums.RaidSettings.TimeAndWeather;
|
||||
|
||||
public enum TimeFlowType
|
||||
{
|
||||
X0,
|
||||
X0_14,
|
||||
X0_25,
|
||||
X0_5,
|
||||
X1,
|
||||
X2,
|
||||
X4,
|
||||
X8,
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
namespace Core.Models.Enums.RaidSettings.TimeAndWeather;
|
||||
|
||||
public enum WindSpeed
|
||||
{
|
||||
LIGHT,
|
||||
MODERATE,
|
||||
STRONG,
|
||||
VERY_STRONG,
|
||||
HURRICANE,
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace Core.Models.Enums;
|
||||
|
||||
public enum SideType
|
||||
{
|
||||
PMC,
|
||||
SAVAGE,
|
||||
RANDOM
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
namespace Core.Models.Enums;
|
||||
|
||||
public enum TransitionType
|
||||
{
|
||||
NONE = 0,
|
||||
COMMON = 1,
|
||||
EVENT = 2
|
||||
}
|
||||
Reference in New Issue
Block a user