From 6eb915c129fc90c6f4c82ae097dd6ffad5239efc Mon Sep 17 00:00:00 2001 From: chai Date: Mon, 25 Jan 2021 14:28:30 +0800 Subject: +scripts --- .../PTC/Process/Process_RpcC2G_DoEnterScene.cs | 153 +++++++++++++++++++++ 1 file changed, 153 insertions(+) create mode 100644 Client/Assets/Scripts/XMainClient/PTC/Process/Process_RpcC2G_DoEnterScene.cs (limited to 'Client/Assets/Scripts/XMainClient/PTC/Process/Process_RpcC2G_DoEnterScene.cs') diff --git a/Client/Assets/Scripts/XMainClient/PTC/Process/Process_RpcC2G_DoEnterScene.cs b/Client/Assets/Scripts/XMainClient/PTC/Process/Process_RpcC2G_DoEnterScene.cs new file mode 100644 index 00000000..ed1ff9c1 --- /dev/null +++ b/Client/Assets/Scripts/XMainClient/PTC/Process/Process_RpcC2G_DoEnterScene.cs @@ -0,0 +1,153 @@ +using System; +using KKSG; +using UnityEngine; +using XMainClient.UI; +using XMainClient.UI.UICommon; +using XUtliPoolLib; + +namespace XMainClient +{ + internal class Process_RpcC2G_DoEnterScene + { + public static uint runstate + { + get + { + return Process_RpcC2G_DoEnterScene._runstate; + } + } + + private static uint _runstate = 0u; + + public static void OnReply(DoEnterSceneArg oArg, DoEnterSceneRes oRes) + { + bool flag = oRes.errorcode == ErrorCode.ERR_INVALID_REQUEST; + if (flag) + { + XSingleton.singleton.AddErrorLog("RpcC2G_DoEnterScene ERR_INVALID_REQUEST!", null, null, null, null, null); + } + else + { + bool flag2 = !XSingleton.singleton.bSceneLoadedRpcSend; + if (!flag2) + { + XSingleton.singleton.bSceneServerReady = true; + XSingleton.singleton.bSceneLoadedRpcSend = false; + XSingleton.singleton.AddLog("Enter scene ", XSingleton.singleton.SceneID.ToString(), null, null, null, null, XDebugColor.XDebug_None); + bool flag3 = oRes.errorcode == ErrorCode.ERR_DOENTERSCENE_FAILED; + if (flag3) + { + XSingleton.singleton.AddLog("ERR_DOENTERSCENE_FAILED", null, null, null, null, null, XDebugColor.XDebug_None); + } + else + { + Process_RpcC2G_DoEnterScene._runstate = oRes.scenestate.runstate; + Vector3 vector; + vector = new Vector3(oRes.pos.x, oRes.pos.y, oRes.pos.z); + Vector3 vector2 = XSingleton.singleton.FloatToAngle(oRes.face); + Vector3 face = XSingleton.singleton.FloatToAngle(oRes.initface); + XSingleton.singleton.Player.Attributes.OnFightGroupChange((XSingleton.singleton.SyncModeValue != 0) ? oRes.fightgroup : 1u); + XSingleton.singleton.Player.Attributes.AppearAt = vector; + XSingleton.singleton.Player.Net.CorrectNet(vector, face, 0u, true); + XBattleDocument.MiniMapSetRotation(oRes.initface); + GameObject gameObject = GameObject.Find("Scene/BattlePoint"); + XSingleton.singleton.BattleTargetPoint = ((gameObject != null) ? gameObject.transform.position : Vector3.zero); + gameObject = GameObject.Find("Scene/NestPoint"); + XSingleton.singleton.NestTargetPoint = ((gameObject != null) ? gameObject.transform.position : Vector3.zero); + XSingleton.singleton.GameCamera.Root_R_Y_Default = XSingleton.singleton.Player.EngineObject.Rotation.eulerAngles.y; + XSingleton.singleton.GameCamera.Root_R_Y = XSingleton.singleton.GameCamera.Root_R_Y_Default; + bool flag4 = XSingleton.singleton.GameCamera.Wall != null; + if (flag4) + { + XSingleton.singleton.GameCamera.Wall.TargetY = XSingleton.singleton.GameCamera.Root_R_Y_Default; + } + bool bSpectator = XSingleton.singleton.bSpectator; + if (bSpectator) + { + XSingleton.singleton.Puppets(XSingleton.singleton.Player, true, true); + XSingleton.singleton.Freezed = true; + XSingleton.singleton.Player.Attributes.OnFightGroupChange(2u); + } + else + { + bool flag5 = XSingleton.singleton.Player.Nav != null; + if (flag5) + { + XSingleton.singleton.Player.Nav.Active(); + } + bool flag6 = XSingleton.singleton.Player.AI != null; + if (flag6) + { + XSingleton.singleton.Player.AI.Active(); + } + bool flag7 = ((ulong)oRes.specialstate & (ulong)(1L << (XFastEnumIntEqualityComparer.ToInt(UnitSpecialState.Unit_Puppet) & 31))) > 0UL; + bool flag8 = ((ulong)oRes.specialstate & (ulong)(1L << (XFastEnumIntEqualityComparer.ToInt(UnitSpecialState.Unit_Invisible) & 31))) > 0UL; + bool flag9 = flag7 || flag8; + if (flag9) + { + XSingleton.singleton.Player.UpdateSpecialStateFromServer(oRes.specialstate, uint.MaxValue); + } + else + { + XSingleton.singleton.Player.Present.ShowUp(); + } + } + bool bSpectator2 = XSingleton.singleton.bSpectator; + if (bSpectator2) + { + XSpectateSceneDocument specificDocument = XDocuments.GetSpecificDocument(XSpectateSceneDocument.uuID); + specificDocument.IsCrossServerBattle = oRes.is_cross; + } + else + { + XBattleDocument specificDocument2 = XDocuments.GetSpecificDocument(XBattleDocument.uuID); + specificDocument2.IsCrossServerBattle = oRes.is_cross; + } + for (int i = 0; i < XSingleton.singleton.Doc.Components.Count; i++) + { + (XSingleton.singleton.Doc.Components[i] as XDocComponent).OnEnterSceneFinally(); + } + XOutlookHelper.SetStatusState(XSingleton.singleton.Player.Attributes, XSingleton.singleton.Player, oRes.state, true); + XSingleton.singleton.SceneStarted = oRes.scenestate.isready; + bool flag10 = !XSingleton.singleton.SceneStarted && DlgBase.singleton.IsLoaded() && DlgBase.singleton.IsVisible(); + if (flag10) + { + DlgBase.singleton.uiBehaviour.m_PromptFrame.gameObject.SetActive(true); + DlgBase.singleton.SetLoadingPrompt(null, false); + } + bool flag11 = XSingleton.singleton.bSpectator && oRes.iswatchend; + if (flag11) + { + DlgBase.singleton.ShowBackToMainCityTips(); + } + XSingleton.singleton.LevelRewardToken = oRes.battlestamp; + bool isViewGridScene = XSingleton.singleton.IsViewGridScene; + if (isViewGridScene) + { + XSingleton.singleton.Player.Net.SetHallSequence(); + } + bool flag12 = XSingleton.singleton.CurrentStage.Stage == EXStage.World; + if (flag12) + { + XSingleton.singleton.Player.Attributes.SecurityStatistics.OnStart(); + } + XSingleton.singleton.SetLoginReconnectFlag(oRes.lrdata != null); + bool flag13 = oRes.lrdata != null; + if (flag13) + { + XSingleton.singleton.StartLoginReconnectSync(oRes.lrdata, oRes.otherunits); + } + else + { + XSingleton.singleton.StartEnterSceneSync(oRes.otherunits); + } + } + } + } + } + + public static void OnTimeout(DoEnterSceneArg oArg) + { + } + } +} -- cgit v1.1-26-g67d0