Example #1
0
    /// <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);
        }
    }
Example #2
0
    /// <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);
    }