public FILEDATA Register(string name, string fullname)
    {
        if (m_table == null)
        {
            m_table = new Hashtable();
        }
        if (!m_table.ContainsKey(fullname))
        {
            var fd = new FILEDATA()
            {
                name     = name,
                fullname = fullname,
                kind     = checkKindOf(fullname),
                isNet    = checkIsNet(fullname)
            };
            m_table[fullname] = fd;

            if (!fd.isNet)
            {
                ReadLocal(fd);
            }
            return(fd);
        }
        else
        {
            return((FILEDATA)m_table[fullname]);
        }
    }
    public IEnumerator ReadAllNet(MonoBehaviour mono)
    {
        foreach (var k in m_table.Keys)
        {
            FILEDATA fd = (FILEDATA)m_table[k];
            Debug.Log("1>>>" + fd.fullname);
            if (fd.isNet == false)
            {
                continue;
            }
            if (fd.obj != null)
            {
                continue;
            }
            if (fd.kind == FILEKIND.TEXT)
            {
                Debug.Log("text>>>" + fd.fullname);
                var readFileText = hglUtil.ReadTextFile.Create(fd.fullname);
                if (readFileText.m_bHttp)
                {
                    yield return(mono.StartCoroutine(readFileText.Read(mono)));
                }
                string src = "unknown";
                if (readFileText.m_error != null || readFileText.m_text == null)
                {
                    if (readFileText.m_error != null)
                    {
                        hglUtil.Log(readFileText.m_error);
                        src = "<p>" + hglUtil.GetLog() + "</p>";
                    }
                }
                else
                {
                    src = readFileText.m_text;
                }

                fd.obj  = src;
                fd.size = src.Length;
            }
            else if (fd.kind == FILEKIND.TEXTURE)
            {
                Debug.Log("texture>>>" + fd.fullname);
                var readTexture = hglUtil.ReadTextureFile.Create(fd.fullname);
                if (readTexture.m_bHttp)
                {
                    yield return(mono.StartCoroutine(readTexture.Read(mono)));
                }
                if (readTexture.m_error != null || readTexture.m_texture == null)
                {
                    fd.obj = null;
                }
                else
                {
                    fd.obj  = readTexture.m_texture;
                    fd.size = readTexture.m_texture.width * readTexture.m_texture.height;  // Assumed
                }
            }
        }
    }
 public bool CheckHasNetFiles()
 {
     if (m_table != null)
     {
         foreach (var k in m_table.Keys)
         {
             FILEDATA fd = (FILEDATA)m_table[k];
             if (fd.isNet && fd.obj == null)
             {
                 return(true);
             }
         }
     }
     return(false);
 }
 public void Register(string name, string fullname, string text)
 {
     if (m_table == null)
     {
         m_table = new Hashtable();
     }
     m_table[fullname] = new FILEDATA()
     {
         name     = name,
         fullname = fullname,
         kind     = FILEKIND.TEXT,
         isNet    = false,
         obj      = text,
         size     = text.Length
     };
 }
    public IEnumerator ReadNet(FILEDATA fd, MonoBehaviour mono)
    {
        if (fd.kind == FILEKIND.TEXT)
        {
            var readFileText = hglUtil.ReadTextFile.Create(fd.fullname);
            if (readFileText.m_bHttp)
            {
                yield return(mono.StartCoroutine(readFileText.Read(mono)));
            }
            string src = "unknown";
            if (readFileText.m_error != null || readFileText.m_text == null)
            {
                if (readFileText.m_error != null)
                {
                    hglUtil.Log(readFileText.m_error);
                    src = "<p>" + hglUtil.GetLog() + "</p>";
                }
            }
            else
            {
                src = readFileText.m_text;
            }

            fd.obj  = src;
            fd.size = src.Length;
        }
        else if (fd.kind == FILEKIND.TEXTURE)
        {
            var readTexture = hglUtil.ReadTextureFile.Create(fd.fullname);
            if (readTexture.m_bHttp)
            {
                yield return(mono.StartCoroutine(readTexture.Read(mono)));
            }
            if (readTexture.m_error != null || readTexture.m_texture == null)
            {
                fd.obj = null;
            }
            else
            {
                fd.obj  = readTexture.m_texture;
                fd.size = readTexture.m_texture.width * readTexture.m_texture.height;  // Assumed
            }
        }
    }
    private void ReadLocal(FILEDATA fd)
    {
        if (fd.obj != null)
        {
            return;
        }

        if (fd.kind == FILEKIND.TEXT)
        {
            var    readFileText = hglUtil.ReadTextFile.Create(fd.fullname);
            string src          = "unknown";
            if (readFileText.m_error != null || readFileText.m_text == null)
            {
                if (readFileText.m_error != null)
                {
                    src = "<p>" + readFileText.m_error + "</p>";
                }
            }
            else
            {
                src = readFileText.m_text;
            }
            fd.obj  = src;
            fd.size = src.Length;
        }
        else if (fd.kind == FILEKIND.TEXTURE)
        {
            var readTexture = hglUtil.ReadTextureFile.Create(fd.fullname);
            if (readTexture.m_error != null || readTexture.m_texture == null)
            {
                fd.obj = null;
            }
            else
            {
                fd.obj  = readTexture.m_texture;
                fd.size = readTexture.m_texture.width * readTexture.m_texture.height;  // Assumed
            }
        }
    }
Exemple #7
0
 public Int32 DLL_FileSystem_GetFile(ref FSDATA fsdata, string path, ref FILEDATA dest)
 {
     return(GetProcAddress <Functions.DLL_FileSystem_GetFile>()(ref fsdata, stringToNullTerminatedUtf8(path), ref dest));
 }
Exemple #8
0
 public void DLL_File_CloseFile(ref FILEDATA filedata)
 {
     GetProcAddress <Functions.DLL_File_CloseFile>()(ref filedata);
 }
Exemple #9
0
 public long DLL_File_GetSize(ref FILEDATA fd)
 {
     return(GetProcAddress <Functions.DLL_File_GetSize>()(ref fd));
 }
Exemple #10
0
 public long DLL_File_Read(ref FILEDATA fd, IntPtr dest, long read_size)
 {
     return(GetProcAddress <Functions.DLL_File_Read>()(ref fd, dest, read_size));
 }
Exemple #11
0
 public bool DLL_File_SetSeek(ref FILEDATA fd, long seek, bool absolute_move)
 {
     return(GetProcAddress <Functions.DLL_File_SetSeek>()(ref fd, seek, absolute_move));
 }
Exemple #12
0
 public bool DLL_File_IsValid(ref FILEDATA fd)
 {
     return(GetProcAddress <Functions.DLL_File_IsValid>()(ref fd));
 }