/** [シングルトン]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); }
/** [シングルトン]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(); }
/** 更新。 * * 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); }