Fix chairs and colors and mannies
This commit is contained in:
parent
40dbe84817
commit
bad474cc8b
1 changed files with 94 additions and 0 deletions
|
|
@ -29,15 +29,33 @@ namespace TShockAPI.Net
|
||||||
public byte Type { get; set; }
|
public byte Type { get; set; }
|
||||||
public short FrameX { get; set; }
|
public short FrameX { get; set; }
|
||||||
public short FrameY { get; set; }
|
public short FrameY { get; set; }
|
||||||
|
public bool Lighted { get; set; }
|
||||||
public byte Wall { get; set; }
|
public byte Wall { get; set; }
|
||||||
public byte Liquid { get; set; }
|
public byte Liquid { get; set; }
|
||||||
public byte LiquidType { get; set; }
|
public byte LiquidType { get; set; }
|
||||||
public bool Wire { get; set; }
|
public bool Wire { get; set; }
|
||||||
|
public bool Wire2 { get; set; }
|
||||||
|
public bool Wire3 { get; set; }
|
||||||
public byte HalfBrick { get; set; }
|
public byte HalfBrick { get; set; }
|
||||||
public byte Actuator { get; set; }
|
public byte Actuator { get; set; }
|
||||||
public bool Inactive { get; set; }
|
public bool Inactive { get; set; }
|
||||||
public bool IsHalf { get; set; }
|
public bool IsHalf { get; set; }
|
||||||
public bool IsActuator { get; set; }
|
public bool IsActuator { get; set; }
|
||||||
|
public byte TileColor { get; set; }
|
||||||
|
public byte WallColor { get; set; }
|
||||||
|
public bool Slope { get; set; }
|
||||||
|
public bool Slope2 { get; set; }
|
||||||
|
|
||||||
|
public bool HasColor
|
||||||
|
{
|
||||||
|
get { return TileColor > 0; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public bool HasWallColor
|
||||||
|
{
|
||||||
|
get { return WallColor > 0; }
|
||||||
|
}
|
||||||
|
|
||||||
public bool HasWall
|
public bool HasWall
|
||||||
{
|
{
|
||||||
get { return Wall > 0; }
|
get { return Wall > 0; }
|
||||||
|
|
@ -62,9 +80,16 @@ namespace TShockAPI.Net
|
||||||
Wall = 0;
|
Wall = 0;
|
||||||
Liquid = 0;
|
Liquid = 0;
|
||||||
Wire = false;
|
Wire = false;
|
||||||
|
Wire2 = false;
|
||||||
|
Wire3 = false;
|
||||||
HalfBrick = 0;
|
HalfBrick = 0;
|
||||||
Actuator = 0;
|
Actuator = 0;
|
||||||
Inactive = false;
|
Inactive = false;
|
||||||
|
TileColor = 0;
|
||||||
|
WallColor = 0;
|
||||||
|
Lighted = false;
|
||||||
|
Slope = false;
|
||||||
|
Slope2 = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public NetTile(Stream stream)
|
public NetTile(Stream stream)
|
||||||
|
|
@ -80,6 +105,9 @@ namespace TShockAPI.Net
|
||||||
if ((Active) && (!Inactive))
|
if ((Active) && (!Inactive))
|
||||||
flags |= TileFlags.Active;
|
flags |= TileFlags.Active;
|
||||||
|
|
||||||
|
if (Lighted)
|
||||||
|
flags |= TileFlags.Lighted;
|
||||||
|
|
||||||
if (HasWall)
|
if (HasWall)
|
||||||
flags |= TileFlags.Wall;
|
flags |= TileFlags.Wall;
|
||||||
|
|
||||||
|
|
@ -102,6 +130,39 @@ namespace TShockAPI.Net
|
||||||
|
|
||||||
stream.WriteInt8((byte) flags);
|
stream.WriteInt8((byte) flags);
|
||||||
|
|
||||||
|
var flags2 = TileFlags2.None;
|
||||||
|
|
||||||
|
if ((Wire2))
|
||||||
|
flags2 |= TileFlags2.Wire2;
|
||||||
|
|
||||||
|
if (Wire3)
|
||||||
|
flags2 |= TileFlags2.Wire3;
|
||||||
|
|
||||||
|
if (HasColor)
|
||||||
|
flags2 |= TileFlags2.Color;
|
||||||
|
|
||||||
|
if (HasWallColor)
|
||||||
|
flags2 |= TileFlags2.WallColor;
|
||||||
|
|
||||||
|
if (Slope)
|
||||||
|
flags2 |= TileFlags2.Slope;
|
||||||
|
|
||||||
|
if (Slope2)
|
||||||
|
flags2 |= TileFlags2.Slope2;
|
||||||
|
|
||||||
|
|
||||||
|
stream.WriteInt8((byte)flags2);
|
||||||
|
|
||||||
|
if (HasColor)
|
||||||
|
{
|
||||||
|
stream.WriteByte(TileColor);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (HasWallColor)
|
||||||
|
{
|
||||||
|
stream.WriteByte(WallColor);
|
||||||
|
}
|
||||||
|
|
||||||
if (Active)
|
if (Active)
|
||||||
{
|
{
|
||||||
stream.WriteInt8(Type);
|
stream.WriteInt8(Type);
|
||||||
|
|
@ -125,6 +186,22 @@ namespace TShockAPI.Net
|
||||||
public void Unpack(Stream stream)
|
public void Unpack(Stream stream)
|
||||||
{
|
{
|
||||||
var flags = (TileFlags) stream.ReadInt8();
|
var flags = (TileFlags) stream.ReadInt8();
|
||||||
|
var flags2 = (TileFlags2)stream.ReadInt8();
|
||||||
|
|
||||||
|
Wire2 = flags2.HasFlag(TileFlags2.Wire2);
|
||||||
|
Wire3 = flags2.HasFlag(TileFlags2.Wire3);
|
||||||
|
Slope = flags2.HasFlag(TileFlags2.Slope);
|
||||||
|
Slope2 = flags2.HasFlag(TileFlags2.Slope2);
|
||||||
|
|
||||||
|
if (flags2.HasFlag(TileFlags2.Color))
|
||||||
|
{
|
||||||
|
TileColor = stream.ReadInt8();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (flags2.HasFlag(TileFlags2.WallColor))
|
||||||
|
{
|
||||||
|
WallColor = stream.ReadInt8();
|
||||||
|
}
|
||||||
|
|
||||||
Active = flags.HasFlag(TileFlags.Active);
|
Active = flags.HasFlag(TileFlags.Active);
|
||||||
if (Active)
|
if (Active)
|
||||||
|
|
@ -137,6 +214,11 @@ namespace TShockAPI.Net
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (flags.HasFlag(TileFlags.Lighted))
|
||||||
|
{
|
||||||
|
Lighted = true;
|
||||||
|
}
|
||||||
|
|
||||||
if (flags.HasFlag(TileFlags.Wall))
|
if (flags.HasFlag(TileFlags.Wall))
|
||||||
{
|
{
|
||||||
Wall = stream.ReadInt8();
|
Wall = stream.ReadInt8();
|
||||||
|
|
@ -178,4 +260,16 @@ namespace TShockAPI.Net
|
||||||
Actuator = 64,
|
Actuator = 64,
|
||||||
Inactive = 128
|
Inactive = 128
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Flags]
|
||||||
|
public enum TileFlags2 : byte
|
||||||
|
{
|
||||||
|
None = 0,
|
||||||
|
Wire2 = 1,
|
||||||
|
Wire3 = 2,
|
||||||
|
Color = 4,
|
||||||
|
WallColor = 8,
|
||||||
|
Slope = 16,
|
||||||
|
Slope2 = 32
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue