Tile GetDataHandlers: fix bool fail and add byte style

This commit is contained in:
Scavenger3 2013-07-06 16:39:20 +10:00
parent e5889765fc
commit a01a33192a

View file

@ -88,13 +88,18 @@ namespace TShockAPI
/// Did the tile get destroyed successfully. /// Did the tile get destroyed successfully.
/// </summary> /// </summary>
public bool Fail { get; set; } public bool Fail { get; set; }
/// <summary>
/// Used when a tile is placed to denote a subtype of tile. (e.g. for tile id 21: Chest = 0, Gold Chest = 1)
/// </summary>
public byte Style { get; set; }
} }
/// <summary> /// <summary>
/// TileEdit - called when a tile is placed or destroyed /// TileEdit - called when a tile is placed or destroyed
/// </summary> /// </summary>
public static HandlerList<TileEditEventArgs> TileEdit; public static HandlerList<TileEditEventArgs> TileEdit;
private static bool OnTileEdit(TSPlayer ply, int x, int y, byte type, byte editType, bool fail) private static bool OnTileEdit(TSPlayer ply, int x, int y, byte type, byte editType, bool fail, byte style)
{ {
if (TileEdit == null) if (TileEdit == null)
return false; return false;
@ -106,7 +111,8 @@ namespace TShockAPI
Y = y, Y = y,
Type = type, Type = type,
EditType = editType, EditType = editType,
Fail = fail Fail = fail,
Style = style
}; };
TileEdit.Invoke(null, args); TileEdit.Invoke(null, args);
return args.Handled; return args.Handled;
@ -1678,8 +1684,9 @@ namespace TShockAPI
var tileX = args.Data.ReadInt32(); var tileX = args.Data.ReadInt32();
var tileY = args.Data.ReadInt32(); var tileY = args.Data.ReadInt32();
var tiletype = args.Data.ReadInt8(); var tiletype = args.Data.ReadInt8();
var fail = args.Data.ReadBoolean(); var fail = tiletype == 1;
if (OnTileEdit(args.Player, tileX, tileY, tiletype, type, fail)) var style = args.Data.ReadInt8();
if (OnTileEdit(args.Player, tileX, tileY, tiletype, type, fail, style))
return true; return true;
if (!TShock.Utils.TileValid(tileX, tileY)) if (!TShock.Utils.TileValid(tileX, tileY))
return false; return false;