Skip to content
This repository has been archived by the owner on Oct 7, 2019. It is now read-only.

Commit

Permalink
[Covalence] Overhaul a bit of player/server methods
Browse files Browse the repository at this point in the history
GetPosition is now accessible via Position
player.Nickname is now player.Name
player.UniqueID is now player.Id
RunCommand is now accessible via Command
  • Loading branch information
lukespragg committed May 15, 2016
1 parent 9628573 commit af1b26d
Show file tree
Hide file tree
Showing 27 changed files with 272 additions and 272 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public override void OnModLoad()
{
if (!Interface.Oxide.EnableConsole()) return;

Application.RegisterLogCallback(HandleLog);
Application.logMessageReceived += HandleLog;
Interface.Oxide.ServerConsole.Input += ServerConsoleOnInput;

// TODO: Add status information
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,12 @@ public class HideHoldOutLivePlayer : ILivePlayer, IPlayerCharacter
{
#region Information

private readonly ulong steamid;
private readonly ulong steamId;

/// <summary>
/// Gets the base player of this player
/// </summary>
public IPlayer BasePlayer => HideHoldOutCovalenceProvider.Instance.PlayerManager.GetPlayer(steamid.ToString());
public IPlayer BasePlayer => HideHoldOutCovalenceProvider.Instance.PlayerManager.GetPlayer(steamId.ToString());

/// <summary>
/// Gets this player's in-game character, if available
Expand Down Expand Up @@ -50,7 +50,7 @@ public class HideHoldOutLivePlayer : ILivePlayer, IPlayerCharacter
internal HideHoldOutLivePlayer(PlayerInfos player)
{
this.player = player;
steamid = Convert.ToUInt64(player.account_id);
steamId = Convert.ToUInt64(player.account_id);
Character = this;
Object = player.Transfo.gameObject;
}
Expand Down Expand Up @@ -99,7 +99,7 @@ internal HideHoldOutLivePlayer(PlayerInfos player)
/// </summary>
/// <param name="command"></param>
/// <param name="args"></param>
public void RunCommand(string command, params object[] args)
public void Command(string command, params object[] args)
{
// TODO: Is this even possible?
}
Expand All @@ -114,7 +114,7 @@ public void RunCommand(string command, params object[] args)
/// <param name="x"></param>
/// <param name="y"></param>
/// <param name="z"></param>
public void GetPosition(out float x, out float y, out float z)
public void Position(out float x, out float y, out float z)
{
var pos = player.Transfo.position;
x = pos.x;
Expand All @@ -126,7 +126,7 @@ public void GetPosition(out float x, out float y, out float z)
/// Gets the position of this character
/// </summary>
/// <returns></returns>
public GenericPosition GetPosition()
public GenericPosition Position()
{
var pos = player.Transfo.position;
return new GenericPosition(pos.x, pos.y, pos.z);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,32 +12,32 @@ namespace Oxide.Game.HideHoldOut.Libraries.Covalence
public class HideHoldOutPlayer : IPlayer, IEquatable<IPlayer>
{
private static Permission libPerms;
private readonly ulong steamid;
private readonly ulong steamId;

/// <summary>
/// Gets/sets the nickname for this player
/// Gets/sets the name for this player
/// </summary>
public string Nickname { get; set; }
public string Name { get; set; }

/// <summary>
/// Gets a unique ID for this player (unique within the current game)
/// Gets the ID for this player (unique within the current game)
/// </summary>
public string UniqueID { get; }
public string Id { get; }

/// <summary>
/// Gets the live player if this player is connected
/// </summary>
public ILivePlayer ConnectedPlayer => HideHoldOutCovalenceProvider.Instance.PlayerManager.GetOnlinePlayer(UniqueID);
public ILivePlayer ConnectedPlayer => HideHoldOutCovalenceProvider.Instance.PlayerManager.GetOnlinePlayer(Id);

internal HideHoldOutPlayer(ulong steamId, string nickname)
internal HideHoldOutPlayer(ulong id, string name)
{
// Get perms library
if (libPerms == null) libPerms = Interface.Oxide.GetLibrary<Permission>();

// Store user details
Nickname = nickname;
steamid = steamId;
UniqueID = steamId.ToString();
Name = name;
steamId = id;
Id = id.ToString();
}

#region Permissions
Expand All @@ -47,64 +47,64 @@ internal HideHoldOutPlayer(ulong steamId, string nickname)
/// </summary>
/// <param name="perm"></param>
/// <returns></returns>
public bool HasPermission(string perm) => libPerms.UserHasPermission(UniqueID, perm);
public bool HasPermission(string perm) => libPerms.UserHasPermission(Id, perm);

/// <summary>
/// Grants the specified permission on this user
/// </summary>
/// <param name="perm"></param>
public void GrantPermission(string perm) => libPerms.GrantUserPermission(UniqueID, perm, null);
public void GrantPermission(string perm) => libPerms.GrantUserPermission(Id, perm, null);

/// <summary>
/// Strips the specified permission from this user
/// </summary>
/// <param name="perm"></param>
public void RevokePermission(string perm) => libPerms.RevokeUserPermission(UniqueID, perm);
public void RevokePermission(string perm) => libPerms.RevokeUserPermission(Id, perm);

/// <summary>
/// Gets if this player belongs to the specified usergroup
/// </summary>
/// <param name="group"></param>
/// <returns></returns>
public bool BelongsToGroup(string group) => libPerms.UserHasGroup(UniqueID, group);
public bool BelongsToGroup(string group) => libPerms.UserHasGroup(Id, group);

/// <summary>
/// Adds this player to the specified usergroup
/// </summary>
/// <param name="group"></param>
public void AddToGroup(string group) => libPerms.AddUserGroup(UniqueID, group);
public void AddToGroup(string group) => libPerms.AddUserGroup(Id, group);

/// <summary>
/// Removes this player from the specified usergroup
/// </summary>
/// <param name="group"></param>
public void RemoveFromGroup(string group) => libPerms.RemoveUserGroup(UniqueID, group);
public void RemoveFromGroup(string group) => libPerms.RemoveUserGroup(Id, group);

#endregion

#region Administration

public void Ban(string reason, TimeSpan duration) => NetworkController.NetManager_.DBManager.DB_AddBan(UniqueID);
public void Ban(string reason, TimeSpan duration) => NetworkController.NetManager_.DBManager.DB_AddBan(Id);

public void Unban() => NetworkController.NetManager_.DBManager.DB_RemoveBan(UniqueID);
public void Unban() => NetworkController.NetManager_.DBManager.DB_RemoveBan(Id);

public bool IsBanned => NetworkController.NetManager_.DBManager.DB_Check_BAN(UniqueID);
public bool IsBanned => NetworkController.NetManager_.DBManager.DB_Check_BAN(Id);

public TimeSpan BanTimeRemaining => new DateTime(0, 0, 0) - DateTime.Now; // TODO: Implement somehow?

#endregion

#region Chat & Commands
#region Chat and Commands

public void Reply(string message) => ConnectedPlayer.Reply(message);

#endregion

#region Operator Overloads

public bool Equals(IPlayer other) => UniqueID == other.UniqueID;
public bool Equals(IPlayer other) => Id == other.Id;

public override int GetHashCode() => UniqueID.GetHashCode();
public override int GetHashCode() => Id.GetHashCode();

#endregion
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ public class HideHoldOutPlayerManager : IPlayerManager
[ProtoContract(ImplicitFields = ImplicitFields.AllFields)]
private struct PlayerRecord
{
public string Nickname;
public ulong SteamId;
public string Name;
public ulong Id;
}

private IDictionary<string, PlayerRecord> playerData;
Expand All @@ -31,34 +31,34 @@ internal HideHoldOutPlayerManager()
Utility.DatafileToProto<Dictionary<string, PlayerRecord>>("oxide.covalence.playerdata");
playerData = ProtoStorage.Load<Dictionary<string, PlayerRecord>>("oxide.covalence.playerdata") ?? new Dictionary<string, PlayerRecord>();
players = new Dictionary<string, HideHoldOutPlayer>();
foreach (var pair in playerData) players.Add(pair.Key, new HideHoldOutPlayer(pair.Value.SteamId, pair.Value.Nickname));
foreach (var pair in playerData) players.Add(pair.Key, new HideHoldOutPlayer(pair.Value.Id, pair.Value.Name));
livePlayers = new Dictionary<string, HideHoldOutLivePlayer>();
}

private void NotifyPlayerJoin(ulong steamid, string nickname)
{
var uniqueId = steamid.ToString();
var id = steamid.ToString();

// Do they exist?
PlayerRecord record;
if (playerData.TryGetValue(uniqueId, out record))
if (playerData.TryGetValue(id, out record))
{
// Update
record.Nickname = nickname;
playerData[uniqueId] = record;
record.Name = nickname;
playerData[id] = record;

// Swap out Rust player
players.Remove(uniqueId);
players.Add(uniqueId, new HideHoldOutPlayer(steamid, nickname));
players.Remove(id);
players.Add(id, new HideHoldOutPlayer(steamid, nickname));
}
else
{
// Insert
record = new PlayerRecord {SteamId = steamid, Nickname = nickname};
playerData.Add(uniqueId, record);
record = new PlayerRecord {Id = steamid, Name = nickname};
playerData.Add(id, record);

// Create Rust player
players.Add(uniqueId, new HideHoldOutPlayer(steamid, nickname));
players.Add(id, new HideHoldOutPlayer(steamid, nickname));
}

// Save
Expand All @@ -78,12 +78,12 @@ internal void NotifyPlayerConnect(PlayerInfos player)
/// <summary>
/// Gets an offline player using their unique ID
/// </summary>
/// <param name="uniqueId"></param>
/// <param name="id"></param>
/// <returns></returns>
public IPlayer GetPlayer(string uniqueId)
public IPlayer GetPlayer(string id)
{
HideHoldOutPlayer player;
return players.TryGetValue(uniqueId, out player) ? player : null;
return players.TryGetValue(id, out player) ? player : null;
}

/// <summary>
Expand Down Expand Up @@ -126,7 +126,7 @@ public IPlayer GetPlayer(string uniqueId)
/// <returns></returns>
public IEnumerable<IPlayer> FindPlayers(string partialName)
{
return players.Values.Where(p => p.Nickname.IndexOf(partialName, StringComparison.OrdinalIgnoreCase) >= 0).Cast<IPlayer>();
return players.Values.Where(p => p.Name.IndexOf(partialName, StringComparison.OrdinalIgnoreCase) >= 0).Cast<IPlayer>();
}

#endregion
Expand All @@ -136,12 +136,12 @@ public IEnumerable<IPlayer> FindPlayers(string partialName)
/// <summary>
/// Gets an online player given their unique ID
/// </summary>
/// <param name="uniqueID"></param>
/// <param name="id"></param>
/// <returns></returns>
public ILivePlayer GetOnlinePlayer(string uniqueID)
public ILivePlayer GetOnlinePlayer(string id)
{
HideHoldOutLivePlayer player;
return livePlayers.TryGetValue(uniqueID, out player) ? player : null;
return livePlayers.TryGetValue(id, out player) ? player : null;
}

/// <summary>
Expand Down Expand Up @@ -170,7 +170,7 @@ public ILivePlayer GetOnlinePlayer(string uniqueID)
/// <returns></returns>
public IEnumerable<ILivePlayer> FindOnlinePlayers(string partialName)
{
return livePlayers.Values .Where(p => p.BasePlayer.Nickname.IndexOf(partialName, StringComparison.OrdinalIgnoreCase) >= 0).Cast<ILivePlayer>();
return livePlayers.Values .Where(p => p.BasePlayer.Name.IndexOf(partialName, StringComparison.OrdinalIgnoreCase) >= 0).Cast<ILivePlayer>();
}

#endregion
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ public class HideHoldOutServer : IServer
/// </summary>
/// <param name="command"></param>
/// <param name="args"></param>
public void RunCommand(string command, params object[] args)
public void Command(string command, params object[] args)
{
//ConsoleSystem.Run(command);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ public class HurtworldLivePlayer : ILivePlayer, IPlayerCharacter
{
#region Information

private readonly ulong steamid;
private readonly ulong steamId;

/// <summary>
/// Gets the base player of this player
/// </summary>
public IPlayer BasePlayer => HurtworldCovalenceProvider.Instance.PlayerManager.GetPlayer(steamid.ToString());
public IPlayer BasePlayer => HurtworldCovalenceProvider.Instance.PlayerManager.GetPlayer(steamId.ToString());

/// <summary>
/// Gets this player's in-game character, if available
Expand Down Expand Up @@ -48,7 +48,7 @@ public class HurtworldLivePlayer : ILivePlayer, IPlayerCharacter
internal HurtworldLivePlayer(PlayerSession session)
{
this.session = session;
steamid = (ulong)session.SteamId;
steamId = (ulong)session.SteamId;
Character = this;
Object = session.WorldPlayerEntity;
}
Expand All @@ -61,7 +61,7 @@ internal HurtworldLivePlayer(PlayerSession session)
/// Kicks this player from the game
/// </summary>
/// <param name="reason"></param>
public void Kick(string reason) => GameManager.Instance.KickPlayer(steamid.ToString(), reason);
public void Kick(string reason) => GameManager.Instance.KickPlayer(steamId.ToString(), reason);

/// <summary>
/// Causes this player's character to die
Expand Down Expand Up @@ -102,7 +102,7 @@ public void Kill()
/// </summary>
/// <param name="command"></param>
/// <param name="args"></param>
public void RunCommand(string command, params object[] args)
public void Command(string command, params object[] args)
{
// TODO: Not available yet
}
Expand All @@ -117,7 +117,7 @@ public void RunCommand(string command, params object[] args)
/// <param name="x"></param>
/// <param name="y"></param>
/// <param name="z"></param>
public void GetPosition(out float x, out float y, out float z)
public void Position(out float x, out float y, out float z)
{
var pos = session.WorldPlayerEntity.transform.position;
x = pos.x;
Expand All @@ -129,7 +129,7 @@ public void GetPosition(out float x, out float y, out float z)
/// Gets the position of this character
/// </summary>
/// <returns></returns>
public GenericPosition GetPosition()
public GenericPosition Position()
{
var pos = session.WorldPlayerEntity.transform.position;
return new GenericPosition(pos.x, pos.y, pos.z);
Expand Down

0 comments on commit af1b26d

Please sign in to comment.