Skip to content

Commit f65a91f

Browse files
feat: ParsePlayers support player variable names
1 parent 4aa15e5 commit f65a91f

7 files changed

Lines changed: 19 additions & 14 deletions

File tree

Code/ContextSystem/Contexts/Control/Loops/ForeverLoop.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using SER.Code.ContextSystem.Interfaces;
33
using SER.Code.ContextSystem.Structures;
44
using SER.Code.Helpers.ResultSystem;
5-
using SER.Code.Plugin;
65
using SER.Code.TokenSystem.Tokens;
76
using SER.Code.ValueSystem;
87

Code/ContextSystem/Contexts/Control/WaitKeyword.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
using SER.Code.ContextSystem.Structures;
55
using SER.Code.Exceptions;
66
using SER.Code.Extensions;
7-
using SER.Code.Helpers;
87
using SER.Code.Helpers.ResultSystem;
98
using SER.Code.TokenSystem.Tokens;
109
using SER.Code.TokenSystem.Tokens.Interfaces;

Code/FileSystem/FileSystem.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using System.Security;
2-
using LabApi.Features.Console;
1+
using LabApi.Features.Console;
32
using LabApi.Loader.Features.Paths;
43
using SER.Code.Extensions;
54
using SER.Code.Helpers;

Code/MethodSystem/Methods/CustomRoleMethods/CRole_SetCallbacksMethod.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using SER.Code.ArgumentSystem.Arguments;
22
using SER.Code.ArgumentSystem.BaseArguments;
3-
using SER.Code.Extensions;
43
using SER.Code.MethodSystem.BaseMethods.Synchronous;
54
using SER.Code.MethodSystem.Methods.CustomRoleMethods.Structures;
65
using SER.Code.ValueSystem;

Code/MethodSystem/Methods/PlayerValueMethods/ParsePlayersMethod.cs

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
using SER.Code.Extensions;
77
using SER.Code.MethodSystem.BaseMethods.Synchronous;
88
using SER.Code.MethodSystem.Structures;
9+
using SER.Code.TokenSystem.Tokens;
10+
using SER.Code.TokenSystem.Tokens.VariableTokens;
911
using SER.Code.ValueSystem;
1012
using UnityEngine;
1113
using Utils;
@@ -19,8 +21,8 @@ public class ParsePlayersMethod : ReturningMethod<PlayerValue>, IAdditionalDescr
1921

2022
public string AdditionalDescription =>
2123
"Tries to parse using: " +
22-
"nickname, display name, user group, user id, ip address, player id, team, role, room, zone," +
23-
$"{nameof(Room)} reference, {nameof(Item)} reference, {nameof(ReferenceHub)} reference, " +
24+
"player variable name, nickname, display name, user group, user id, ip address, player id, team, role, " +
25+
$"room, zone, {nameof(Room)} reference, {nameof(Item)} reference, {nameof(ReferenceHub)} reference, " +
2426
$"{nameof(GameObject)} reference, {nameof(Transform)} reference.";
2527

2628
public override Argument[] ExpectedArguments { get; } =
@@ -42,7 +44,16 @@ public override void Execute()
4244
{
4345
var stringRep = literalValue.StringRep;
4446

45-
if (Player.ReadyList.Where(p =>
47+
if (BaseToken.TryParse<PlayerVariableToken>(stringRep, Script).WasSuccessful(out var token))
48+
{
49+
if (token.ExactValue.WasSuccessful(out var playerValue))
50+
{
51+
ReturnValue = playerValue;
52+
return;
53+
}
54+
}
55+
56+
if (Player.ReadyList.Where(p =>
4657
p.Nickname == stringRep
4758
|| p.DisplayName == stringRep
4859
|| p.UserGroup?.Name == stringRep
@@ -53,15 +64,15 @@ public override void Execute()
5364
ReturnValue = players.ToPlayerValue();
5465
return;
5566
}
56-
67+
5768
var raParsing = RAUtils
5869
.ProcessPlayerIdOrNamesList(new ArraySegment<string>([stringRep]), 0, out _);
5970
if (raParsing.Any())
6071
{
6172
ReturnValue = Player.Get(raParsing).ToPlayerValue();
6273
return;
6374
}
64-
75+
6576
if (EnumArgument<Team>.Convert(stringRep).WasSuccessful(out var team))
6677
{
6778
ReturnValue = Player.ReadyList.Where(p => p.Team == team).ToPlayerValue();
@@ -135,4 +146,4 @@ public override void Execute()
135146

136147
ReturnValue = new PlayerValue();
137148
}
138-
}
149+
}

Code/MethodSystem/Methods/UCRMethods/UCR_GetPlayersWithRoleMethod.cs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
using LabApi.Features.Wrappers;
2-
using SER.Code.ArgumentSystem.Arguments;
1+
using SER.Code.ArgumentSystem.Arguments;
32
using SER.Code.ArgumentSystem.BaseArguments;
43
using SER.Code.Extensions;
54
using SER.Code.Helpers;

Code/TokenSystem/Tokens/ValueTokens/DurationToken.cs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
using System.Globalization;
2-
using SER.Code.Helpers.ResultSystem;
32
using SER.Code.ScriptSystem;
43
using SER.Code.ValueSystem;
54

0 commit comments

Comments
 (0)