/// <summary> /// Destroys a border by border handle /// </summary> /// <param name="borderHandle"></param> public static void DestroyBorder(int borderHandle) { HexOutline outline = instance.borders.FirstOrDefault(b => b.handle == borderHandle); if (outline != null) { Destroy(outline.gameObject); instance.borders.Remove(outline); } }
/// <summary> /// Creates a border with a specified color. Returns a handle to the border /// </summary> /// <param name="tiles"></param> /// <param name="color"></param> /// <returns></returns> public static int CreateBorder(List <HexTile> tiles, Color color) { if (instance.borders == null) { instance.borders = new List <HexOutline>(); } int handle = createHandle(); GameObject parentObject = new GameObject("outline_" + handle); parentObject.transform.SetParent(instance.transform, true); HexOutline outline = parentObject.AddComponent <HexOutline>(); outline.handle = handle; outline.tiles = tiles; outline.thickness = instance.lineThickness * 2f; outline.color = color; outline.material = instance.borderMaterial; instance.borders.Add(outline); return(handle); }