예제 #1
0
    public bool HasDestroyHexagons(Hexagon[] hexagons) //120 derecelik dönme sonrası kontrol ediyoruz yok edilen var mı diye
    {
        Info.Clear();
        bool hasDestroy = false;

        for (int i = 0; i < hexagons.Length; i++)
        {
            Hexagon[] sameColorHexagons = GetSameColorHexagon(hexagons[i]);
            if (sameColorHexagons != null)
            {
                Hexagon[] SideBySideAndSameColorHexagons = GetSideBySideSameColorHexagon(sameColorHexagons);
                if (SideBySideAndSameColorHexagons != null)
                {
                    // Deactive(SideBySideAndSameColorHexagons);
                    Info.AddDestroyedHexagons(SideBySideAndSameColorHexagons);
                    hasDestroy = true;
                }
            }
        }
        ToggleBomb(Info.destroyedAllHexagons.ToArray());
        Info.DistinctDestroyedHexList(); // Bütün koşumşu altıgenleri gezerken aynı olanları atıyoruz
        Deactive(Info.destroyedAllHexagons.ToArray());
        Info.SetBottomRayPositions();    // Yok edilen altıgenlerin tabana en yakın olan pozisyonları alıyoruz
        return(hasDestroy);
    }