public static ActionSaveData CreateSaveData(CubeAction cubeAction) { ActionSaveData savedata = new ActionSaveData(); if (cubeAction.GetType() == typeof(ActionRotateZXClockWise)) { savedata.action = (int)ActionType.ZXClock; } else if (cubeAction.GetType() == typeof(ActionRotateZXCounterClockWise)) { savedata.action = (int)ActionType.ZXCounterClock; } else if (cubeAction.GetType() == typeof(ActionRotateZYClockWise)) { savedata.action = (int)ActionType.ZYClock; } else if (cubeAction.GetType() == typeof(ActionRotateZYCounterClockWise)) { savedata.action = (int)ActionType.ZYCounterClock; } else if (cubeAction.GetType() == typeof(ActionRotateYXClockWise)) { savedata.action = (int)ActionType.YXClock; } else if (cubeAction.GetType() == typeof(ActionRotateYXCounterClockWise)) { savedata.action = (int)ActionType.YXCounterClock; } foreach (var cubeTile in cubeAction.GetCubeTileListReference()) { savedata.cubeCollection.Add(cubeTile.GetComponent <CubeTileInfo>().GetID()); } return(savedata); }