private void CompressedTileBody(byte flags, TileData tile) { Byte (flags); var type = tile.Type; var wall = tile.Wall; var liquid = tile.Liquid; if (tile.Active) { if ((flags & 32) != 0) { Byte (type); } if ((flags & 64) != 0) { Short (tile.FrameX); Short (tile.FrameY); } } if ((flags & 4) != 0) { Byte (wall); } if ((flags & 8) != 0) { Byte (liquid); } }
public void SetData(TileData value) { //if (Netplay.anyClients && value.type == 53 && Main.tile.data [x, y].type != 53) Logging.ProgramLog.Debug.Log (System.Environment.StackTrace); Main.tile.data[x, y] = value; }
//#if TEST_COMPRESSION private int TileSize(TileData tile) { int count = 1; var active = tile.Active; var wall = tile.Wall; var liquid = tile.Liquid; if (active) { var type = tile.Type; count += 1; if (Main.tileFrameImportant [type]) { count += 4; } } if (wall > 0) { count += 1; } if (liquid > 0) { count += 2; } return count; }
public void SingleTileSquare(int X, int Y, TileData tile) { Begin (Packet.TILE_SQUARE); Short (1); Int (X); Int (Y); Tile (tile); End (); }
private void Tile(TileData tile) { byte flags = 0; var active = tile.Active; var wall = tile.Wall; var liquid = tile.Liquid; if (active) flags += 1; //if (tile.Lighted) flags += 2; //UNUSED if (wall > 0) flags += 4; if (liquid > 0) flags += 8; if (tile.Wire) flags += 16; Byte (flags); if (active) { var type = tile.Type; Byte (type); if (Main.tileFrameImportant [type]) { Short (tile.FrameX); Short (tile.FrameY); } } if (wall > 0) { Byte (wall); } if (liquid > 0) { Byte (liquid); Byte (tile.Lava); } }
private byte CompressedTileFlags(TileData tile, TileData last) { byte flags = 0; var active = tile.Active; var type = tile.Type; if (active != last.Active) flags |= 1; if (tile.Lighted != last.Lighted) flags |= 2; if (tile.Wall != last.Wall) flags |= 4; if (tile.Liquid != last.Liquid) flags |= 8; if (tile.Lava != last.Lava) flags |= 16; if (active) { if (last.Type != type || (flags & 1) != 0) flags |= 32; if (Main.tileFrameImportant [type] && (last.FrameX != tile.FrameX || last.FrameY != tile.FrameY || (flags & 1) != 0)) { flags |= 64; } } return flags; }
/// <summary> /// Tries to find if a tile is within the region. /// </summary> /// <param name="tile>Tile to find in the region.</param> /// <returns>True on find</returns> public Boolean HasTile(TileData tile) { foreach (TileRef tileRef in GetTiles) { if (tileRef.Data.Equals(tile)) return true; } return false; }
public void SetData(TileData value) { Main.tile.data [x, y] = value; }
public void SetData(TileData value) { //if (Netplay.anyClients && value.type == 53 && Main.tile.data [x, y].type != 53) Logging.ProgramLog.Debug.Log (System.Environment.StackTrace); Main.tile.data [x, y] = value; }