예제 #1
0
    void KillPiece(Point p)
    {
        List <KilledPiece> available = new List <KilledPiece>();

        for (int i = 0; i < killed.Count; i++)
        {
            if (!killed[i].falling)
            {
                available.Add(killed[i]);
            }
        }

        KilledPiece set = null;

        if (available.Count > 0)
        {
            set = available[0];
        }
        else
        {
            GameObject  kill   = GameObject.Instantiate(killedPiece, killedBoard);
            KilledPiece kPiece = kill.GetComponent <KilledPiece>();
            set = kPiece;
            killed.Add(kPiece);
        }

        int val = getValueAtPoint(p) - 1;

        if (set != null && val >= 0 && val < pieces.Length)
        {
            AS.PlayOneShot(AC[val]);
            set.Initialize(pieces[val], getPositionFromPoint(p));
        }
    }
예제 #2
0
    private void KillPieceAtPoint(Point point)
    {
        List <KilledPiece> available = new List <KilledPiece>();

        for (int i = 0; i < killed.Count; i++)
        {
            if (!killed[i].Falling)
            {
                available.Add(killed[i]);
            }
        }

        KilledPiece set = null;

        if (available.Count > 0)
        {
            set = available[0];
        }
        else
        {
            GameObject kill   = Instantiate(KilledPiece, KilledBoard);
            var        kPiece = kill.GetComponent <KilledPiece>();
            set = kPiece;
            killed.Add(set);
        }

        PieceType val = GetTypeAtPoint(point) - 1;

        if (set != null && (int)val >= 0 && (int)val < SpritePieces.Length)
        {
            set.Initialize(SpritePieces[(int)val], GetPositionFromPoint(point));
        }
    }
예제 #3
0
    void KillPiece(Coord coord)
    {
        List <KilledPiece> available = new List <KilledPiece>();

        for (int i = 0; i < piecesToKill.Count; i++)
        {
            if (!piecesToKill[i].falling)
            {
                available.Add(piecesToKill[i]);
            }
        }

        KilledPiece piece = null;

        if (available.Count > 0)
        {
            piece = available[0];
        }
        else
        {
            GameObject kill = GameObject.Instantiate(killedPiece, killedBoard);
            piece = kill.GetComponent <KilledPiece>();
            piecesToKill.Add(piece);
        }

        int type = getTypeAtCoord(coord) - 1;

        if (piece != null && type >= 0 && type < sprites.Length)
        {
            piece.Initialize(sprites[type], getPositionFromCoord(coord));
        }
    }
예제 #4
0
    private void KillPiece(Point p)
    {
        List <KilledPiece> available = new List <KilledPiece>();

        for (int i = 0; i < _killed.Count; i++)
        {
            if (!_killed[i].falling)
            {
                available.Add(_killed[i]);
            }
        }

        KilledPiece set;

        if (available.Count > 0)
        {
            set = available[0];
        }
        else
        {
            GameObject  kill   = Instantiate(killedPiece, killedBoard);
            KilledPiece kPiece = kill.GetComponent <KilledPiece>();
            set = kPiece;
            _killed.Add(kPiece);
        }

        int value = GetValueAtPoint(p) - 1;

        if (set != null && value >= 0 && value < pieces.Length)
        {
            set.Initialize(pieces[value], GetPositionFromPoint(p));
        }
    }