public void UpdateMesh(bool forced = false) { if (!ElevationManager.ValidTileForElevation(cell)) { return; } if (mesh != null) { mesh.UpdateMesh(forced); } else { mesh = CellElevationMesh.Make(cell).GetComponent <CellElevationMesh>(); mesh.UpdateMesh(forced); } }
public static GameObject Make(Cell cell) { CellMark mark = ElevationManager.GetCellMark(cell); if (mark != null) { GameObject obj = GameObject.CreatePrimitive(PrimitiveType.Cube); CellElevationMesh script = obj.AddComponent <CellElevationMesh>(); script.cell = cell; script.cellMark = mark; obj.transform.SetPositionAndRotation(new Vector3(cell.Center.x, 0f, cell.Center.z), Quaternion.identity); obj.transform.SetParent(World.inst.caveContainer.transform, true); script.Init(); return(obj); } return(null); }