次のコードがあります。
BlockTypes[,] BackupQuad = EditModeBlocks.ListOfBlocks; //Create Backup
for (int x = 0; x < 16; x++)
{
for (int y = 0; y < 16; y++)
{
//Translate each point to the opposite side
EditModeBlocks.ListOfBlocks[15 - x, y] = BackupQuad[x, y];
}
}
最初にバックアップ ( BackupQuad
) を作成し、次にバックアップ配列内の各「ブロック」をループします。次に、バックアップ配列からブロックを読み取り、元の配列に 15 - X として再書き込みします (16 - x も試しましたが、機能しませんでした)。ほとんどの場合は機能しますが、半分を反対側にコピーし、そこにあるすべてを削除します。