private void SaveSceneInfo(GameStateType state, int actionId, bool isResumeScene) { //test code if (UIWindowSelectScene.m_iIndex != -1) { return; } if (state != GameStateType.none) { m_ProcessData.m_Type = state; } m_ProcessData.m_ActionId = actionId; if (null != PlayerManager.Instance.GetPlayerInstance()) { m_ProcessData.m_TerrainDataType = StageManager.Instance.GetCurrentGameStage(); m_ProcessData.m_PlayerTransform.pos = PlayerManager.Instance.GetPlayerInstance().GetTransformData().GetPosition(); m_ProcessData.m_PlayerTransform.rot = PlayerManager.Instance.GetPlayerInstance().GetTransformData().GetRotation(); //set npc player m_ProcessData.m_NpcTransformList.Clear(); if (null != TerrainManager.Instance.GetNpcList()) { foreach (var elem in TerrainManager.Instance.GetNpcList()) { int id = elem.Key; PlayerProcessData.TransformData npc = new PlayerProcessData.TransformData(); npc.pos = elem.Value.GetTransformData().GetPosition(); npc.rot = elem.Value.GetTransformData().GetRotation(); m_ProcessData.m_NpcTransformList.Add(elem.Key, npc); } } } m_ProcessData.m_bIsResumeScene = isResumeScene; if (m_ProcessData.m_bIsResumeScene) { //check type m_ProcessData.m_bIsResumeScene = state == m_ProcessData.m_TerrainDataType; } if (m_bIsDebugMode) { m_ProcessData.m_bIsResumeScene = false; } SaveParam(); }
private void ChangeInfoToData(PlayerProcessInfo info, PlayerProcessData data) { data.m_Type = (GameStateType)(info.StageType); if (data.m_Type == GameStateType.none) { m_ProcessData.m_PlayerTransform = new PlayerProcessData.TransformData(); m_ProcessData.m_NpcTransformList = new Dictionary <int, PlayerProcessData.TransformData>(); } else { data.m_TerrainDataType = (GameStateType)(info.TerrainDataType); data.m_ActionId = info.ActionId; data.m_bIsResumeScene = info.IsResumeScene; data.m_iExitSceneFuncId = info.ExitSceneFuncId; data.m_PlayerTransform = new PlayerProcessData.TransformData(); if (info.PlayerTransformInfo != null) { if (info.PlayerTransformInfo.Pos != null) { data.m_PlayerTransform.pos = info.PlayerTransformInfo.Pos.GetVector3(); } if (info.PlayerTransformInfo.Rot != null) { data.m_PlayerTransform.rot = info.PlayerTransformInfo.Rot.GetVector3(); } } m_ProcessData.m_NpcTransformList = new Dictionary <int, PlayerProcessData.TransformData>(); foreach (var elem in m_ProcessInfo.NpcTransformInfoList) { PlayerProcessData.TransformData transformData = new PlayerProcessData.TransformData(); transformData.pos = elem.Value.Pos.GetVector3(); transformData.rot = elem.Value.Rot.GetVector3(); m_ProcessData.m_NpcTransformList.Add(elem.Key, transformData); } } }