У меня есть два метода alphaClicked()
и betaClicked()
, и для их работы мы должны быть подключены к сервису в сети, поэтому у меня есть другой метод с именем connect()
, поэтому в обоих классах нам нужно сначала подключаем, поэтому мы проверяем, подключены ли мы, а затем мы вызываем метод connect()
, после чего получаем результат соединения в ActionConnectionResultReceived
, поэтому, если мы успешно подключились, я хочу называть alphaClicked(), если альфа была той, которая запрашивала connect()
и звоните betaClicked()
, если betaClicked()
был тем, кто запросил метод connect()
, что это лучший способ сделать это?Как понять, кто хотел получить результат метода
Суммируя это вопрос:
alpha
и beta
необходимость connect
но connect
результат не возвращается немедленно, так что мы получаем его через ActionConnectionResultReceived
так, как получить назвавший подключения был его alpha
или beta
private void alphaClicked()
{
if(GooglePlayConnection.State == GPConnectionState.STATE_CONNECTED) {
//do something
}
else
{
Connect();
}
}
private void betaClicked()
{
if(GooglePlayConnection.State == GPConnectionState.STATE_CONNECTED) {
//do something else
}
else
{
Connect();
}
}
private void ActionConnectionResultReceived(GooglePlayConnectionResult result)
{
if (result.IsSuccess)
{
Debug.Log("Connected!");
//if alpha requested call alpha if beta requested call beta
//how to do this?
}
else
{
Debug.Log("Cnnection failed with code: " + result.code.ToString());
}
}
private void Connect()
{
GooglePlayConnection.Instance.Connect();
}
Возможно ли, что приложение alphaClicked/betaClicked будет вызываться много раз до установления соединения? –
Я могу предотвратить это от –
Исследования * Инъекция зависимостей *; он был изобретен именно для этого сценария. –