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.uuID); bool flag2 = !specificDocument.RequestServer && !XSingleton.singleton.SyncMode; if (!flag2) { bool haveBattleResultData = XSingleton.singleton.HaveBattleResultData; if (!haveBattleResultData) { bool flag3 = specificDocument.CurrentScene != roPtc.Data.stageInfo.stageID; if (!flag3) { XSingleton.singleton.HaveBattleResultData = true; specificDocument.RequestServer = false; XSingleton.singleton.Stop(true); bool isStageFailed = roPtc.Data.stageInfo.isStageFailed; if (isStageFailed) { XSingleton.singleton.OnLevelFailed(); } else { bool flag4 = !XSingleton.singleton.bSpectator; if (flag4) { specificDocument.SetBattleResultData(roPtc.Data); } XSingleton.singleton.IsCurrentLevelWin = true; XSingleton.singleton.StartLevelFinish(); } XSingleton.singleton.DoScriptRecord(roPtc.Data.stageInfo.stageID + "after"); XStaticSecurityStatistics.OnEnd(); } } } } } } }