summaryrefslogtreecommitdiff
path: root/Client/Assets/Scripts/XMainClient/PTC/Process/Process_RpcC2G_Revive.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-01-25 14:28:30 +0800
committerchai <chaifix@163.com>2021-01-25 14:28:30 +0800
commit6eb915c129fc90c6f4c82ae097dd6ffad5239efc (patch)
tree7dd2be50edf41f36b60fac84696e731c13afe617 /Client/Assets/Scripts/XMainClient/PTC/Process/Process_RpcC2G_Revive.cs
+scripts
Diffstat (limited to 'Client/Assets/Scripts/XMainClient/PTC/Process/Process_RpcC2G_Revive.cs')
-rw-r--r--Client/Assets/Scripts/XMainClient/PTC/Process/Process_RpcC2G_Revive.cs90
1 files changed, 90 insertions, 0 deletions
diff --git a/Client/Assets/Scripts/XMainClient/PTC/Process/Process_RpcC2G_Revive.cs b/Client/Assets/Scripts/XMainClient/PTC/Process/Process_RpcC2G_Revive.cs
new file mode 100644
index 00000000..4bfcc3d7
--- /dev/null
+++ b/Client/Assets/Scripts/XMainClient/PTC/Process/Process_RpcC2G_Revive.cs
@@ -0,0 +1,90 @@
+using System;
+using System.Reflection;
+using KKSG;
+using XMainClient.UI;
+using XUtliPoolLib;
+
+namespace XMainClient
+{
+ internal class Process_RpcC2G_Revive
+ {
+ public static void OnReply(ReviveArg oArg, ReviveRes oRes)
+ {
+ bool flag = oRes.result == ErrorCode.ERR_INVALID_REQUEST;
+ if (flag)
+ {
+ string fullName = MethodBase.GetCurrentMethod().ReflectedType.FullName;
+ XSingleton<UiUtility>.singleton.OnGetInvalidRequest(fullName);
+ }
+ else
+ {
+ XSingleton<XDebug>.singleton.AddLog("Revieve Type: " + oArg.type, null, null, null, null, null, XDebugColor.XDebug_None);
+ XReviveDocument specificDocument = XDocuments.GetSpecificDocument<XReviveDocument>(XReviveDocument.uuID);
+ specificDocument.ResetAutoReviveData();
+ ErrorCode result = oRes.result;
+ if (result != ErrorCode.ERR_SUCCESS)
+ {
+ if (result != ErrorCode.ERR_REVIVE_MAXNUM)
+ {
+ ReviveType type = oArg.type;
+ if (type != ReviveType.ReviveItem)
+ {
+ XSingleton<UiUtility>.singleton.ShowSystemTip(oRes.result, "fece00");
+ }
+ else
+ {
+ bool flag2 = specificDocument.SpecialCostID > 0u;
+ if (flag2)
+ {
+ specificDocument.ShowSpecialRevive();
+ }
+ else
+ {
+ XSingleton<UiUtility>.singleton.ShowSystemTip(oRes.result, "fece00");
+ }
+ }
+ }
+ else
+ {
+ XSingleton<UiUtility>.singleton.ShowSystemTip(oRes.result, "fece00");
+ }
+ }
+ else
+ {
+ switch (oArg.type)
+ {
+ case ReviveType.ReviveItem:
+ case ReviveType.ReviveMoney:
+ specificDocument.SetReviveData(specificDocument.ReviveUsedTime + 1, specificDocument.ReviveCostTime + 1, ReviveType.ReviveNone);
+ break;
+ case ReviveType.ReviveSprite:
+ {
+ bool flag3 = oArg.clientinfo != null && oArg.clientinfo.islimit;
+ if (flag3)
+ {
+ specificDocument.SetReviveData(specificDocument.ReviveUsedTime + 1, specificDocument.ReviveCostTime, ReviveType.ReviveNone);
+ }
+ break;
+ }
+ case ReviveType.ReviveVIP:
+ {
+ bool flag4 = specificDocument.VipReviveCount > 0u;
+ if (flag4)
+ {
+ XReviveDocument xreviveDocument = specificDocument;
+ uint vipReviveCount = xreviveDocument.VipReviveCount - 1u;
+ xreviveDocument.VipReviveCount = vipReviveCount;
+ }
+ specificDocument.SetReviveData(specificDocument.ReviveUsedTime + 1, specificDocument.ReviveCostTime, ReviveType.ReviveNone);
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ public static void OnTimeout(ReviveArg oArg)
+ {
+ }
+ }
+}