Skip to content

Commit

Permalink
Minor fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
leonardosnt committed Aug 17, 2016
1 parent f15bb62 commit 11234c1
Show file tree
Hide file tree
Showing 12 changed files with 56 additions and 59 deletions.
11 changes: 5 additions & 6 deletions src/Api/Command/ICommandArgs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
*/

using Essentials.Api.Unturned;
using UnityEngine;

namespace Essentials.Api.Command {

Expand All @@ -39,7 +38,7 @@ public interface ICommandArgs {
ICommandArgument[] Arguments { get; }

/// <summary>
/// Get and argument at given index.
/// Get an argument at given index.
/// </summary>
/// <param name="argIndex"></param>
/// <returns></returns>
Expand All @@ -52,7 +51,7 @@ public interface ICommandArgs {

/// <summary>
/// </summary>
/// <returns>Return is arguments are empty</returns>>
/// <returns>Return if arguments are empty</returns>>
bool IsEmpty { get; }

/// <summary>
Expand Down Expand Up @@ -86,10 +85,10 @@ public interface ICommandArgument {
bool IsString { get; }

/// <summary>
/// Check if argument in determined index is an valid player name.
/// Check if argument is an valid player name / steam 64 id.
/// </summary>
/// <returns> Return is argument is an valid player name</returns>
bool IsValidPlayerName { get; }
/// <returns> Return if argument is an valid player name / steam 64 id.</returns>
bool IsValidPlayerIdentifier { get; }

bool IsLong { get; }

Expand Down
8 changes: 0 additions & 8 deletions src/Api/Unturned/UPlayer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -302,14 +302,6 @@ public static UPlayer From(Player player) {
: From(player.SteamChannel.SteamPlayer.SteamPlayerID.CSteamID.m_SteamID);
}

/// <summary>
/// Character name has more priority than steam name.
///
/// Order: Equals > Starts With > Contains
/// </summary>
/// <param name="name"></param>
/// <param name="ignoreCase"></param>
/// <returns></returns>
public static UPlayer From(string name, bool ignoreCase = true) {
/*
- equals > startwith > contains
Expand Down
2 changes: 1 addition & 1 deletion src/Commands/CommandExperience.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public override CommandResult OnExecute(ICommandSource src, ICommandArgs args) {
} else {
EssLang.Send(src, "EXPERIENCE_TAKE", -amount, EssLang.Translate("EVERYONE"));
}
} else if (!args[1].IsValidPlayerName) {
} else if (!args[1].IsValidPlayerIdentifier) {
return CommandResult.Lang("PLAYER_NOT_FOUND", args[1]);
} else {
var player = args[1].ToPlayer;
Expand Down
2 changes: 1 addition & 1 deletion src/Commands/CommandKill.cs
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ public override CommandResult OnExecute(ICommandSource src, ICommandArgs args) {
return CommandResult.Success();
}

if (!args[0].IsValidPlayerName) {
if (!args[0].IsValidPlayerIdentifier) {
return CommandResult.Lang("PLAYER_NOT_FOUND", args[0]);
}

Expand Down
5 changes: 3 additions & 2 deletions src/Commands/CommandSpawnVehicle.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,14 @@ public class CommandSpawnVehicle : EssCommand {

public override CommandResult OnExecute(ICommandSource src, ICommandArgs args) {
if (args.Length == 2) {
var target = UPlayer.From(args[1].ToString());
var vehId = args[0];

if (target == null) {
if (!args[1].IsValidPlayerIdentifier) {
return CommandResult.Lang("PLAYER_NOT_FOUND", args[1]);
}

var target = args[1].ToPlayer;

if (!vehId.IsUShort || !IsValidVehicleId(vehId.ToUShort)) {
EssLang.Send(src, "INVALID_VEHICLE_ID", vehId);
} else {
Expand Down
2 changes: 1 addition & 1 deletion src/Commands/CommandSudo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public override CommandResult OnExecute(ICommandSource src, ICommandArgs args) {

name = "Everyone";
} else {
if (!args[0].IsValidPlayerName) {
if (!args[0].IsValidPlayerIdentifier) {
return CommandResult.Lang("PLAYER_NOT_FOUND", args[0]);
}

Expand Down
2 changes: 1 addition & 1 deletion src/Commands/CommandTellRaw.cs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ public override CommandResult OnExecute(ICommandSource src, ICommandArgs args) {
if (args[0].Equals("*console*")) {
UEssentials.ConsoleSource.SendMessage(msg, color);
} else {
if (!args[0].IsValidPlayerName) {
if (!args[0].IsValidPlayerIdentifier) {
return CommandResult.Lang("PLAYER_NOT_FOUND", args[0]);
}
args[0].ToPlayer.SendMessage(msg, color);
Expand Down
11 changes: 5 additions & 6 deletions src/Commands/CommandTp.cs
Original file line number Diff line number Diff line change
Expand Up @@ -66,12 +66,12 @@ public override CommandResult OnExecute(ICommandSource src, ICommandArgs args) {
/tp player place -> teleport player to place
*/
case 2: {
var target = UPlayer.From(args[0].ToString());

if (target == null) {
if (!args[0].IsValidPlayerIdentifier) {
return CommandResult.Lang("PLAYER_NOT_FOUND", args[0]);
}

var target = args[0].ToPlayer;

bool dataFound;
Vector3 dataPosition;
string dataName;
Expand Down Expand Up @@ -106,12 +106,11 @@ public override CommandResult OnExecute(ICommandSource src, ICommandArgs args) {
/tp player x y z -> player to x, y, z
*/
case 4: {
var target = UPlayer.From(args[0].ToString());

if (target == null) {
if (!args[0].IsValidPlayerIdentifier) {
return CommandResult.Lang("PLAYER_NOT_FOUND", args[0]);
}

var target = args[0].ToPlayer;
var location = args.GetVector3(1);

if (location.HasValue) {
Expand Down
2 changes: 1 addition & 1 deletion src/Commands/CommandTpa.cs
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ public override CommandResult OnExecute(ICommandSource src, ICommandArgs args) {
return CommandResult.NoPermission($"{Permission}.send");
}

if (!args[0].IsValidPlayerName) {
if (!args[0].IsValidPlayerIdentifier) {
return CommandResult.Lang("PLAYER_NOT_FOUND", args[0]);
}

Expand Down
12 changes: 4 additions & 8 deletions src/Commands/CommandUnfreeze.cs
Original file line number Diff line number Diff line change
Expand Up @@ -41,17 +41,12 @@ public override CommandResult OnExecute(ICommandSource src, ICommandArgs args) {
if (args[0].Equals("*")) {
foreach (var player in UServer.Players.Where(player => player.HasComponent<FrozenPlayer>())) {
player.RemoveComponent<FrozenPlayer>();

EssLang.Send(player, "UNFROZEN_PLAYER", src.DisplayName);
}

EssLang.Send(src, "UNFROZEN_ALL");
} else {
var target = UPlayer.From(args[0].ToString());

if (target == null) {
return CommandResult.Lang("PLAYER_NOT_FOUND", args[0]);
}
} else if (args[0].IsValidPlayerIdentifier) {
var target = args[0].ToPlayer;

if (!target.HasComponent<FrozenPlayer>()) {
return CommandResult.Lang("NOT_FROZEN", target.DisplayName);
Expand All @@ -60,8 +55,9 @@ public override CommandResult OnExecute(ICommandSource src, ICommandArgs args) {

EssLang.Send(src, "UNFROZEN_SENDER", target.DisplayName);
EssLang.Send(target, "UNFROZEN_PLAYER", src.DisplayName);
} else {
return CommandResult.Lang("PLAYER_NOT_FOUND", args[0]);
}

return CommandResult.Success();
}

Expand Down
12 changes: 6 additions & 6 deletions src/Commands/MiscCommands.cs
Original file line number Diff line number Diff line change
Expand Up @@ -254,10 +254,10 @@ private CommandResult ItemCommand(ICommandSource src, ICommandArgs args, IComman
GiveItem(src, src.ToPlayer(), args[0], args[1]);
} else if (args[0].Equals("*")) {
GiveItem(src, null, args[1], One, true);
} else if (!args[0].IsValidPlayerName) {
} else if (!args[0].IsValidPlayerIdentifier) {
return CommandResult.Lang("PLAYER_NOT_FOUND", args[0]);
} else {
GiveItem(src, UPlayer.From(args[0].ToString()), args[1], One);
GiveItem(src, args[0].ToPlayer, args[1], One);
}
break;

Expand All @@ -268,10 +268,10 @@ private CommandResult ItemCommand(ICommandSource src, ICommandArgs args, IComman
case 3:
if (args[0].Equals("*")) {
GiveItem(src, null, args[1], args[2], true);
} else if (!args[0].IsValidPlayerName) {
} else if (!args[0].IsValidPlayerIdentifier) {
return CommandResult.Lang("PLAYER_NOT_FOUND", args[0]);
} else {
GiveItem(src, UPlayer.From(args[0].ToString()), args[1], args[2]);
GiveItem(src, args[0].ToPlayer, args[1], args[2]);
}
break;

Expand Down Expand Up @@ -659,7 +659,7 @@ private CommandResult VehicleCommand(ICommandSource src, ICommandArgs args, ICom
});

EssLang.Send(src, "GIVEN_VEHICLE_ALL", vehAsset.Name, vehAsset.Id);
} else if (!args[0].IsValidPlayerName) {
} else if (!args[0].IsValidPlayerIdentifier) {
return CommandResult.Lang("PLAYER_NOT_FOUND", args[0]);
} else {
var target = args[0].ToPlayer;
Expand Down Expand Up @@ -751,7 +751,7 @@ private CommandResult SkillCommand(ICommandSource src, ICommandArgs args) {

player = UServer.Players.First();
} else {
if (!args[0].IsValidPlayerName) {
if (!args[0].IsValidPlayerIdentifier) {
return CommandResult.Lang("PLAYER_NOT_FOUND");
}

Expand Down
46 changes: 28 additions & 18 deletions src/Core/Command/CommandArgs.cs
Original file line number Diff line number Diff line change
Expand Up @@ -19,11 +19,9 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/

using System;
using System.Linq;
using Essentials.Api.Command;
using Essentials.Api.Unturned;
using UnityEngine;

namespace Essentials.Core.Command {

Expand Down Expand Up @@ -120,15 +118,15 @@ public string Join(int startIndex, int endIndex, string separator) {
///</summary>
internal class CommandArgument : ICommandArgument {

public int Index { get; }

public string RawValue { get; }

public CommandArgument(int index, string rawValue) {
internal CommandArgument(int index, string rawValue) {
Index = index;
RawValue = rawValue;
}

public int Index { get; }

public string RawValue { get; }

public ulong ToULong => ulong.Parse(RawValue);

public long ToLong => long.Parse(RawValue);
Expand All @@ -141,8 +139,6 @@ public CommandArgument(int index, string rawValue) {

public float ToFloat => float.Parse(RawValue);

public UPlayer ToPlayer => UPlayer.From(RawValue);

public string ToLowerString => ToString().ToLowerInvariant();

public string ToUpperString => ToString().ToUpperInvariant();
Expand All @@ -153,6 +149,19 @@ public CommandArgument(int index, string rawValue) {

public ushort ToUShort => ushort.Parse(RawValue);

public UPlayer ToPlayer {
get {
ulong id;
if (ulong.TryParse(RawValue, out id)) {
var player = UPlayer.From(id);
if (player != null) {
return player;
}
}
return UPlayer.From(RawValue);
}
}

public bool IsBool {
get {
bool unused;
Expand All @@ -167,8 +176,16 @@ public bool IsString {
}
}

public bool IsValidPlayerName {
get { return UPlayer.From(RawValue) != null; }
public bool IsValidPlayerIdentifier {
get {
// Steam 64 id
ulong id;
if (ulong.TryParse(RawValue, out id)) {
return UPlayer.From(id) != null;
}
// Player name
return UPlayer.From(RawValue) != null;
}
}

public bool IsLong {
Expand Down Expand Up @@ -227,13 +244,6 @@ public bool IsUShort {
}
}

public bool Is(UPlayer other) {
if (!IsValidPlayerName)
return false;

return ToPlayer == other;
}

public override string ToString() {
return RawValue;
}
Expand Down

0 comments on commit 11234c1

Please sign in to comment.