private PlayerData SavePlayerData(Player player) { PlayerData playerData = new PlayerData (); playerData.currentScene = UnityVersionHandler.GetCurrentSceneNumber (); playerData.currentSceneName = UnityVersionHandler.GetCurrentSceneName (); playerData.previousScene = KickStarter.sceneChanger.previousSceneInfo.number; playerData.previousSceneName = KickStarter.sceneChanger.previousSceneInfo.name; playerData = KickStarter.playerInput.SavePlayerData (playerData); KickStarter.runtimeInventory.RemoveRecipes (); playerData.inventoryData = CreateInventoryData (KickStarter.runtimeInventory.localItems); // Camera MainCamera mainCamera = KickStarter.mainCamera; if (mainCamera.attachedCamera) { playerData.gameCamera = Serializer.GetConstantID (mainCamera.attachedCamera.gameObject); } if (mainCamera.lastNavCamera) { playerData.lastNavCamera = Serializer.GetConstantID (mainCamera.lastNavCamera.gameObject); } if (mainCamera.lastNavCamera2) { playerData.lastNavCamera2 = Serializer.GetConstantID (mainCamera.lastNavCamera2.gameObject); } mainCamera.StopShaking (); playerData.mainCameraLocX = mainCamera.transform.position.x; playerData.mainCameraLocY = mainCamera.transform.position.y; playerData.mainCameraLocZ = mainCamera.transform.position.z; playerData.mainCameraRotX = mainCamera.transform.eulerAngles.x; playerData.mainCameraRotY = mainCamera.transform.eulerAngles.y; playerData.mainCameraRotZ = mainCamera.transform.eulerAngles.z; playerData.isSplitScreen = mainCamera.isSplitScreen; if (mainCamera.isSplitScreen) { playerData.isTopLeftSplit = mainCamera.isTopLeftSplit; playerData.splitAmountMain = mainCamera.splitAmountMain; playerData.splitAmountOther = mainCamera.splitAmountOther; if (mainCamera.splitOrientation == MenuOrientation.Vertical) { playerData.splitIsVertical = true; } else { playerData.splitIsVertical = false; } if (mainCamera.splitCamera && mainCamera.splitCamera.GetComponent <ConstantID>()) { playerData.splitCameraID = mainCamera.splitCamera.GetComponent <ConstantID>().constantID; } else { playerData.splitCameraID = 0; } } if (player == null) { playerData.playerPortraitGraphic = ""; playerData.playerID = KickStarter.settingsManager.GetEmptyPlayerID (); return playerData; } playerData = player.SavePlayerData (playerData); return playerData; }