示例#1
0
        ILevelData ILevelSerializer.LoadLevel(string levelName)
        {
            Debug.LogFormat("Loading level {0}...", levelName);

            if (forceCreateNewLevelOnLoad)
            {
                ILevelData levelData = new LevelData(10, 10, levelName);
                levelData.id = 42;
                return(levelData);
            }

            if (FileExists(levelName) == false)
            {
                Debug.LogError(string.Format("Level {0} could not be found. Creating a default one.", levelName));
                ILevelData levelData = new LevelData(10, 10);
                levelData.name = levelName;

                return(levelData);
            }

            FileStream            saveFile         = File.Open(FullSavePath(levelName), FileMode.Open);
            BinaryFormatter       formatter        = new BinaryFormatter();
            SerializableLevelData serializableData = (SerializableLevelData)formatter.Deserialize(saveFile);

            return(serializableData.ToLevelData());
        }
示例#2
0
        ILevelData ILevelSerializer.LoadLevel(string levelName)
        {
            if (forceCreateNewLevelOnLoad)
            {
                ILevelData newLevelData = new LevelData(10, 10, levelName);
                newLevelData.owner = "1";
                newLevelData.id    = 1;
                return(newLevelData);
            }

            string jsonResponse = PersistentAPI.GetRoom(levelName);

            SerializableLevelData webLevelData = JsonUtility.FromJson <SerializableLevelData>(jsonResponse);
            ILevelData            levelData    = webLevelData.ToLevelData();

            return(levelData);
        }