blob: b509f3872373e7b7716713831b0edc77baa74001 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
using System;
using XUtliPoolLib;
namespace XMainClient
{
internal class Process_PtcG2C_BattleResultNtf
{
public static void Process(PtcG2C_BattleResultNtf roPtc)
{
bool flag = roPtc.Data == null || roPtc.Data.stageInfo == null;
if (!flag)
{
XLevelRewardDocument specificDocument = XDocuments.GetSpecificDocument<XLevelRewardDocument>(XLevelRewardDocument.uuID);
bool flag2 = !specificDocument.RequestServer && !XSingleton<XGame>.singleton.SyncMode;
if (!flag2)
{
bool haveBattleResultData = XSingleton<XLevelFinishMgr>.singleton.HaveBattleResultData;
if (!haveBattleResultData)
{
bool flag3 = specificDocument.CurrentScene != roPtc.Data.stageInfo.stageID;
if (!flag3)
{
XSingleton<XLevelFinishMgr>.singleton.HaveBattleResultData = true;
specificDocument.RequestServer = false;
XSingleton<XCutScene>.singleton.Stop(true);
bool isStageFailed = roPtc.Data.stageInfo.isStageFailed;
if (isStageFailed)
{
XSingleton<XLevelFinishMgr>.singleton.OnLevelFailed();
}
else
{
bool flag4 = !XSingleton<XScene>.singleton.bSpectator;
if (flag4)
{
specificDocument.SetBattleResultData(roPtc.Data);
}
XSingleton<XLevelFinishMgr>.singleton.IsCurrentLevelWin = true;
XSingleton<XLevelFinishMgr>.singleton.StartLevelFinish();
}
XSingleton<XOperationRecord>.singleton.DoScriptRecord(roPtc.Data.stageInfo.stageID + "after");
XStaticSecurityStatistics.OnEnd();
}
}
}
}
}
}
}
|