fix default group id
This commit is contained in:
@@ -1,8 +1,10 @@
|
|||||||
using Torch;
|
using Torch;
|
||||||
|
using Torch.Views;
|
||||||
|
|
||||||
namespace LightPerms;
|
namespace LightPerms;
|
||||||
|
|
||||||
public class Config : ViewModel
|
public class Config : ViewModel
|
||||||
{
|
{
|
||||||
|
[Display(Name = "Default Group Name", Description = "All new players will join this group.")]
|
||||||
|
public string DefaultGroupName { get; set; } = "player";
|
||||||
}
|
}
|
||||||
|
@@ -5,13 +5,16 @@ namespace LightPerms;
|
|||||||
|
|
||||||
public class MultiplayerMembersManager : Manager
|
public class MultiplayerMembersManager : Manager
|
||||||
{
|
{
|
||||||
|
private readonly Config _config;
|
||||||
|
|
||||||
[Dependency]
|
[Dependency]
|
||||||
private readonly IPermissionsManager _permissionsManager = null!;
|
private readonly IPermissionsManager _permissionsManager = null!;
|
||||||
[Dependency]
|
[Dependency]
|
||||||
private readonly IMultiplayerManagerServer _multiplayerManager = null!;
|
private readonly IMultiplayerManagerServer _multiplayerManager = null!;
|
||||||
|
|
||||||
public MultiplayerMembersManager(ITorchBase torchInstance) : base(torchInstance)
|
public MultiplayerMembersManager(ITorchBase torchInstance, Config config) : base(torchInstance)
|
||||||
{
|
{
|
||||||
|
_config = config;
|
||||||
}
|
}
|
||||||
|
|
||||||
public override void Attach()
|
public override void Attach()
|
||||||
@@ -25,11 +28,13 @@ public class MultiplayerMembersManager : Manager
|
|||||||
if (_permissionsManager.Db.Exists<GroupMember>("client_id = @0", player.SteamId))
|
if (_permissionsManager.Db.Exists<GroupMember>("client_id = @0", player.SteamId))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
var defaultGroup = _permissionsManager.GetGroup(_config.DefaultGroupName) ?? throw new ArgumentException("Default group does not exist or name was supplied incorrectly");
|
||||||
|
|
||||||
var groupMember = new GroupMember
|
var groupMember = new GroupMember
|
||||||
{
|
{
|
||||||
Name = player.Name,
|
Name = player.Name,
|
||||||
ClientId = player.SteamId.ToString(),
|
ClientId = player.SteamId.ToString(),
|
||||||
GroupUid = 0
|
GroupUid = defaultGroup.Uid
|
||||||
};
|
};
|
||||||
|
|
||||||
_permissionsManager.Db.Insert(groupMember);
|
_permissionsManager.Db.Insert(groupMember);
|
||||||
|
@@ -21,7 +21,7 @@ public class Plugin : TorchPluginBase, IWpfPlugin
|
|||||||
_config = new(Path.Combine(StoragePath, "LightPerms.cfg"));
|
_config = new(Path.Combine(StoragePath, "LightPerms.cfg"));
|
||||||
Torch.Managers.AddManager(DbManager.Static);
|
Torch.Managers.AddManager(DbManager.Static);
|
||||||
Torch.Managers.AddManager(new PermissionsManager(Torch));
|
Torch.Managers.AddManager(new PermissionsManager(Torch));
|
||||||
Torch.Managers.GetManager<ITorchSessionManager>().AddFactory(s => new MultiplayerMembersManager(s.Torch));
|
Torch.Managers.GetManager<ITorchSessionManager>().AddFactory(s => new MultiplayerMembersManager(s.Torch, _config.Data));
|
||||||
}
|
}
|
||||||
|
|
||||||
public UserControl GetControl() => new PropertyGrid
|
public UserControl GetControl() => new PropertyGrid
|
||||||
|
Reference in New Issue
Block a user