Каков рекомендуемый способ инициализации сервисов / кода в начале игры до инициализации нижестоящих игровых объектов? Например, у меня есть код ниже, который пытается инициализировать игры Google Play. Я хочу убедиться, что Init()
завершено, прежде чем отдельный игровой объект попытается обновить метку с именем пользователя, вошедшего в систему, через Social.localUser.userName
(я предпочитаю хранить логи отображения c отдельно от кода GameManager
).
Спасибо
public class GameManager : MonoBehaviour
private void Start ()
{
PlayServicesClient.Init(() =>
{
// More Game Logic
});
}
}
// Separate script used in the menu UI
login.text = (Social.localUser.authenticated) ? Social.localUser.userName : "Login";
Редактировать: Я попытался переместить инициализацию Play Games на Awake()
, как предложено Eri c, но код для входа в систему не показывает ' t ждать, пока метод Init не завершится sh, даже если код входа находится в Start()
другого сценария.
private void Awake()
{
PlayGamesClient.Init((success) => { });
}
// Start method of the other script
private void Start()
{
loginText.text = (Social.localUser.authenticated) ? Social.localUser.userName : "Login";
}