Tanoda
LoadQuizButton.cs
Go to the documentation of this file.
1using System;
2using System.Collections;
3using System.Collections.Generic;
4using System.IO;
5using System.Linq;
6using System.Text;
7using GILES;
8using GILES.Interface;
9using UnityEngine;
10using UnityEngine.UI;
11
13{
14
16
17 public InputField Q, A, B, C, D;
18
19 public Dropdown type;
20
21 public Toggle Ta, Tb, Tc, Td;
22
23 public InputField timeout;
24
25 public override string tooltip { get { return Macro.T("BTN_LOAD_QUIZ"); } }
26
30 public void OpenLoadPanel()
31 {
32 pb_FileDialog dlog = GameObject.Instantiate(dialogPrefab);
33 dlog.SetDirectory(Application.streamingAssetsPath);
34 dlog.isFileBrowser = true;
35 dlog.filePattern = "*.qiz";
36 dlog.AddOnSaveListener(OnOpen);
37
38 pb_ModalWindow.SetContent(dlog.gameObject);
39 pb_ModalWindow.SetTitle("TXT_OPEN_QUIZ_FILE");
41 }
42
43 private void OnOpen(string path)
44 {
45#if UNITY_WEBGL
46 Debug.Log($"path: {path}, searchpath: {path.Remove(0, path.LastIndexOf("/") + 1)}");
47 var txt = Encoding.UTF8.GetString(FileDragAndDrop.instance.paretnObject.transform.GetComponentsInChildren<UploadedFile>(true).First(file => file.fileName == path.Remove(0, path.LastIndexOf("/") + 1)).modelData);
48#else
49 var txt = File.ReadAllText(path);
50#endif
51 var dataArray = txt.Split('\n');
52
53 type.value = Convert.ToInt32(dataArray[0]);
54 Ta.isOn = Convert.ToBoolean(dataArray[1]);
55 Tb.isOn = Convert.ToBoolean(dataArray[2]);
56 Tc.isOn = Convert.ToBoolean(dataArray[3]);
57 Td.isOn = Convert.ToBoolean(dataArray[4]);
58 Q.text = Encoding.UTF8.GetString(Convert.FromBase64String(dataArray[5]));
59 A.text = Encoding.UTF8.GetString(Convert.FromBase64String(dataArray[6]));
60 B.text = Encoding.UTF8.GetString(Convert.FromBase64String(dataArray[7]));
61 C.text = Encoding.UTF8.GetString(Convert.FromBase64String(dataArray[8]));
62 D.text = Encoding.UTF8.GetString(Convert.FromBase64String(dataArray[9]));
63 try
64 {
65 timeout.text = Encoding.UTF8.GetString(Convert.FromBase64String(dataArray[10]));
66 }
67 catch (Exception)
68 {
69 //old save
70 }
71 }
72
73}
UnityEngine.Debug Debug
Definition: TanodaServer.cs:19
static FileDragAndDrop instance
string filePattern
If isFileBrowser is true, this string my be used to filter file results (see https://msdn....
void AddOnSaveListener(Callback< string > listener)
void SetDirectory(string directory)
static void SetTitle(string title)
static void SetContent(GameObject prefab)
pb_FileDialog dialogPrefab
InputField C
InputField timeout
void OpenLoadPanel()
InputField A
InputField D
InputField Q
InputField B
override string tooltip
Definition: Macro.cs:12
static string T(string key)
Definition: Macro.cs:19
byte[] modelData
Definition: UploadedFile.cs:7