diff options
author | chai <chaifix@163.com> | 2021-01-25 14:28:30 +0800 |
---|---|---|
committer | chai <chaifix@163.com> | 2021-01-25 14:28:30 +0800 |
commit | 6eb915c129fc90c6f4c82ae097dd6ffad5239efc (patch) | |
tree | 7dd2be50edf41f36b60fac84696e731c13afe617 /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.cs | 90 |
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)
+ {
+ }
+ }
+}
|