Newer
Older
TEST / Assets / FacebookSDK / Examples / CloudAndroid / Scripts / SavePage.cs
@a_kuznecov a_kuznecov on 20 Jun 2023 2 KB First Commit
using System;
using System.Collections;
using System.Collections.Generic;
using System.IO;
using System.Threading.Tasks;
using UnityEngine;
using UnityEngine.UI;

public class SavePage : MonoBehaviour {
  [SerializeField]
  private Button _saveLogBtn;
  [SerializeField]
  private InputField _customInputField;
  [SerializeField]
  private Button _appendDataBtn;

  private string LOGS_FOLDER_PATH;
  private string PLAYER_PREFS_PATH;
  private string SAVE_FILE_PATH;
  private LogScroller _logScroller;

  private void Awake() {
    LOGS_FOLDER_PATH = string.Format("{0}/Logs", Application.persistentDataPath);
    PLAYER_PREFS_PATH = string.Format("/data/data/{0}/shared_prefs/{0}.v2.playerprefs.xml", Application.identifier);

    // Path that you would input under save file paths when uploading binary to Facebook Developer App
    SAVE_FILE_PATH = Application.persistentDataPath + "/savefile.txt";

    _logScroller = transform.root.GetComponent<UIState>().logScroller;
  }

  // player prefs
  public void OnLogPlayerPrefsBtnClick () {
    int mutedState = PlayerPrefs.GetInt("muted");
    // Debug.Log(mutedState);
    _logScroller.Log("muted: " + mutedState);
  }
  public void OnSavePlayerPrefsBtnClick () {
    _logScroller.Log("PlayerPrefs Saved\n" + PLAYER_PREFS_PATH);
    PlayerPrefs.Save();
  }

  // log files
  public void OnDeleteLogFilesBtnClick () {
    Directory.Delete(LOGS_FOLDER_PATH, true);
    _logScroller.Log("All Logs Deleted");
  }
  public void OnSaveLogsBtnClick () {
    _logScroller.Log("Saving Logs to Disk");

    if (!Directory.Exists(LOGS_FOLDER_PATH)) {
      Directory.CreateDirectory(LOGS_FOLDER_PATH);
    }

    string filePath = string.Format("{0}/{1}.txt", LOGS_FOLDER_PATH, DateTimeOffset.Now.ToUnixTimeSeconds());

    try {
      File.AppendAllLines(filePath, _logScroller.texts);
      _logScroller.Log("Logs saved to " + filePath);
    } catch (Exception err) {
      _logScroller.Log("ERR: Failed to save logs\n" + err.Message);
    }
  }

  // save file
  public void OnAppendSaveFileBtnClick () {
    _logScroller.Log("Appending to Save File");
    try {
      File.AppendAllText(SAVE_FILE_PATH, _customInputField.text + "\n");
      _customInputField.text = "";
      _logScroller.Log("Appended to\n" + SAVE_FILE_PATH);
    } catch (Exception err) {
      _logScroller.Log("ERR: Failed to append to save file\n" + err.Message);
    }
  }
  public void OnDeleteSaveFileBtnClick () {
    File.Delete(SAVE_FILE_PATH);
    _logScroller.Log("Save File Deleted");
  }
  public void OnLogSaveFileBtnClick () {
    _logScroller.Log("Loading Save File");
    try {
      string[] lines = File.ReadAllLines(SAVE_FILE_PATH);
      _logScroller.Log(string.Format("Save file has {0} lines:\n\n{1}", lines.Length, String.Join("\n", lines)));
    } catch (Exception err) {
      _logScroller.Log("ERR: Failed to load from save file\n" + err.Message);
    }
  }
  public void OnLogSaveFilePathBtnClick () {
    _logScroller.Log("Save file path\n" + SAVE_FILE_PATH);
  }
}