public static void OffsetEditLayerIndexes(int Amount) { if (Methods.Solution.CurrentSolution.EditLayerA != null) { for (int x = 0; x < Methods.Solution.CurrentSolution.EditLayerA.Tiles.Length; x++) { for (int y = 0; y < Methods.Solution.CurrentSolution.EditLayerA.Tiles[x].Length; y++) { RSDKv5.Tile currentTile = new RSDKv5.Tile(Methods.Solution.CurrentSolution.EditLayerA.Tiles[x][y]); int currentIndex = currentTile.Index; if (currentIndex + Amount > 1024) { currentTile.Index = (ushort)(1024); } else if (currentIndex + Amount < 0) { currentTile.Index = (ushort)(0); } else { currentTile.Index = (ushort)(currentTile.Index + Amount); } Methods.Solution.CurrentSolution.EditLayerA.Tiles[x][y] = currentTile.RawData; } } } }
public bool IsMatch(ushort _tile) { RSDKv5.Tile tile = new RSDKv5.Tile(_tile); bool Index_MATCH = (Index != null ? tile.Index == Index : true); bool FlipX_MATCH = (FlipX != null ? tile.FlipX == FlipX : true); bool FlipY_MATCH = (FlipY != null ? tile.FlipY == FlipY : true); bool SolidTop_A_MATCH = (SolidTop_A != null ? tile.SolidTopA == SolidTop_A : true); bool SolidTop_B_MATCH = (SolidTop_B != null ? tile.SolidTopB == SolidTop_B : true); bool SolidLRB_A_MATCH = (SolidLRB_A != null ? tile.SolidLrbA == SolidLRB_A : true); bool SolidLRB_B_MATCH = (SolidLRB_B != null ? tile.SolidLrbB == SolidLRB_B : true); return(Index_MATCH && FlipX_MATCH && FlipY_MATCH && SolidTop_A_MATCH && SolidTop_B_MATCH && SolidLRB_A_MATCH && SolidLRB_B_MATCH); }