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

Commit

Permalink
Code cleanup, add PlayerUtil class
Browse files Browse the repository at this point in the history
  • Loading branch information
Trojaner committed Jul 29, 2015
1 parent 11245f1 commit 38bcdcc
Show file tree
Hide file tree
Showing 16 changed files with 114 additions and 93 deletions.
Binary file modified Libs/Assembly-CSharp-firstpass.dll
Binary file not shown.
Binary file modified Libs/Assembly-CSharp.dll
Binary file not shown.
Binary file modified Libs/Rocket.API.dll
Binary file not shown.
Binary file modified Libs/Rocket.Core.dll
Binary file not shown.
Binary file modified Libs/Rocket.Unturned.dll
Binary file not shown.
Binary file modified Libs/UnityEngine.dll
Binary file not shown.
3 changes: 2 additions & 1 deletion Rocket_Safezone/Commands/CoordsCommand.cs
@@ -1,6 +1,7 @@
using System.Collections.Generic;
using Rocket.API;
using Rocket.Unturned.Chat;
using Safezone.Util;
using UnityEngine;

namespace Safezone.Commands
Expand All @@ -9,7 +10,7 @@ public class CoordsCommand : IRocketCommand
{
public void Execute(IRocketPlayer caller, string[] command)
{
var player = SafeZonePlugin.GetUnturnedPlayer(caller);
var player = PlayerUtil.GetUnturnedPlayer(caller);
Vector3 pos = player.Position;
UnturnedChat.Say(caller, "Position: X: " + pos.x + ", Y: " + pos.y + ", Z: " + pos.z + " - Rotation: " + player.Rotation, Color.green);
}
Expand Down
6 changes: 4 additions & 2 deletions Rocket_Safezone/Commands/Pos1Command.cs
Expand Up @@ -3,17 +3,19 @@
using Rocket.API;
using Rocket.Unturned.Chat;
using Safezone.Model;
using Safezone.Model.Safezone.Type;
using Safezone.Util;

namespace Safezone.Commands
{
public class Pos1Command : IRocketCommand
{
public void Execute(IRocketPlayer caller, string[] command)
{
var rawpos = SafeZonePlugin.GetUnturnedPlayer(caller).Position;
var rawpos = PlayerUtil.GetUnturnedPlayer(caller).Position;
SerializablePosition pos = new SerializablePosition(rawpos);
UnturnedChat.Say(caller, "First position set to: X:" + pos.X + ", Z: " + pos.Y);
SafeZonePlugin.Instance.SetPosition1(caller, pos);
RectangleType.SetPosition1(caller, pos);
}

public bool AllowFromConsole
Expand Down
6 changes: 4 additions & 2 deletions Rocket_Safezone/Commands/Pos2Command.cs
Expand Up @@ -2,17 +2,19 @@
using Rocket.API;
using Rocket.Unturned.Chat;
using Safezone.Model;
using Safezone.Model.Safezone.Type;
using Safezone.Util;

namespace Safezone.Commands
{
public class Pos2Command : IRocketCommand
{
public void Execute(IRocketPlayer caller, string[] command)
{
var rawpos = SafeZonePlugin.GetUnturnedPlayer(caller).Position;
var rawpos = PlayerUtil.GetUnturnedPlayer(caller).Position;
SerializablePosition pos = new SerializablePosition(rawpos);
UnturnedChat.Say(caller, "Second position set to: X:" + pos.X + ", Z: " + pos.Y);
SafeZonePlugin.Instance.SetPosition2(caller, pos);
RectangleType.SetPosition2(caller, pos);
}

public bool AllowFromConsole
Expand Down
2 changes: 1 addition & 1 deletion Rocket_Safezone/Commands/RedefineCommand.cs
Expand Up @@ -38,7 +38,7 @@ public void Execute(IRocketPlayer caller, string[] command)
ArrayList args = new ArrayList(command);
args.RemoveAt(0);

if (zone.Type.OnRedefine(SafeZonePlugin.GetUnturnedPlayer(caller), (string[]) args.ToArray(typeof (string))))
if (zone.Type.OnRedefine(PlayerUtil.GetUnturnedPlayer(caller), (string[])args.ToArray(typeof(string))))
{
SafeZonePlugin.Instance.Configuration.Instance.SafeZones.Remove(zone);
SafeZonePlugin.Instance.Configuration.Save();
Expand Down
2 changes: 1 addition & 1 deletion Rocket_Safezone/Model/Safezone/SafeZone.cs
Expand Up @@ -85,7 +85,7 @@ public bool IsOwner(IRocketPlayer player)
{
return true;
}
return IsOwner(SafeZonePlugin.GetId(player));
return IsOwner(PlayerUtil.GetId(player));
}

public bool IsOwner(uint id)
Expand Down
7 changes: 4 additions & 3 deletions Rocket_Safezone/Model/Safezone/Type/CircleType.cs
Expand Up @@ -2,6 +2,7 @@
using Rocket.API;
using Rocket.Unturned.Chat;
using Rocket.Unturned.Commands;
using Safezone.Util;
using UnityEngine;

namespace Safezone.Model.Safezone.Type
Expand All @@ -13,7 +14,7 @@ public class CircleType : SafeZoneType

public override SafeZone OnCreate(IRocketPlayer player, string name, string[] args)
{
var pos = SafeZonePlugin.GetUnturnedPlayer(player).Position;
var pos = PlayerUtil.GetUnturnedPlayer(player).Position;
Radius = args.GetInt32Parameter(0);
if (Radius == null)
{
Expand All @@ -26,7 +27,7 @@ public override SafeZone OnCreate(IRocketPlayer player, string name, string[] ar
SafeZone zone = new SafeZone
{
Name = name,
Owner = SafeZonePlugin.GetId(player),
Owner = PlayerUtil.GetId(player),
Type = this
};

Expand All @@ -50,7 +51,7 @@ public override bool IsInSafeZone(SerializablePosition p)

public override bool OnRedefine(IRocketPlayer player, string[] args)
{
var pos = SafeZonePlugin.GetUnturnedPlayer(player).Position;
var pos = PlayerUtil.GetUnturnedPlayer(player).Position;
if (args.Length < 1)
{
UnturnedChat.Say(player, "Usage: /sredefine <name> circle <radius>", Color.red);
Expand Down
53 changes: 46 additions & 7 deletions Rocket_Safezone/Model/Safezone/Type/RectangleType.cs
@@ -1,6 +1,8 @@
using System;
using System.Collections.Generic;
using Rocket.API;
using Rocket.Unturned.Chat;
using Safezone.Util;
using UnityEngine;

namespace Safezone.Model.Safezone.Type
Expand All @@ -9,21 +11,23 @@ public class RectangleType : SafeZoneType
{
public SerializablePosition Position1;
public SerializablePosition Position2;
private static readonly Dictionary<uint, SerializablePosition> FirstPositions = new Dictionary<uint, SerializablePosition>();
private static readonly Dictionary<uint, SerializablePosition> SecondsPositions = new Dictionary<uint, SerializablePosition>();

public override SafeZone OnCreate(IRocketPlayer player, String name, string[] args)
{
if (!SafeZonePlugin.Instance.HasPositionSet(player))
if (!HasPositionSet(player))
{
UnturnedChat.Say(player, "Please set pos1 (/spos1) and pos2 (/spos2) before using this command", Color.red);
return null;
}

Position1 = SafeZonePlugin.Instance.GetPosition1(player);
Position2 = SafeZonePlugin.Instance.GetPosition2(player);
Position1 = GetPosition1(player);
Position2 = GetPosition2(player);
SafeZone zone = new SafeZone
{
Name = name,
Owner = SafeZonePlugin.GetId(player),
Owner = PlayerUtil.GetId(player),
Type = this
};

Expand Down Expand Up @@ -94,15 +98,50 @@ public override bool IsInSafeZone(SerializablePosition p)

public override bool OnRedefine(IRocketPlayer player, string[] args)
{
if (!SafeZonePlugin.Instance.HasPositionSet(player))
if (!HasPositionSet(player))
{
UnturnedChat.Say(player, "Please set pos1 (/spos1) and pos2 (/spos2) before using this command", Color.red);
return false;
}

Position1 = SafeZonePlugin.Instance.GetPosition1(player);
Position2 = SafeZonePlugin.Instance.GetPosition2(player);
Position1 = GetPosition1(player);
Position2 = GetPosition2(player);
return true;
}

public static void SetPosition1(IRocketPlayer player, SerializablePosition pos)
{
if (FirstPositions.ContainsKey(PlayerUtil.GetId(player)))
{
FirstPositions[PlayerUtil.GetId(player)] = pos;
return;
}
FirstPositions.Add(PlayerUtil.GetId(player), pos);
}

public static void SetPosition2(IRocketPlayer player, SerializablePosition pos)
{
if (SecondsPositions.ContainsKey(PlayerUtil.GetId(player)))
{
SecondsPositions[PlayerUtil.GetId(player)] = pos;
return;
}
SecondsPositions.Add(PlayerUtil.GetId(player), pos);
}

public static bool HasPositionSet(IRocketPlayer player)
{
return FirstPositions.ContainsKey(PlayerUtil.GetId(player)) && SecondsPositions.ContainsKey(PlayerUtil.GetId(player));
}

public static SerializablePosition GetPosition1(IRocketPlayer caller)
{
return FirstPositions[PlayerUtil.GetId(caller)];
}

public static SerializablePosition GetPosition2(IRocketPlayer caller)
{
return SecondsPositions[PlayerUtil.GetId(caller)];
}
}
}
87 changes: 11 additions & 76 deletions Rocket_Safezone/SafeZonePlugin.cs
Expand Up @@ -13,6 +13,7 @@
using Safezone.Model.Flag;
using Safezone.Model.Safezone;
using Safezone.Model.Safezone.Type;
using Safezone.Util;
using SDG.Unturned;
using Steamworks;
using UnityEngine;
Expand Down Expand Up @@ -119,7 +120,7 @@ protected override void Unload()

private void OnPlayerConnect(IRocketPlayer player)
{
var untPlayer = GetUnturnedPlayer(player);
var untPlayer = PlayerUtil.GetUnturnedPlayer(player);

if (!player.HasPermission("info"))
{
Expand All @@ -135,8 +136,8 @@ private void OnPlayerConnect(IRocketPlayer player)

private void OnPlayerDisconnect(IRocketPlayer player)
{
if (!_safeZonePlayers.ContainsKey(GetId(player))) return;
OnPlayerLeftSafeZone(player, _safeZonePlayers[GetId(player)], false);
if (!_safeZonePlayers.ContainsKey(PlayerUtil.GetId(player))) return;
OnPlayerLeftSafeZone(player, _safeZonePlayers[PlayerUtil.GetId(player)], false);
}

private void OnPlayerUpdatePosition(IRocketPlayer player, Vector3 position)
Expand All @@ -147,8 +148,8 @@ private void OnPlayerUpdatePosition(IRocketPlayer player, Vector3 position)
throw new NotSupportedException();
}

uint id = GetId(player);
var untPlayer = GetUnturnedPlayer(player);
uint id = PlayerUtil.GetId(player);
var untPlayer = PlayerUtil.GetUnturnedPlayer(player);

SafeZone safeZone = GetSafeZoneAt(position);
bool bIsInSafeZone = safeZone != null;
Expand Down Expand Up @@ -214,7 +215,7 @@ private void OnPlayerUpdatePosition(IRocketPlayer player, Vector3 position)
byte seat = 0;
foreach (Passenger p in untPlayer.Player.Movement.getVehicle().passengers)
{
if (GetId(p.player) == id)
if (PlayerUtil.GetId(p.player) == id)
{
break;
}
Expand All @@ -227,7 +228,7 @@ private void OnPlayerUpdatePosition(IRocketPlayer player, Vector3 position)

private void OnPlayerEnteredSafeZone(IRocketPlayer player, SafeZone safeZone, bool bSendMessage)
{
uint id = GetId(player);
uint id = PlayerUtil.GetId(player);
if (safeZone.GetFlag(typeof (GodmodeFlag)).GetValue<bool>())
{
EnableGodMode(player);
Expand All @@ -243,7 +244,7 @@ private void OnPlayerEnteredSafeZone(IRocketPlayer player, SafeZone safeZone, bo

internal void OnPlayerLeftSafeZone(IRocketPlayer player, SafeZone safeZone, bool bSendMessage)
{
uint id = GetId(player);
uint id = PlayerUtil.GetId(player);

if (safeZone.GetFlag(typeof (GodmodeFlag)).GetValue<bool>())
{
Expand All @@ -263,7 +264,7 @@ private void EnableGodMode(IRocketPlayer player)
{
throw new NotSupportedException();
}
uint id = GetId(player);
uint id = PlayerUtil.GetId(player);
var unturnedPlayer = (UnturnedPlayer) player;
//Safe current godmode state and restore it later when the player leaves the safezone
//this is for e.g. players who enter with /god safezones
Expand All @@ -277,7 +278,7 @@ private void DisableGodMode(IRocketPlayer player)
{
throw new NotSupportedException();
}
uint id = GetId(player);
uint id = PlayerUtil.GetId(player);

var unturnedPlayer = (UnturnedPlayer)player;
try
Expand All @@ -304,9 +305,6 @@ public SafeZone GetSafeZoneAt(Vector3 pos)
return Configuration.Instance.SafeZones.FirstOrDefault(safeZone => IsInSafeZone(pos, safeZone));
}

private readonly Dictionary<uint, SerializablePosition> _firstPositions = new Dictionary<uint, SerializablePosition>();
private readonly Dictionary<uint, SerializablePosition> _secondsPositions = new Dictionary<uint, SerializablePosition>();

public SafeZone GetSafeZone(String safeZoneName, bool exact = false)
{
if (Configuration.Instance.SafeZones == null || Configuration.Instance.SafeZones.Count == 0) return null;
Expand All @@ -330,73 +328,10 @@ public SafeZone GetSafeZone(String safeZoneName, bool exact = false)
return null;
}

public void SetPosition1(IRocketPlayer player, SerializablePosition pos)
{
if (_firstPositions.ContainsKey(GetId(player)))
{
_firstPositions[GetId(player)] = pos;
return;
}
_firstPositions.Add(GetId(player), pos);
}

public void SetPosition2(IRocketPlayer player, SerializablePosition pos)
{
if (_secondsPositions.ContainsKey(GetId(player)))
{
_secondsPositions[GetId(player)] = pos;
return;
}
_secondsPositions.Add(GetId(player), pos);
}

public bool HasPositionSet(IRocketPlayer player)
{
return _firstPositions.ContainsKey(GetId(player)) && _secondsPositions.ContainsKey(GetId(player));
}

public static uint GetId(IRocketPlayer player)
{
CSteamID id = GetCSteamId(player);
return id.GetAccountID().m_AccountID;
}

public static ulong GetId(SteamPlayer player)
{
CSteamID id = player.playerID.CSteamID;
return id.GetAccountID().m_AccountID;
}

public SerializablePosition GetPosition1(IRocketPlayer caller)
{
return _firstPositions[GetId(caller)];
}

public SerializablePosition GetPosition2(IRocketPlayer caller)
{
return _secondsPositions[GetId(caller)];
}

public IEnumerable<uint> GetUidsInSafeZone(SafeZone zone)
{
return _safeZonePlayers.Keys.Where(id => _safeZonePlayers[id] == zone).ToList();
}

public static UnturnedPlayer GetUnturnedPlayer(IRocketPlayer player)
{
if (player == null) return null;
if (!(player is UnturnedPlayer))
{
throw new NotSupportedException("This plugin is for Unturned!");
}

return (UnturnedPlayer) player;
}

public static CSteamID GetCSteamId(IRocketPlayer player)
{
if (player == null) return CSteamID.Nil;
return GetUnturnedPlayer(player).CSteamID;
}
}
}
1 change: 1 addition & 0 deletions Rocket_Safezone/Safezone.csproj
Expand Up @@ -86,6 +86,7 @@
<Compile Include="SafeZoneConfiguration.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Util\PermissionUtil.cs" />
<Compile Include="Util\PlayerUtil.cs" />
<Compile Include="Util\TypeUtil.cs" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
Expand Down

0 comments on commit 38bcdcc

Please sign in to comment.