Сообщение от is.SarCasm
Как передать информацию из одного уровня в другой?? Например я из Menu захожу на Level_1 и мне нужно передать настройки игры.
|
Есть несколько способов.
1) Можно в меню создать отдельный объект с настройками и добавить на него компонент с простыми строчками:
void Awake() {
DontDestroyOnLoad(gameObject);
}
После этого этот объект не будет удаляться при переходе от одного уровня в другой. В уровне Level_1, допустим, можно написать что-то вроде:
void Start() {
GameObject go = GameObject.Find("OPTIONS");
MyOptions mo = go.GetComponent<MyOptions>();
// и так далее...
}
2) Самый простой, на мой взгляд. Просто создай статичный класс. Его даже на сцену не нужно вытаскивать.
public class Options : MonoBehaviour {
public static int screenWidth;
public static int screenHeight;
public static float soundVolume;
}
И всё! Теперь из любого скрипта можешь обращаться к нему напрямую: Options.soundVolume = 1.0F;
И что-нибудь читать из него: int sw = Options.screenWidth;
При переходе из одного уровня в другой содержимое статичного класса не обнуляется.