Example #1
0
    public Hexagon[] GetSameColorHexagon(Hexagon middleHex) //middleHex dahil yanındaki 3 veya daha fazla hex döndürüyor
    {
        List <Hexagon> neigbersSameColorHex = new List <Hexagon>();

        neigbersSameColorHex.Add(middleHex);
        RaycastHit2D hit2D;

        for (int i = 0; i < 6; i++)
        {
            hit2D = Physics2D.Raycast(middleHex.transform.position, HexInfo.neighberDir[i] * 2 * HexInfo.innerRadius, hexagonMask);

            if (hit2D.collider != null)
            {
                Hexagon hex = AllHexagon[hit2D.collider.GetInstanceID()];
                if (middleHex.CompareTo(hex) == 0)
                {
                    neigbersSameColorHex.Add(hex);
                }
            }
        }
        if (neigbersSameColorHex.Count >= 3)
        {
            return(neigbersSameColorHex.ToArray());
        }
        return(null);
    }