Пример #1
0
        /** [シングルトン]constructor
         */
        private File()
        {
            //work
            this.work_pool = new List.NodePool <WorkItem>(16);
            this.work_add  = new System.Collections.Generic.LinkedList <WorkItem>();
            this.work_list = new System.Collections.Generic.LinkedList <WorkItem>();

            //main_androidcontent
            this.main_androidcontent = new Main_AndroidContent();

            //main_io
            this.main_io = new Main_Io();

            //main_webrequest
            this.main_webrequest = new Main_WebRequest();

            //main_resources
            this.main_resources = new Main_Resources();

            //certificate_list
            this.certificate_list = new CertificateList();

            //PlayerLoopType
            this.playerloop_flag = true;
            Fee.PlayerLoopSystem.PlayerLoopSystem.GetInstance().Add(Config.PLAYERLOOP_ADDTYPE, Config.PLAYERLOOP_TARGETTYPE, typeof(PlayerLoopType.Fee_File_Main), this.Main);
        }
Пример #2
0
        /** [シングルトン]constructor
         */
        private File()
        {
            //main_androidcontent
            this.main_androidcontent = new Main_AndroidContent();

            //main_io
            this.main_io = new Main_Io();

            //main_webrequest
            this.main_webrequest = new Main_WebRequest();

            //main_resources
            this.main_resources = new Main_Resources();

            //work_list
            this.work_list = new System.Collections.Generic.List <WorkItem>();

            //add_list
            this.add_list = new System.Collections.Generic.List <WorkItem>();

            //certificate_list
            this.certificate_list = new CertificateList();
        }
Пример #3
0
        /** 更新。
         *
         *      return == true : 完了。
         *
         */
        public bool Main()
        {
            switch (this.mode)
            {
            case Mode.Start:
            {
                switch (this.request_type)
                {
                case RequestType.LoadLocalBinaryFile:
                {
                    if (Fee.File.File.GetInstance().GetMainIo().RequestLoadLocalBinaryFile(this.request_path) == true)
                    {
                        this.mode = Mode.Do_Io;
                    }
                } break;

                case RequestType.LoadLocalTextFile:
                {
                    if (Fee.File.File.GetInstance().GetMainIo().RequestLoadLocalTextFile(this.request_path) == true)
                    {
                        this.mode = Mode.Do_Io;
                    }
                } break;

                case RequestType.LoadLocalTextureFile:
                {
                    if (Fee.File.File.GetInstance().GetMainIo().RequestLoadLocalTextureFile(this.request_path) == true)
                    {
                        this.mode = Mode.Do_Io;
                    }
                } break;

                case RequestType.SaveLocalBinaryFile:
                {
                    if (Fee.File.File.GetInstance().GetMainIo().RequestSaveLocalBinaryFile(this.request_path, this.request_binary) == true)
                    {
                        this.mode = Mode.Do_Io;
                    }
                } break;

                case RequestType.SaveLocalTextFile:
                {
                    if (Fee.File.File.GetInstance().GetMainIo().RequestSaveLocalTextFile(this.request_path, this.request_text) == true)
                    {
                        this.mode = Mode.Do_Io;
                    }
                } break;

                case RequestType.SaveLocalTextureFile:
                {
                    if (Fee.File.File.GetInstance().GetMainIo().RequestSaveLocalTextureFile(this.request_path, this.request_texture) == true)
                    {
                        this.mode = Mode.Do_Io;
                    }
                } break;

                case RequestType.LoadUrlBinaryFile:
                {
                    if (Fee.File.File.GetInstance().GetMainWebRequest().RequestLoadUrlBinaryFile(this.request_path, this.request_post_data, this.request_certificate_handler) == true)
                    {
                        this.mode = Mode.Do_WebRequest;
                    }
                } break;

                case RequestType.LoadUrlTextFile:
                {
                    if (Fee.File.File.GetInstance().GetMainWebRequest().RequestLoadUrlTextFile(this.request_path, this.request_post_data, this.request_certificate_handler) == true)
                    {
                        this.mode = Mode.Do_WebRequest;
                    }
                } break;

                case RequestType.LoadUrlTextureFile:
                {
                    if (Fee.File.File.GetInstance().GetMainWebRequest().RequestLoadUrlTextureFile(this.request_path, this.request_post_data, this.request_certificate_handler) == true)
                    {
                        this.mode = Mode.Do_WebRequest;
                    }
                } break;

                case RequestType.LoadStreamingAssetsBinaryFile:
                {
                                                        #if ((UNITY_STANDALONE) || (UNITY_EDITOR))
                    {
                        if (Fee.File.File.GetInstance().GetMainIo().RequestLoadStreamingAssetsBinaryFile(this.request_path) == true)
                        {
                            this.mode = Mode.Do_Io;
                        }
                    }
                                                        #else
                    {
                        //UNITY_ANDROID || UNITY_WEBGL
                        if (Fee.File.File.GetInstance().GetMainWebRequest().RequestLoadStreamingAssetsBinaryFile(this.request_path) == true)
                        {
                            this.mode = Mode.Do_WebRequest;
                        }
                    }
                                                        #endif
                } break;

                case RequestType.LoadStreamingAssetsTextFile:
                {
                                                        #if ((UNITY_STANDALONE) || (UNITY_EDITOR))
                    {
                        if (Fee.File.File.GetInstance().GetMainIo().RequestLoadStreamingAssetsTextFile(this.request_path) == true)
                        {
                            this.mode = Mode.Do_Io;
                        }
                    }
                                                        #else
                    {
                        //UNITY_ANDROID || UNITY_WEBGL
                        if (Fee.File.File.GetInstance().GetMainWebRequest().RequestLoadStreamingAssetsTextFile(this.request_path) == true)
                        {
                            this.mode = Mode.Do_WebRequest;
                        }
                    }
                                                        #endif
                } break;

                case RequestType.LoadStreamingAssetsTextureFile:
                {
                                                        #if ((UNITY_STANDALONE) || (UNITY_EDITOR))
                    {
                        if (Fee.File.File.GetInstance().GetMainIo().RequestLoadStreamingAssetsTextureFile(this.request_path) == true)
                        {
                            this.mode = Mode.Do_Io;
                        }
                    }
                                                        #else
                    {
                        //UNITY_ANDROID || UNITY_WEBGL
                        if (Fee.File.File.GetInstance().GetMainWebRequest().RequestLoadStreamingAssetsTextureFile(this.request_path) == true)
                        {
                            this.mode = Mode.Do_WebRequest;
                        }
                    }
                                                        #endif
                } break;

                case RequestType.LoadResourcesTextFile:
                {
                    if (Fee.File.File.GetInstance().GetMainResources().RequestLoadResourcesTextFile(this.request_path) == true)
                    {
                        this.mode = Mode.Do_Resources;
                    }
                } break;

                case RequestType.LoadResourcesTextureFile:
                {
                    if (Fee.File.File.GetInstance().GetMainResources().RequestLoadResourcesTextureFile(this.request_path) == true)
                    {
                        this.mode = Mode.Do_Resources;
                    }
                } break;

                case RequestType.LoadResourcesPrefabFile:
                {
                    if (Fee.File.File.GetInstance().GetMainResources().RequestLoadResourcesPrefabFile(this.request_path) == true)
                    {
                        this.mode = Mode.Do_Resources;
                    }
                } break;

                case RequestType.LoadFullPathBinaryFile:
                {
                                                        #if (UNITY_ANDROID)
                    if (System.Text.RegularExpressions.Regex.IsMatch(this.request_path.GetPath(), "^content\\:\\/\\/.*$") == true)
                    {
                        if (Fee.File.File.GetInstance().GetMainAndroidContent().RequestLoadAndroidContentBinaryFile(this.request_path) == true)
                        {
                            this.mode = Mode.Do_AndroidContent;
                            break;
                        }
                    }
                                                        #endif

                                                        #if ((!UNITY_EDITOR) && (UNITY_WEBGL))
                    {
                        if (Fee.File.File.GetInstance().GetMainWebRequest().RequestLoadUrlBinaryFile(this.request_path, null, null) == true)
                        {
                            this.mode = Mode.Do_WebRequest;
                            break;
                        }
                    }
                                                        #else
                    {
                        if (System.Text.RegularExpressions.Regex.IsMatch(this.request_path.GetPath(), "^(http|https)\\:\\/\\/.*$") == true)
                        {
                            if (Fee.File.File.GetInstance().GetMainWebRequest().RequestLoadUrlBinaryFile(this.request_path, null, null) == true)
                            {
                                this.mode = Mode.Do_WebRequest;
                                break;
                            }
                        }

                        if (Fee.File.File.GetInstance().GetMainIo().RequestLoadFullPathBinaryFile(this.request_path) == true)
                        {
                            this.mode = Mode.Do_Io;
                            break;
                        }
                    }
                                                        #endif
                } break;

                case RequestType.LoadFullPathTextFile:
                {
                                                        #if (UNITY_ANDROID)
                    if (System.Text.RegularExpressions.Regex.IsMatch(this.request_path.GetPath(), "^content\\:\\/\\/.*$") == true)
                    {
                        if (Fee.File.File.GetInstance().GetMainAndroidContent().RequestLoadAndroidContentTextFile(this.request_path) == true)
                        {
                            this.mode = Mode.Do_AndroidContent;
                            break;
                        }
                    }
                                                        #endif

                                                        #if ((!UNITY_EDITOR) && (UNITY_WEBGL))
                    {
                        if (Fee.File.File.GetInstance().GetMainWebRequest().RequestLoadUrlTextFile(this.request_path, null, null) == true)
                        {
                            this.mode = Mode.Do_WebRequest;
                            break;
                        }
                    }
                                                        #else
                    {
                        if (System.Text.RegularExpressions.Regex.IsMatch(this.request_path.GetPath(), "^(http|https)\\:\\/\\/.*$") == true)
                        {
                            if (Fee.File.File.GetInstance().GetMainWebRequest().RequestLoadUrlTextFile(this.request_path, null, null) == true)
                            {
                                this.mode = Mode.Do_WebRequest;
                                break;
                            }
                        }

                        if (Fee.File.File.GetInstance().GetMainIo().RequestLoadFullPathTextFile(this.request_path) == true)
                        {
                            this.mode = Mode.Do_Io;
                            break;
                        }
                    }
                                                        #endif
                } break;

                case RequestType.LoadFullPathTextureFile:
                {
                                                        #if (UNITY_ANDROID)
                    if (System.Text.RegularExpressions.Regex.IsMatch(this.request_path.GetPath(), "^content\\:\\/\\/.*$") == true)
                    {
                        if (Fee.File.File.GetInstance().GetMainAndroidContent().RequestLoadAndroidContentTextureFile(this.request_path) == true)
                        {
                            this.mode = Mode.Do_AndroidContent;
                            break;
                        }
                    }
                                                        #endif

                                                        #if ((!UNITY_EDITOR) && (UNITY_WEBGL))
                    {
                        if (Fee.File.File.GetInstance().GetMainWebRequest().RequestLoadUrlTextureFile(this.request_path, null, null) == true)
                        {
                            this.mode = Mode.Do_WebRequest;
                            break;
                        }
                    }
                                                        #else
                    {
                        if (System.Text.RegularExpressions.Regex.IsMatch(this.request_path.GetPath(), "^(http|https)\\:\\/\\/.*$") == true)
                        {
                            if (Fee.File.File.GetInstance().GetMainWebRequest().RequestLoadUrlTextureFile(this.request_path, null, null) == true)
                            {
                                this.mode = Mode.Do_WebRequest;
                                break;
                            }
                        }

                        if (Fee.File.File.GetInstance().GetMainIo().RequestLoadFullPathTextureFile(this.request_path) == true)
                        {
                            this.mode = Mode.Do_Io;
                            break;
                        }
                    }
                                                        #endif
                } break;

                                        #if (UNITY_EDITOR)
                case RequestType.LoadAssetsPathBinaryFile:
                {
                    if (Fee.File.File.GetInstance().GetMainIo().RequestLoadAssetsPathBinaryFile(this.request_path) == true)
                    {
                        this.mode = Mode.Do_Io;
                    }
                } break;

                case RequestType.LoadAssetsPathTextFile:
                {
                    if (Fee.File.File.GetInstance().GetMainIo().RequestLoadAssetsPathTextFile(this.request_path) == true)
                    {
                        this.mode = Mode.Do_Io;
                    }
                } break;
                                        #endif

                default:
                {
                    Tool.Assert(false);
                } break;
                }
            } break;

            case Mode.End:
            {
            } return(true);

            case Mode.Do_AndroidContent:
            {
                Main_AndroidContent t_main = Fee.File.File.GetInstance().GetMainAndroidContent();

                this.item.SetResultProgress(t_main.GetResultProgress());

                if (t_main.GetResultType() != Main_AndroidContent.ResultType.None)
                {
                    //結果。
                    bool t_success = false;
                    switch (t_main.GetResultType())
                    {
                    case Main_AndroidContent.ResultType.Asset:
                    {
                        if (t_main.GetResultAsset() != null)
                        {
                            this.item.SetResultAsset(t_main.GetResultAsset());
                            t_success = true;
                        }
                    } break;
                    }

                    if (t_success == false)
                    {
                        this.item.SetResultErrorString(t_main.GetResultErrorString());
                    }

                    //完了。
                    t_main.Fix();

                    this.mode = Mode.End;
                }
                else if (this.item.IsCancel() == true)
                {
                    //キャンセル。
                    t_main.Cancel();
                }
            } break;

            case Mode.Do_Io:
            {
                Main_Io t_main = Fee.File.File.GetInstance().GetMainIo();

                this.item.SetResultProgress(t_main.GetResultProgress());

                if (t_main.GetResultType() != Main_Io.ResultType.None)
                {
                    //結果。
                    bool t_success = false;
                    switch (t_main.GetResultType())
                    {
                    case Main_Io.ResultType.Asset:
                    {
                        if (t_main.GetResultAsset() != null)
                        {
                            this.item.SetResultAsset(t_main.GetResultAsset());
                            t_success = true;
                        }
                    } break;

                    case Main_Io.ResultType.SaveEnd:
                    {
                        this.item.SetResultSaveEnd();
                        t_success = true;
                    } break;
                    }

                    if (t_success == false)
                    {
                        this.item.SetResultErrorString(t_main.GetResultErrorString());
                    }

                    //完了。
                    t_main.Fix();

                    this.mode = Mode.End;
                }
                else if (this.item.IsCancel() == true)
                {
                    //キャンセル。
                    t_main.Cancel();
                }
            } break;

            case Mode.Do_WebRequest:
            {
                Main_WebRequest t_main = Fee.File.File.GetInstance().GetMainWebRequest();

                this.item.SetResultProgress(t_main.GetResultProgress());

                if (t_main.GetResultType() != Main_WebRequest.ResultType.None)
                {
                    //結果。
                    bool t_success = false;
                    switch (t_main.GetResultType())
                    {
                    case Main_WebRequest.ResultType.Asset:
                    {
                        if (t_main.GetResultAsset() != null)
                        {
                            this.item.SetResultResponseHeader(t_main.GetResultResponseHeader());
                            this.item.SetResultAsset(t_main.GetResultAsset());
                            t_success = true;
                        }
                    } break;
                    }

                    if (t_success == false)
                    {
                        this.item.SetResultErrorString(t_main.GetResultErrorString());
                        this.item.SetResultResponseHeader(t_main.GetResultResponseHeader());
                    }

                    //完了。
                    t_main.Fix();

                    this.mode = Mode.End;
                }
                else if (this.item.IsCancel() == true)
                {
                    //キャンセル。
                    t_main.Cancel();
                }
            } break;

            case Mode.Do_Resources:
            {
                Main_Resources t_main = Fee.File.File.GetInstance().GetMainResources();

                this.item.SetResultProgress(t_main.GetResultProgress());

                if (t_main.GetResultType() != Main_Resources.ResultType.None)
                {
                    //結果。
                    bool t_success = false;
                    switch (t_main.GetResultType())
                    {
                    case Main_Resources.ResultType.Asset:
                    {
                        if (t_main.GetResultAsset() != null)
                        {
                            this.item.SetResultAsset(t_main.GetResultAsset());
                            t_success = true;
                        }
                    } break;
                    }

                    if (t_success == false)
                    {
                        this.item.SetResultErrorString(t_main.GetResultErrorString());
                    }

                    //完了。
                    t_main.Fix();

                    this.mode = Mode.End;
                }
                else if (this.item.IsCancel() == true)
                {
                    //キャンセル。
                    t_main.Cancel();
                }
            } break;
            }

            return(false);
        }