public static IEnumerator GetStamina( Client client, GameSession session, string staminaNamespaceName, EzStaminaModel staminaModel, GetStaminaEvent onGetStamina, ErrorEvent onError ) { AsyncResult <EzGetStaminaResult> result = null; yield return(client.Stamina.GetStamina( r => { result = r; }, session, staminaNamespaceName, staminaModel.Name )); if (result.Error != null) { onError.Invoke( result.Error ); yield break; } var stamina = result.Result.Item; onGetStamina.Invoke(staminaModel, stamina); }
public void Initialize( string staminaNamespaceName, EzStaminaModel staminaModel, Func <IEnumerator, Coroutine> startCoroutine, Action <Coroutine> stopCoroutine, GetStaminaEvent onGetStamina, RecoverStaminaEvent onRecoverStamina, ConsumeStaminaEvent onConsumeStamina, ErrorEvent onError ) { _staminaNamespaceName = staminaNamespaceName; _staminaModel = staminaModel; _startCoroutine = startCoroutine; _stopCoroutine = stopCoroutine; _onGetStamina = onGetStamina; _onRecoverStamina = onRecoverStamina; _onConsumeStamina = onConsumeStamina; _onError = onError; }