private MoonpoolTerminalSaveData CreateSaveData()
        {
            MoonpoolTerminalSaveData saveData = new MoonpoolTerminalSaveData();

            saveData.Position = positionIndex;

            return(saveData);
        }
        public void OnProtoDeserialize(ProtobufSerializer serializer)
        {
            var saveDataFile = GetSaveDataPath();

            ModUtils.LoadSaveData <MoonpoolTerminalSaveData>(saveDataFile, (data) => {
                saveData = data;
                Initialize();
            });
        }
        public void OnProtoSerialize(ProtobufSerializer serializer)
        {
            var userStorage = PlatformUtils.main.GetUserStorage();

            userStorage.CreateContainerAsync(Path.Combine(SaveLoadManager.main.GetCurrentSlot(), "DockedVehicleStorageAccess"));

            var saveDataFile = GetSaveDataPath();

            saveData = CreateSaveData();
            ModUtils.Save(saveData, saveDataFile);
        }
        public void OnProtoSerialize(ProtobufSerializer serializer)
        {
            var saveDataFile = GetSaveDataPath();

            saveData = CreateSaveData();
            if (!Directory.Exists(GetSaveDataDir()))
            {
                Directory.CreateDirectory(GetSaveDataDir());
            }
            string fileContents = JsonConvert.SerializeObject(saveData, Formatting.Indented);

            File.WriteAllText(saveDataFile, fileContents);
        }
        public void OnProtoDeserialize(ProtobufSerializer serializer)
        {
            var saveDataFile = GetSaveDataPath();

            if (File.Exists(saveDataFile))
            {
                string fileContents = File.ReadAllText(saveDataFile);
                saveData = JsonConvert.DeserializeObject <MoonpoolTerminalSaveData>(fileContents);
            }
            else
            {
                saveData = new MoonpoolTerminalSaveData();
            }
        }