public Tilemap GetTilemap(TileChangeLayer layer) { switch (layer) { case TileChangeLayer.Base: return(baseTileMap); case TileChangeLayer.Floor: return(floorTileMap); case TileChangeLayer.Object: return(objectTileMap); case TileChangeLayer.Wall: return(wallTileMap); case TileChangeLayer.Window: case TileChangeLayer.WindowDamage: return(windowTileMap); case TileChangeLayer.BrokenGrill: //Broken grills go over floors so there is no collider on the grills layer return(floorTileMap); case TileChangeLayer.Grill: return(grillTileMap); } return(null); }
private int GetLayerZLevel(TileChangeLayer layer) { switch (layer) { case TileChangeLayer.Base: return(0); case TileChangeLayer.Floor: return(0); case TileChangeLayer.Object: return(0); case TileChangeLayer.Wall: return(0); case TileChangeLayer.Window: return(0); case TileChangeLayer.WindowDamage: return(-1); case TileChangeLayer.BrokenGrill: return(-10); } return(0); }
public void ChangeTile(string newTileName, Vector3Int tileCellPos, TileChangeLayer layer) { ActionChange(new TileChangeEntry { cellPosition = tileCellPos, tileKey = newTileName, layerToChange = layer }); }
private void RpcActionChange(Vector3 cellPos, string tileKey, TileChangeLayer layer) { ActionChange(new TileChangeEntry { cellPosition = Vector3Int.RoundToInt(cellPos), tileKey = tileKey, layerToChange = layer }); }
public void CmdCrowBarRemoveFloorTile(GameObject tileChangeRoot, TileChangeLayer layer, Vector3 cellPos, Vector3 worldPos) { TileChangeManager tm = tileChangeRoot.GetComponent <TileChangeManager>(); if (tm == null) { Logger.LogError("TileChangeManager not found", Category.Construction); return; } tm.RemoveTile(Vector3Int.RoundToInt(cellPos), layer); CraftingManager.Construction.SpawnFloorTile(Vector3Int.RoundToInt(worldPos), tm.ObjectParent.transform); RpcPlayerSoundAtPos("Crowbar", transform.position, true); }
public static bool ValidateTileKey(TileChangeLayer layer, string tileKey) { if (string.IsNullOrEmpty(tileKey)) { return(true); } switch (layer) { case TileChangeLayer.Base: case TileChangeLayer.Floor: if (FloorAssets.ContainsKey(tileKey)) { return(true); } break; case TileChangeLayer.Object: case TileChangeLayer.BrokenGrill: if (ObjectAssets.ContainsKey(tileKey)) { return(true); } break; case TileChangeLayer.Wall: if (WallAssets.ContainsKey(tileKey)) { return(true); } break; case TileChangeLayer.Window: case TileChangeLayer.WindowDamage: if (WindowAssets.ContainsKey(tileKey)) { return(true); } break; } return(false); }
public void RemoveTile(Vector3Int tileCellPos, TileChangeLayer layer) { ActionChange(new TileChangeEntry { cellPosition = tileCellPos, tileKey = "", layerToChange = layer }); if (layer == TileChangeLayer.Window) { //Clear the crack effects if they exist: ActionChange(new TileChangeEntry { cellPosition = tileCellPos, tileKey = "", layerToChange = TileChangeLayer.WindowDamage }); } }
public static TileBase GetTile(TileChangeLayer layer, string tileKey) { switch (layer) { case TileChangeLayer.Base: case TileChangeLayer.Floor: if (FloorAssets.ContainsKey(tileKey)) { return(FloorAssets[tileKey]); } break; case TileChangeLayer.Object: case TileChangeLayer.BrokenGrill: if (ObjectAssets.ContainsKey(tileKey)) { return(ObjectAssets[tileKey]); } break; case TileChangeLayer.Wall: if (WallAssets.ContainsKey(tileKey)) { return(WallAssets[tileKey]); } break; case TileChangeLayer.Window: case TileChangeLayer.WindowDamage: if (WindowAssets.ContainsKey(tileKey)) { return(WindowAssets[tileKey]); } break; } return(null); }