예제 #1
0
    public void Exchange(GemStone c1, GemStone c2)
    {
        SetGemstone(c1.rowIndex, c1.columnIndex, c2);
        SetGemstone(c2.rowIndex, c2.columnIndex, c1);
        //交换c1,c2行号
        int tempRowIndex;

        tempRowIndex = c1.rowIndex;
        c1.rowIndex  = c2.rowIndex;
        c2.rowIndex  = tempRowIndex;

        int tempColIndex;

        tempColIndex   = c1.columnIndex;
        c1.columnIndex = c2.columnIndex;
        c2.columnIndex = tempColIndex;

//         c1.UpdatePosition(c1.rowIndex, c1.columnIndex);
//         c2.UpdatePosition(c2.rowIndex, c2.columnIndex);
        c1.TewwnToPosition(c1.rowIndex, c1.columnIndex);
        c2.TewwnToPosition(c2.rowIndex, c2.columnIndex);
    }
예제 #2
0
    void RemoveGemstone(GemStone c)
    {
        // 删除
        Debug.Log("删除宝石");
        c.Dispose();

        for (int i = c.rowIndex + 1; i < rowNum; i++)
        {
            GemStone temGemstone = GetGemstone(i, c.columnIndex);
            temGemstone.rowIndex--;
            SetGemstone(temGemstone.rowIndex, temGemstone.columnIndex, temGemstone);
            //temGemstone.UpdatePosition(temGemstone.rowIndex, temGemstone.columnIndex);
            temGemstone.TewwnToPosition(temGemstone.rowIndex, temGemstone.columnIndex);
        }

        GemStone newGemstone = AddGemstone(rowNum, c.columnIndex);

        newGemstone.rowIndex--;
        SetGemstone(newGemstone.rowIndex, newGemstone.columnIndex, newGemstone);
        //newGemstone.UpdatePosition(newGemstone.rowIndex, newGemstone.columnIndex);
        newGemstone.TewwnToPosition(newGemstone.rowIndex, newGemstone.columnIndex);
    }