void CreateBlock(GameObject blockPrefab, int newX, int newY, BlockState newState = BlockState.New, BlockSpecial newSpecial = BlockSpecial.None) { GameObject block = Instantiate(blockPrefab, GetBlockPositionForFieldXY(newX, newY), Quaternion.identity) as GameObject; block.transform.parent = this.transform; BlockScript blockScript = block.GetComponent <MonoBehaviour>() as BlockScript; blockScript.ChangeBlock(newX, newY, BlockColor.None, newState, newSpecial); AddBlockToFieldBlocks(blockScript); blockScript.fieldScript = this; //print("New Block: " + blockScript + ", " + blockScript.x + ", " + blockScript.y + " State: " + blockScript.state); }