Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 9 additions & 1 deletion XPSystem.Console/App.config
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,15 @@
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="PluginAPI" publicKeyToken="null" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-13.1.2.0" newVersion="13.1.2.0" />
<bindingRedirect oldVersion="0.0.0.0-13.1.5.0" newVersion="13.1.5.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="NorthwoodLib" publicKeyToken="null" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.3.1.0" newVersion="1.3.1.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
Expand Down
46 changes: 23 additions & 23 deletions XPSystem.Console/XPSystem.Console.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -43,45 +43,45 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="Assembly-CSharp, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\EXILED.8.8.1\lib\net48\Assembly-CSharp-Publicized.dll</HintPath>
<HintPath>..\packages\ExMod.Exiled.9.1.1\lib\net48\Assembly-CSharp-Publicized.dll</HintPath>
</Reference>
<Reference Include="CommandSystem.Core, Version=0.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\EXILED.8.8.1\lib\net48\CommandSystem.Core.dll</HintPath>
<HintPath>..\packages\ExMod.Exiled.9.1.1\lib\net48\CommandSystem.Core.dll</HintPath>
</Reference>
<Reference Include="Exiled.API, Version=8.8.1.0, Culture=neutral, processorArchitecture=Amd64">
<HintPath>..\packages\EXILED.8.8.1\lib\net48\Exiled.API.dll</HintPath>
<Reference Include="Exiled.API, Version=9.1.1.0, Culture=neutral, processorArchitecture=Amd64">
<HintPath>..\packages\ExMod.Exiled.9.1.1\lib\net48\Exiled.API.dll</HintPath>
</Reference>
<Reference Include="Exiled.CreditTags, Version=8.8.1.0, Culture=neutral, processorArchitecture=Amd64">
<HintPath>..\packages\EXILED.8.8.1\lib\net48\Exiled.CreditTags.dll</HintPath>
<Reference Include="Exiled.CreditTags, Version=9.1.1.0, Culture=neutral, processorArchitecture=Amd64">
<HintPath>..\packages\ExMod.Exiled.9.1.1\lib\net48\Exiled.CreditTags.dll</HintPath>
</Reference>
<Reference Include="Exiled.CustomItems, Version=8.8.1.0, Culture=neutral, processorArchitecture=Amd64">
<HintPath>..\packages\EXILED.8.8.1\lib\net48\Exiled.CustomItems.dll</HintPath>
<Reference Include="Exiled.CustomItems, Version=9.1.1.0, Culture=neutral, processorArchitecture=Amd64">
<HintPath>..\packages\ExMod.Exiled.9.1.1\lib\net48\Exiled.CustomItems.dll</HintPath>
</Reference>
<Reference Include="Exiled.CustomRoles, Version=8.8.1.0, Culture=neutral, processorArchitecture=Amd64">
<HintPath>..\packages\EXILED.8.8.1\lib\net48\Exiled.CustomRoles.dll</HintPath>
<Reference Include="Exiled.CustomRoles, Version=9.1.1.0, Culture=neutral, processorArchitecture=Amd64">
<HintPath>..\packages\ExMod.Exiled.9.1.1\lib\net48\Exiled.CustomRoles.dll</HintPath>
</Reference>
<Reference Include="Exiled.Events, Version=8.8.1.0, Culture=neutral, processorArchitecture=Amd64">
<HintPath>..\packages\EXILED.8.8.1\lib\net48\Exiled.Events.dll</HintPath>
<Reference Include="Exiled.Events, Version=9.1.1.0, Culture=neutral, processorArchitecture=Amd64">
<HintPath>..\packages\ExMod.Exiled.9.1.1\lib\net48\Exiled.Events.dll</HintPath>
</Reference>
<Reference Include="Exiled.Loader, Version=8.8.1.0, Culture=neutral, processorArchitecture=Amd64">
<HintPath>..\packages\EXILED.8.8.1\lib\net48\Exiled.Loader.dll</HintPath>
<Reference Include="Exiled.Loader, Version=9.1.1.0, Culture=neutral, processorArchitecture=Amd64">
<HintPath>..\packages\ExMod.Exiled.9.1.1\lib\net48\Exiled.Loader.dll</HintPath>
</Reference>
<Reference Include="Exiled.Permissions, Version=8.8.1.0, Culture=neutral, processorArchitecture=Amd64">
<HintPath>..\packages\EXILED.8.8.1\lib\net48\Exiled.Permissions.dll</HintPath>
<Reference Include="Exiled.Permissions, Version=9.1.1.0, Culture=neutral, processorArchitecture=Amd64">
<HintPath>..\packages\ExMod.Exiled.9.1.1\lib\net48\Exiled.Permissions.dll</HintPath>
</Reference>
<Reference Include="NorthwoodLib, Version=1.3.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\EXILED.8.8.1\lib\net48\NorthwoodLib.dll</HintPath>
<Reference Include="NorthwoodLib, Version=1.3.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\ExMod.Exiled.9.1.1\lib\net48\NorthwoodLib.dll</HintPath>
</Reference>
<Reference Include="PluginAPI, Version=13.1.2.0, Culture=neutral, processorArchitecture=Amd64">
<HintPath>..\packages\EXILED.8.8.1\lib\net48\PluginAPI.dll</HintPath>
</Reference>
<Reference Include="YamlDotNet">
<HintPath>..\packages\EXILED.8.8.1\lib\net48\YamlDotNet.dll</HintPath>
<Reference Include="PluginAPI, Version=13.1.5.0, Culture=neutral, processorArchitecture=Amd64">
<HintPath>..\packages\ExMod.Exiled.9.1.1\lib\net48\PluginAPI.dll</HintPath>
</Reference>
<Reference Include="System"/>
<Reference Include="System.Core"/>
<Reference Include="System.Data"/>
<Reference Include="System.Xml"/>
<Reference Include="YamlDotNet, Version=11.0.0.0, Culture=neutral, PublicKeyToken=ec19458f3c15af5e, processorArchitecture=MSIL">
<HintPath>..\packages\ExMod.Exiled.9.1.1\lib\net48\YamlDotNet.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="Program.cs"/>
Expand Down
2 changes: 1 addition & 1 deletion XPSystem.Console/packages.config
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="EXILED" version="8.8.1" targetFramework="net48" />
<package id="ExMod.Exiled" version="9.1.1" targetFramework="net48" />
</packages>
4 changes: 2 additions & 2 deletions XPSystem/API/DisplayProviders/SyncVarXPDisplayProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ protected override void RefreshToEnabled(XPPlayer player)
if (!ShouldEdit(kvp.Value))
continue;

var obj = GetObject(kvp.Value);
TObject obj = GetObject(kvp.Value);
if (obj == null)
continue;

Expand Down Expand Up @@ -82,7 +82,7 @@ protected override void RefreshOfEnabled(XPPlayer player, PlayerInfoWrapper play
if (!ShouldEdit(player))
return;

var obj = GetObject(player, playerInfo, true);
TObject obj = GetObject(player, playerInfo, true);
if (obj == null)
return;

Expand Down
14 changes: 7 additions & 7 deletions XPSystem/API/DisplayProviders/XPDisplayProviderCollection.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ public class XPDisplayProviderCollection : IEnumerable<IXPDisplayProvider>
/// </summary>
public void Refresh()
{
foreach (var provider in _providers)
foreach (IXPDisplayProvider provider in _providers)
provider.RefreshAll();

LogDebug("Refreshed all displays");
Expand All @@ -35,7 +35,7 @@ public void Refresh()
/// <param name="player">The player to refresh the displays for.</param>
public void RefreshTo(XPPlayer player)
{
foreach (var provider in _providers)
foreach (IXPDisplayProvider provider in _providers)
provider.RefreshTo(player);

LogDebug($"Refreshed displays to {player.Nickname}");
Expand All @@ -51,7 +51,7 @@ public void RefreshOf(XPPlayer player, PlayerInfoWrapper playerInfo = null)
{
playerInfo ??= player.GetPlayerInfo();

foreach (var provider in _providers)
foreach (IXPDisplayProvider provider in _providers)
provider.RefreshOf(player, playerInfo);

LogDebug($"Refreshed displays of {player.Nickname}");
Expand All @@ -77,7 +77,7 @@ public void Add(IXPDisplayProvider provider)
/// </summary>
public void DisableAll()
{
foreach (var provider in _providers)
foreach (IXPDisplayProvider provider in _providers)
{
try
{
Expand All @@ -95,7 +95,7 @@ public void DisableAll()
/// </summary>
public void Enable()
{
foreach (var provider in _providers)
foreach (IXPDisplayProvider provider in _providers)
{
if (provider.ConfigPropertyInternal?.Enabled == true)
{
Expand All @@ -117,7 +117,7 @@ public void Enable()
/// <param name="folder">The folder to read and write the configs from.</param>
public void LoadConfigs(string folder)
{
foreach (var provider in Providers)
foreach (IXPDisplayProvider provider in Providers)
{
string name = provider.GetType().Name;
string file = Path.Combine(folder, name + ".yml");
Expand All @@ -136,7 +136,7 @@ public void LoadConfigs(string folder)
}
else
{
var obj = provider.ConfigPropertyInternal;
IXPDisplayProviderConfig obj = provider.ConfigPropertyInternal;

File.WriteAllText(file, XPAPI.Serializer.Serialize(obj));
provider.ConfigPropertyInternal = obj;
Expand Down
2 changes: 1 addition & 1 deletion XPSystem/API/Exceptions/InvalidPlayerIdException.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

public class InvalidPlayerIdException : Exception
{
public InvalidPlayerIdException() : base("The PlayerId for the specified player is invalid! Are you trying to add xp to a the host?")
public InvalidPlayerIdException() : base("The PlayerId for the specified player is invalid! Are you trying to modify the xp for the host?")
{
}
}
Expand Down
2 changes: 1 addition & 1 deletion XPSystem/API/Legacy/LiteDBMigrator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public static int ImportLegacyDB(LiteDatabase db)
int count = 0;
int total = collection.Count();

foreach (var log in collection.FindAll())
foreach (PlayerLog log in collection.FindAll())
{
if (!log.ID.TryParseUserId(out var id))
{
Expand Down
6 changes: 3 additions & 3 deletions XPSystem/API/StorageProviders/IStorageProvider.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,11 @@ public interface IStorageProvider
{
void Initialize();
void Dispose();
bool TryGetPlayerInfo(PlayerId playerId, out PlayerInfoWrapper playerInfo);
PlayerInfoWrapper GetPlayerInfoAndCreateOfNotExist(PlayerId playerId);
bool TryGetPlayerInfo(IPlayerId playerId, out PlayerInfoWrapper playerInfo);
PlayerInfoWrapper GetPlayerInfoAndCreateOfNotExist(IPlayerId playerId);
IEnumerable<PlayerInfoWrapper> GetTopPlayers(int count);
void SetPlayerInfo(PlayerInfoWrapper playerInfo);
bool DeletePlayerInfo(PlayerId playerId);
bool DeletePlayerInfo(IPlayerId playerId);
void DeleteAllPlayerInfo();
}
}
25 changes: 25 additions & 0 deletions XPSystem/API/StorageProviders/Models/IPlayerId.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
namespace XPSystem.API.StorageProviders.Models
{
using XPSystem.API.Enums;

/// <summary>
/// Represents a player identifier.
/// </summary>
public interface IPlayerId
{
/// <summary>
/// The <see cref="AuthType"/>-specific identifier of the player.
/// </summary>
public object Id { get; }

/// <summary>
/// The <see cref="XPSystem.API.Enums.AuthType"/> of the <see cref="IPlayerId"/>.
/// </summary>
public AuthType AuthType { get; }

/// <summary>
/// Returns Id@AuthType.
/// </summary>
public string ToString();
}
}
29 changes: 29 additions & 0 deletions XPSystem/API/StorageProviders/Models/NumberPlayerId.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
namespace XPSystem.API.StorageProviders.Models
{
using XPSystem.API.Enums;

/// <summary>
/// Represents an identifier that uses numbers (ex. SteamIds).
/// </summary>
public class NumberPlayerId : IPlayerId
{
/// <summary>
/// The identifier of the player, in number form.
/// </summary>
public readonly ulong IdNumber;

/// <inheritdoc />
public object Id => IdNumber;
/// <inheritdoc />
public AuthType AuthType { get; }

/// <inheritdoc cref="IPlayerId.ToString" />
public override string ToString() => $"{Id}@{AuthType.ToString().ToLower()}";

public NumberPlayerId(ulong id, AuthType authType)
{
IdNumber = id;
AuthType = authType;
}
}
}
32 changes: 0 additions & 32 deletions XPSystem/API/StorageProviders/Models/PlayerId.cs

This file was deleted.

2 changes: 1 addition & 1 deletion XPSystem/API/StorageProviders/Models/PlayerInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
/// </summary>
public class PlayerInfo
{
public PlayerId Player { get; set; }
public IPlayerId Player { get; set; }
public int XP { get; set; }
#if STORENICKS
public string Nickname { get; set; }
Expand Down
29 changes: 29 additions & 0 deletions XPSystem/API/StorageProviders/Models/StringPlayerId.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
namespace XPSystem.API.StorageProviders.Models
{
using XPSystem.API.Enums;

/// <summary>
/// Represents an identifier that uses strings (ex. NorthwoodIds).
/// </summary>
public class StringPlayerId : IPlayerId
{
/// <summary>
/// The identifier of the player, in string form.
/// </summary>
public readonly string IdString;

/// <inheritdoc />
public object Id => IdString;
/// <inheritdoc />
public AuthType AuthType { get; }

/// <inheritdoc cref="IPlayerId.ToString" />
public override string ToString() => $"{Id}@{AuthType.ToString().ToLower()}";

public StringPlayerId(string id, AuthType authType)
{
IdString = id;
AuthType = authType;
}
}
}
4 changes: 2 additions & 2 deletions XPSystem/API/StorageProviders/PlayerInfoWrapper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ public class PlayerInfoWrapper
public readonly PlayerInfo PlayerInfo;

/// <summary>
/// Gets the <see cref="PlayerId"/> of the player the <see cref="PlayerInfo"/> belongs to.
/// Gets the <see cref="IPlayerId"/> of the player the <see cref="PlayerInfo"/> belongs to.
/// </summary>
public PlayerId Player => PlayerInfo.Player;
public IPlayerId Player => PlayerInfo.Player;

/// <summary>
/// Gets the stored nickname of the player.
Expand Down
Loading
Loading