public static MagicCube CreateFromSerializedData(SaveGameSystem.SerializableCubeData data, int individualCubeSizeInWorldUnits, IndividualCubeController individualCubePrefab) { //Generate cube from data var newCube = new MagicCube(data.gameSize, individualCubeSizeInWorldUnits, individualCubePrefab); foreach (var cube in data.cubeData) { var cubego = newCube.CreateSubCube(cube.currentCoordinates.x, cube.currentCoordinates.y, cube.currentCoordinates.z, cube.goalCoordinates); cubego.transform.localRotation = cube.rotation; } return(newCube); }
public SaveGameSystem.SerializableCubeData GetSerializableCubeData() { List <SaveGameSystem.IndividualCubeData> listOfCubeData = new List <SaveGameSystem.IndividualCubeData>(); //Serialize current cube state foreach (var cube in allCubes) { listOfCubeData.Add(cube.GetSerializableData()); } var cubedata = new SaveGameSystem.SerializableCubeData() { cubeData = listOfCubeData.ToArray(), gameSize = this.gameSize }; return(cubedata); }