/** CoroutineMain
         */
        public System.Collections.IEnumerator CoroutineMain(Fee.Crypt.OnCryptCoroutine_CallBackInterface a_callback_interface, byte[] a_binary, string a_pass, string a_salt)
        {
            //result
            this.result = new ResultType();

            //taskprogress
            this.taskprogress = 0.0f;

            //キャンセルトークン。
            Fee.TaskW.CancelToken t_cancel_token = new Fee.TaskW.CancelToken();

            //result
            Task_EncryptPass.ResultType t_result;

            //タスク起動。
            using (Fee.TaskW.Task <Task_EncryptPass.ResultType> t_task = Task_EncryptPass.Run(this, a_binary, a_pass, a_salt, t_cancel_token)){
                //終了待ち。
                do
                {
                    //キャンセル。
                    if (a_callback_interface != null)
                    {
                        if (a_callback_interface.OnCryptCoroutine(this.taskprogress) == false)
                        {
                            t_cancel_token.Cancel();
                        }
                    }
                    yield return(null);
                }while(t_task.IsEnd() == false);

                //結果。
                t_result = t_task.GetResult();

                //成功。
                if (t_task.IsSuccess() == true)
                {
                    if (t_result.binary != null)
                    {
                        this.result.binary = t_result.binary;
                        yield break;
                    }
                }
            }

            //失敗。
            if (t_result.errorstring != null)
            {
                this.result.errorstring = t_result.errorstring;
                yield break;
            }
            else
            {
                this.result.errorstring = "Coroutine_EncryptPass : null";
                yield break;
            }
        }
Пример #2
0
        /** CoroutineMain
         */
        public System.Collections.IEnumerator CoroutineMain(Fee.File.OnFileCoroutine_CallBackInterface a_callback_interface, Fee.File.Path a_path)
        {
            //result
            this.result = null;

            //taskprogress_
            this.taskprogress = 0.0f;

            //ロード。
            byte[] t_result_binary = null;
            {
                //キャンセルトークン。
                Fee.TaskW.CancelToken t_cancel_token = new Fee.TaskW.CancelToken();

                //タスク起動。
                using (Fee.TaskW.Task <Task_LoadLocalBinaryFile.ResultType> t_task = Task_LoadLocalBinaryFile.Run(this, a_path, t_cancel_token)){
                    //終了待ち。
                    do
                    {
                        //キャンセルチェック。
                        {
                            if (a_callback_interface != null)
                            {
                                if (a_callback_interface.OnFileCoroutine(this.taskprogress) == false)
                                {
                                    t_cancel_token.Cancel();
                                }
                            }
                        }

                        yield return(null);
                    }while(t_task.IsEnd() == false);

                    //結果。
                    Task_LoadLocalBinaryFile.ResultType t_result = t_task.GetResult();

                    if (t_result.errorstring != null)
                    {
                        //エラー。
                        this.result = new ResultType(null, t_result.errorstring);
                        yield break;
                    }

                    if (t_task.IsSuccess() == false)
                    {
                        //エラー。
                        this.result = new ResultType(null, "Task Error : LoadLocalTextureFile : " + a_path.GetPath());
                        yield break;
                    }

                    if (t_result.binary == null)
                    {
                        //エラー。
                        this.result = new ResultType(null, "Unknown Error : LoadLocalTextureFile : " + a_path.GetPath());
                        yield break;
                    }

                    //成功。
                    t_result_binary = t_result.binary;
                }
            }

            //コンバート。
            UnityEngine.Texture2D t_result_texture = null;
            {
                t_result_texture = BinaryToTexture2D.Convert(t_result_binary);
                if (t_result_texture == null)
                {
                    //エラー。
                    this.result = new ResultType(null, "Convert Error : LoadLocalTextureFile : " + a_path.ToString());
                    yield break;
                }
            }

            //成功。
            this.result = new ResultType(t_result_texture, null);
            yield break;
        }
        /** CoroutineMain
         */
        public System.Collections.IEnumerator CoroutineMain(Fee.File.OnFileCoroutine_CallBackInterface a_callback_interface, Fee.File.Path a_path, byte[] a_binary)
        {
            //result
            this.result = null;

            //taskprogress_
            this.taskprogress = 0.0f;

            //チェック。
            if (a_binary == null)
            {
                //エラー。
                this.result = new ResultType(false, "Param Error : SaveLocalBinaryFile : " + a_path.GetPath());
                yield break;
            }

            //セーブ。
            bool t_result_saveend = false;

            {
                //キャンセルトークン。
                Fee.TaskW.CancelToken t_cancel_token = new Fee.TaskW.CancelToken();

                //タスク起動。
                using (Fee.TaskW.Task <Task_SaveLocalBinaryFile.ResultType> t_task = Task_SaveLocalBinaryFile.Run(this, a_path, a_binary, t_cancel_token)){
                    //終了待ち。
                    do
                    {
                        //キャンセルチェック。
                        {
                            if (a_callback_interface != null)
                            {
                                if (a_callback_interface.OnFileCoroutine(this.taskprogress) == false)
                                {
                                    t_cancel_token.Cancel();
                                }
                            }
                        }

                        yield return(null);
                    }while(t_task.IsEnd() == false);

                    //結果。
                    Task_SaveLocalBinaryFile.ResultType t_result = t_task.GetResult();

                    if (t_result.errorstring != null)
                    {
                        //エラー。
                        this.result = new ResultType(false, t_result.errorstring);
                        yield break;
                    }

                    if (t_task.IsSuccess() == false)
                    {
                        //エラー。
                        this.result = new ResultType(false, "Task Error : SaveLocalBinaryFile : " + a_path.GetPath());
                        yield break;
                    }

                    if (t_result.saveend == false)
                    {
                        //エラー。
                        this.result = new ResultType(false, "Unknown Error : SaveLocalBinaryFile : " + a_path.GetPath());
                        yield break;
                    }

                    //成功。
                    t_result_saveend = t_result.saveend;
                }
            }

            this.result = new ResultType(t_result_saveend, null);
            yield break;
        }
Пример #4
0
        /** CoroutineMain
         */
        public System.Collections.IEnumerator CoroutineMain(Fee.File.OnFileCoroutine_CallBackInterface a_callback_interface, Fee.File.Path a_path, UnityEngine.Texture2D a_texture)
        {
            //result
            this.result = null;

            //taskprogress_
            this.taskprogress = 0.0f;

            //チェック。
            if (a_texture == null)
            {
                //エラー。
                this.result = new ResultType(false, "Convert Error : SaveLocalTextureFile : " + a_path.GetPath());
                yield break;
            }

            //コンバート。
            byte[] t_result_binary = null;
            {
                try{
                    byte[] t_result = UnityEngine.ImageConversion.EncodeToPNG(a_texture);

                    if (t_result == null)
                    {
                        //エラー。
                        this.result = new ResultType(false, "Convert Error : SaveLocalTextureFile : " + a_path.GetPath());
                        yield break;
                    }

                    t_result_binary = t_result;
                }catch (System.Exception t_exception) {
                    //エラー。
                    this.result = new ResultType(false, "Convert Error : SaveLocalTextureFile : " + a_path.GetPath() + " : " + t_exception.Message);
                    yield break;
                }
            }

            //セーブ。
            bool t_result_saveend = false;

            {
                //キャンセルトークン。
                Fee.TaskW.CancelToken t_cancel_token = new Fee.TaskW.CancelToken();

                //タスク起動。
                using (Fee.TaskW.Task <Task_SaveLocalBinaryFile.ResultType> t_task = Task_SaveLocalBinaryFile.Run(this, a_path, t_result_binary, t_cancel_token)){
                    //終了待ち。
                    do
                    {
                        //キャンセルチェック。
                        {
                            if (a_callback_interface != null)
                            {
                                if (a_callback_interface.OnFileCoroutine(this.taskprogress) == false)
                                {
                                    t_cancel_token.Cancel();
                                }
                            }
                        }

                        yield return(null);
                    }while(t_task.IsEnd() == false);

                    //結果。
                    Task_SaveLocalBinaryFile.ResultType t_result = t_task.GetResult();

                    if (t_result.errorstring != null)
                    {
                        //エラー。
                        this.result = new ResultType(false, t_result.errorstring);
                        yield break;
                    }

                    if (t_task.IsSuccess() == false)
                    {
                        //エラー。
                        this.result = new ResultType(false, "Task Error : SaveLocalTextureFile : " + a_path.GetPath());
                        yield break;
                    }

                    if (t_result.saveend == false)
                    {
                        //エラー。
                        this.result = new ResultType(false, "Unknown Error : SaveLocalTextureFile : " + a_path.GetPath());
                        yield break;
                    }

                    //成功。
                    t_result_saveend = t_result.saveend;
                }
            }

            this.result = new ResultType(t_result_saveend, null);
            yield break;
        }