public void Recv_InDun_Exit(body_SC_EXIT_INSTANCE_RESULT data) { _RequestDimpleLog_Indun( 160409); // map load( InDun -> field) if( data.eResult == eRESULTCODE.eRESULT_SUCC) { StartCoroutine( InDunExitLoadCheck(data) ); } else { _Error( data.eResult); Debug.Log( "Recv_InDun_Exit() - result code: " + data.eResult + ", MapIndex: " + data.nMapIndex); } }
IEnumerator InDunExitLoadCheck( body_SC_EXIT_INSTANCE_RESULT data ) { GameObject go = GameObject.Find( "SceneLoader"); AsSceneLoader sceneLoader = go.GetComponent<AsSceneLoader>() as AsSceneLoader; while( sceneLoader.ActiveCoroutineMapCheck == true ) { yield return null; } AsUserInfo.Instance.SetCurrentUserCharacterPosition( data.vPosition); sceneLoader.Load( data.nMapIndex, AsSceneLoader.eLoadType.INSTANCE_DUNGEON_EXIT); }
void Receive_Return_World_Result( byte[] _packet) { body_SC_RETURN_WORLD_RESULT result = new body_SC_RETURN_WORLD_RESULT(); result.PacketBytesToClass( _packet); body_SC_EXIT_INSTANCE_RESULT data = new body_SC_EXIT_INSTANCE_RESULT(); data.eResult = result.eResult; data.nMapIndex = result.nIndunTableIndex; data.vPosition = result.vPosition; // map load( InDun -> field) PlayerBuffMgr.Instance.Clear(); AsUserInfo.Instance.ClearBuff(); AsPartyManager.Instance.PartyDiceRemoveAll(); AsPartyManager.Instance.PartyUserRemoveAll(); if( ( AsHudDlgMgr.Instance != null) && ( AsHudDlgMgr.Instance.partyAndQuestToggleMgr != null)) AsHudDlgMgr.Instance.partyAndQuestToggleMgr.NothingQuestProcess(); AsInstanceDungeonManager.Instance.Switch_GameUserSessionIndex(); AsInstanceDungeonManager.Instance.Recv_InDun_Exit( data); }