Так что, в принципе, подумайте, Марио, у меня есть карта мира.Игрок входит в уровень, а затем, когда игрок возвращается на Карту, я хочу, чтобы он загрузил положение камеры, на которой игрок остановился в последний раз.У меня возникают проблемы с этим, и он продолжает сбрасываться обратно в исходное положение камеры.
Вот что я пробовал до сих пор:
У меня есть класс WorldManager со следующим кодом:
private void Start()
{
highestLevelUnlocked = PlayerPrefsManager.GetHighestLevelUnlocked();
if (highestLevelUnlocked > 0)
{
rectTransform.offsetMin = new Vector2(PlayerPrefsManager.GetLastLevelViewedLeft(), rectTransform.offsetMin.x);
rectTransform.offsetMax = new Vector2(PlayerPrefsManager.GetLastLevelViewedRight(), rectTransform.offsetMax.x);
}
else
{
rectTransform.offsetMin = new Vector2(0, 0);
rectTransform.offsetMax = new Vector2(0, 0);
}
}
// Sets the camera coordinates.
public void SetCameraCoordinates()
{
PlayerPrefsManager.SetLastLevelViewed(Mathf.RoundToInt(rectTransform.offsetMin.x), Mathf.RoundToInt(rectTransform.offsetMax.x));
}
Я уверен, что делаю что-то совершенно неправильно, но я не могу понять это и надеялся на некоторое понимание.
PlayerPrefsManager статичен и удерживает данные игрока между сценами.
Спасибо!
Редактировать: Я использую вид прокрутки для игрока, чтобы прокрутить карту с помощью мыши / больших пальцев.