summaryrefslogtreecommitdiff
path: root/Thronefall_1_57/Decompile/I2.Loc/TranslationJob_Main.cs
diff options
context:
space:
mode:
authorchai <215380520@qq.com>2024-05-19 16:05:58 +0800
committerchai <215380520@qq.com>2024-05-19 16:05:58 +0800
commit8e13e7e2874adc8982e16d1d2ed2e28d7480b45f (patch)
tree63ef85c460288891f5a593d69afeca16cba050b3 /Thronefall_1_57/Decompile/I2.Loc/TranslationJob_Main.cs
parentc5f145786f4c6d2fe4bea831dfc16e52228920a5 (diff)
+1.57
Diffstat (limited to 'Thronefall_1_57/Decompile/I2.Loc/TranslationJob_Main.cs')
-rw-r--r--Thronefall_1_57/Decompile/I2.Loc/TranslationJob_Main.cs96
1 files changed, 96 insertions, 0 deletions
diff --git a/Thronefall_1_57/Decompile/I2.Loc/TranslationJob_Main.cs b/Thronefall_1_57/Decompile/I2.Loc/TranslationJob_Main.cs
new file mode 100644
index 0000000..595872a
--- /dev/null
+++ b/Thronefall_1_57/Decompile/I2.Loc/TranslationJob_Main.cs
@@ -0,0 +1,96 @@
+using System.Collections.Generic;
+
+namespace I2.Loc;
+
+public class TranslationJob_Main : TranslationJob
+{
+ private TranslationJob_WEB mWeb;
+
+ private TranslationJob_POST mPost;
+
+ private TranslationJob_GET mGet;
+
+ private Dictionary<string, TranslationQuery> _requests;
+
+ private GoogleTranslation.fnOnTranslationReady _OnTranslationReady;
+
+ public string mErrorMessage;
+
+ public TranslationJob_Main(Dictionary<string, TranslationQuery> requests, GoogleTranslation.fnOnTranslationReady OnTranslationReady)
+ {
+ _requests = requests;
+ _OnTranslationReady = OnTranslationReady;
+ mPost = new TranslationJob_POST(requests, OnTranslationReady);
+ }
+
+ public override eJobState GetState()
+ {
+ if (mWeb != null)
+ {
+ switch (mWeb.GetState())
+ {
+ case eJobState.Running:
+ return eJobState.Running;
+ case eJobState.Succeeded:
+ mJobState = eJobState.Succeeded;
+ break;
+ case eJobState.Failed:
+ mWeb.Dispose();
+ mWeb = null;
+ mPost = new TranslationJob_POST(_requests, _OnTranslationReady);
+ break;
+ }
+ }
+ if (mPost != null)
+ {
+ switch (mPost.GetState())
+ {
+ case eJobState.Running:
+ return eJobState.Running;
+ case eJobState.Succeeded:
+ mJobState = eJobState.Succeeded;
+ break;
+ case eJobState.Failed:
+ mPost.Dispose();
+ mPost = null;
+ mGet = new TranslationJob_GET(_requests, _OnTranslationReady);
+ break;
+ }
+ }
+ if (mGet != null)
+ {
+ switch (mGet.GetState())
+ {
+ case eJobState.Running:
+ return eJobState.Running;
+ case eJobState.Succeeded:
+ mJobState = eJobState.Succeeded;
+ break;
+ case eJobState.Failed:
+ mErrorMessage = mGet.mErrorMessage;
+ if (_OnTranslationReady != null)
+ {
+ _OnTranslationReady(_requests, mErrorMessage);
+ }
+ mGet.Dispose();
+ mGet = null;
+ break;
+ }
+ }
+ return mJobState;
+ }
+
+ public override void Dispose()
+ {
+ if (mPost != null)
+ {
+ mPost.Dispose();
+ }
+ if (mGet != null)
+ {
+ mGet.Dispose();
+ }
+ mPost = null;
+ mGet = null;
+ }
+}