private static Level LevelJsonWrapper(FirestoreLevel firestoreLevel) { string levelJson = JsonUtility.ToJson(Level.FromFirestoreLevel(firestoreLevel)); Debug.Log(levelJson); return(JsonUtility.FromJson <Level>(levelJson)); }
public static Level FromFirestoreLevel(FirestoreLevel firestoreLevel) { Level level = new Level(firestoreLevel.Name, firestoreLevel.AuthorName, firestoreLevel.AuthorId) { authorName = firestoreLevel.AuthorName, pelletCount = firestoreLevel.PelletCount, bottomLeftPosition = FirestoreVector2Int.ToVector2Int(firestoreLevel.BottomLeftPosition), bottomRightPosition = FirestoreVector2Int.ToVector2Int(firestoreLevel.BottomRightPosition), topLeftPosition = FirestoreVector2Int.ToVector2Int(firestoreLevel.TopLeftPosition), topRightPosition = FirestoreVector2Int.ToVector2Int(firestoreLevel.TopRightPosition), ghostDoorPosition = FirestoreVector2Int.ToVector2Int(firestoreLevel.GhostDoorPosition), ghostHousePosition = FirestoreVector2Int.ToVector2Int(firestoreLevel.GhostHouse), pacManPosition = FirestoreVector2Int.ToVector2Int(firestoreLevel.PacManPosition), }; // Debug.Log($"is ObjectPositions null? {firestoreLevel.ObjectPositions == null}"); if (firestoreLevel.ObjectPositions == null) { return(level); } for (int i = 0; i < firestoreLevel.ObjectPositions.Length; i++) { level.objectPositions.Add(FirestoreVector2Int.ToVector2Int(firestoreLevel.ObjectPositions[i])); level.objectTypes.Add(firestoreLevel.ObjectTypes[i]); } return(level); }
public static Level LevelDocumentToLevelObject(DocumentSnapshot documentSnapshot) { FirestoreLevel firestoreLevel = documentSnapshot.ConvertTo <FirestoreLevel>(); Level levelBeforeJson = Level.FromFirestoreLevel(firestoreLevel); string levelJson = JsonUtility.ToJson(levelBeforeJson); return(JsonUtility.FromJson <Level>(levelJson)); }