Fix some more plugin-breaking changes

This commit is contained in:
MarioE 2013-12-18 10:24:17 -05:00
parent 84f882472b
commit 85cf46166a
3 changed files with 33 additions and 8 deletions

View file

@ -2008,7 +2008,7 @@ namespace TShockAPI
foreach (TSPlayer tsplr in TShock.Players) foreach (TSPlayer tsplr in TShock.Players)
{ {
if (tsplr != null && tsplr.IsRaptor && tsplr.Group.HasPermission(Permissions.managewarp)) if (tsplr != null && tsplr.IsRaptor && tsplr.Group.HasPermission(Permissions.managewarp))
tsplr.SendRaptorWarp(TShock.Warps.FindWarp(warpName)); tsplr.SendRaptorWarp(TShock.Warps.Find(warpName));
} }
} }
else else
@ -2090,7 +2090,7 @@ namespace TShockAPI
} }
string warpName = args.Parameters[2]; string warpName = args.Parameters[2];
var warp = TShock.Warps.FindWarp(warpName); var warp = TShock.Warps.Find(warpName);
var plr = foundplr[0]; var plr = foundplr[0];
if (warp.Position != Point.Zero) if (warp.Position != Point.Zero)
{ {
@ -2109,7 +2109,7 @@ namespace TShockAPI
else else
{ {
string warpName = String.Join(" ", args.Parameters); string warpName = String.Join(" ", args.Parameters);
var warp = TShock.Warps.FindWarp(warpName); var warp = TShock.Warps.Find(warpName);
if (warp != null) if (warp != null)
{ {
if (args.Player.Teleport(warp.Position.X * 16, warp.Position.Y * 16)) if (args.Player.Teleport(warp.Position.X * 16, warp.Position.Y * 16))

View file

@ -126,6 +126,16 @@ namespace TShockAPI.DB
/// </summary> /// </summary>
/// <param name="warpName">The name.</param> /// <param name="warpName">The name.</param>
/// <returns>The warp, if it exists, or else null.</returns> /// <returns>The warp, if it exists, or else null.</returns>
public Warp Find(string warpName)
{
return Warps.FirstOrDefault(w => String.Equals(w.Name, warpName, StringComparison.OrdinalIgnoreCase));
}
/// <summary>
/// Finds the warp with the given name.
/// </summary>
/// <param name="warpName">The name.</param>
/// <returns>The warp, if it exists, or else null.</returns>
[Obsolete]
public Warp FindWarp(string warpName) public Warp FindWarp(string warpName)
{ {
return Warps.FirstOrDefault(w => String.Equals(w.Name, warpName, StringComparison.OrdinalIgnoreCase)); return Warps.FirstOrDefault(w => String.Equals(w.Name, warpName, StringComparison.OrdinalIgnoreCase));
@ -138,7 +148,7 @@ namespace TShockAPI.DB
/// <param name="x">The X position.</param> /// <param name="x">The X position.</param>
/// <param name="y">The Y position.</param> /// <param name="y">The Y position.</param>
/// <returns>Whether the operation suceeded.</returns> /// <returns>Whether the operation suceeded.</returns>
public bool PositionWarp(string warpName, int x, int y) public bool Position(string warpName, int x, int y)
{ {
try try
{ {
@ -198,6 +208,15 @@ namespace TShockAPI.DB
/// Gets or sets the position. /// Gets or sets the position.
/// </summary> /// </summary>
public Point Position { get; set; } public Point Position { get; set; }
/// <summary>
/// Gets or sets the position.
/// </summary>
[Obsolete]
public Vector2 WarpPos
{
get { return new Vector2(Position.X, Position.Y); }
set { Position = new Point((int)value.X, (int)value.Y); }
}
public Warp(Point position, string name, bool isPrivate = false) public Warp(Point position, string name, bool isPrivate = false)
{ {
@ -205,7 +224,13 @@ namespace TShockAPI.DB
Position = position; Position = position;
IsPrivate = isPrivate; IsPrivate = isPrivate;
} }
[Obsolete]
public Warp(Vector2 position, string name, bool isPrivate = false)
{
Name = name;
WarpPos = position;
IsPrivate = isPrivate;
}
public Warp() public Warp()
{ {
Position = Point.Zero; Position = Point.Zero;

View file

@ -3481,20 +3481,20 @@ namespace TShockAPI
int y = args.Data.ReadInt32(); int y = args.Data.ReadInt32();
string warpName = args.Data.ReadString(); string warpName = args.Data.ReadString();
Warp warp = TShock.Warps.FindWarp(warpName); Warp warp = TShock.Warps.Find(warpName);
if (warp == null) if (warp == null)
{ {
TShock.Warps.Add(x, y, warpName); TShock.Warps.Add(x, y, warpName);
foreach (TSPlayer tsplr in TShock.Players) foreach (TSPlayer tsplr in TShock.Players)
{ {
if (tsplr != null && tsplr.IsRaptor && tsplr.Group.HasPermission(Permissions.managewarp) && tsplr != args.Player) if (tsplr != null && tsplr.IsRaptor && tsplr.Group.HasPermission(Permissions.managewarp) && tsplr != args.Player)
tsplr.SendRaptorWarp(TShock.Warps.FindWarp(warpName)); tsplr.SendRaptorWarp(TShock.Warps.Find(warpName));
} }
Log.Info("{0} added warp \"{1}\".", args.Player.UserAccountName, warpName); Log.Info("{0} added warp \"{1}\".", args.Player.UserAccountName, warpName);
} }
else else
{ {
TShock.Warps.PositionWarp(warpName, x, y); TShock.Warps.Position(warpName, x, y);
foreach (TSPlayer tsplr in TShock.Players) foreach (TSPlayer tsplr in TShock.Players)
{ {
if (tsplr != null && tsplr.IsRaptor && tsplr.Group.HasPermission(Permissions.managewarp) && tsplr != args.Player) if (tsplr != null && tsplr.IsRaptor && tsplr.Group.HasPermission(Permissions.managewarp) && tsplr != args.Player)