示例#1
0
    void Start()
    {
#if UNITY_WEBGL
        tapeList = new List <TapePair>();
        foreach (TextAsset ta in textAssets)
        {
            tapeList.Add(new TapePair(ta.name, ta.ToString()));
        }
#else
        string filePath = Application.persistentDataPath + @"/Tapes/";
        if (!Directory.Exists(filePath))
        {
            Directory.CreateDirectory(filePath);
        }
        string versionPath = Application.persistentDataPath + @"/Tapes/version";
        string verString   = "";
        if (File.Exists(versionPath))
        {
            verString = File.ReadAllText(versionPath);
        }
        if (verString != Application.version)
        {
            foreach (TextAsset ta in textAssets)
            {
                File.WriteAllText(filePath + ta.name, ta.ToString());
            }
            File.WriteAllText(versionPath, Application.version);
        }
#endif
        readTapeScript = null;
    }
示例#2
0
 public void selected(MiniTapeScript m)
 {
     readTapeScript.readString(m.getData());
     for (int i = 0; i < tapes.Length; i++)
     {
         Destroy(tapes[i]);
     }
     tapes          = null;
     readTapeScript = null;
 }
示例#3
0
    public void setTapeScript(TapeScript t)
    {
        if (readTapeScript != null)
        {
            return;
        }
        readTapeScript = t;

#if UNITY_WEBGL
        tapes = new GameObject[tapeList.Count];

        int i = 0;
        foreach (TapePair tp in tapeList)
        {
            tapes[i] = Instantiate(miniTapePrefab,
                                   t.gameObject.transform.position + new Vector3(-0.025f, 0.12f + 0.01f * i, 0.0f),
                                   miniTapePrefab.transform.rotation);
            tapes[i].GetComponent <MiniTapeScript>().setName(tp.name);
            tapes[i].GetComponent <MiniTapeScript>().setData(tp.content);
            tapes[i].GetComponent <MiniTapeScript>().setTapeLibraryScript(this);
            tapes[i].GetComponent <MiniTapeScript>().setFont(font);
            i++;
        }
#else
        string filePath = Application.persistentDataPath + @"/Tapes/";

        DirectoryInfo   dir      = new DirectoryInfo(filePath);
        List <FileInfo> infoList = new List <FileInfo>();
        infoList.AddRange(dir.GetFiles("*.ptw"));
        infoList.AddRange(dir.GetFiles("*.ptr"));
        infoList.AddRange(dir.GetFiles("*.ptp"));
        infoList.AddRange(dir.GetFiles("*.txt"));
        tapes = new GameObject[infoList.Count];

        int i = 0;
        foreach (FileInfo f in infoList)
        {
            tapes[i] = Instantiate(miniTapePrefab,
                                   t.gameObject.transform.position + new Vector3(-0.025f, 0.12f + 0.01f * i, 0.0f),
                                   miniTapePrefab.transform.rotation);
            tapes[i].GetComponent <MiniTapeScript>().setName(f.Name);
            tapes[i].GetComponent <MiniTapeScript>().setData(System.IO.File.ReadAllText(f.ToString()));
            tapes[i].GetComponent <MiniTapeScript>().setTapeLibraryScript(this);
            tapes[i].GetComponent <MiniTapeScript>().setFont(font);
            i++;
        }
#endif
    }