예제 #1
0
        private static Level LevelJsonWrapper(FirestoreLevel firestoreLevel)
        {
            string levelJson = JsonUtility.ToJson(Level.FromFirestoreLevel(firestoreLevel));

            Debug.Log(levelJson);
            return(JsonUtility.FromJson <Level>(levelJson));
        }
예제 #2
0
        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);
        }
예제 #3
0
        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));
        }