public IEnumerator Run( Client client, GameSession session, Dictionary <string, string> config ) { _client = client; _session = session; _config = config; void OnGetStaminaModel( string staminaModelNameTemp, EzStaminaModel staminaModel ) { Debug.Log("StaminaDirector::OnGetStaminaModel"); _staminaSetting.onGetStaminaModel.RemoveListener(OnGetStaminaModel); _staminaModel = staminaModel; } _staminaSetting.onGetStaminaModel.AddListener(OnGetStaminaModel); yield return(StaminaController.GetStaminaModel( client, _staminaSetting.staminaNamespaceName, _staminaSetting.staminaModelName, _staminaSetting.onGetStaminaModel, _staminaSetting.onError )); _staminaWatcher.Initialize( _staminaSetting.staminaNamespaceName, _staminaModel, StartCoroutine, StopCoroutine, _staminaSetting.onGetStamina, _staminaSetting.onRecoverStamina, _staminaSetting.onConsumeStamina, _staminaSetting.onError ); yield return(_staminaWatcher.Run( client, session )); staminaWidget.Initialize( _staminaWatcher ); staminaWidget.gameObject.SetActive(true); if (debugStaminaControlWidget != null) { debugStaminaControlWidget.gameObject.SetActive(true); debugStaminaControlWidget.Initialize(); debugStaminaControlWidget.onClickConsumeButton.AddListener(OnClickDebugConsumeButton); } }
public EzGetStaminaModelResult( GetStaminaModelResult result ) { if (result.item != null) { Item = new EzStaminaModel(result.item); } }
public EzConsumeResult( ConsumeStaminaResult result ) { if (result.item != null) { Item = new EzStamina(result.item); } if (result.staminaModel != null) { StaminaModel = new EzStaminaModel(result.staminaModel); } }
public EzGetStaminaResult( GetStaminaResult result ) { if (result.item != null) { Item = new EzStamina(result.item); } if (result.staminaModel != null) { StaminaModel = new EzStaminaModel(result.staminaModel); } }
private void ConsumeStaminaAction( EzStaminaModel staminaModelTemp, EzStamina stamina, int consumeValue ) { if (staminaModelTemp.Name != _staminaModel.Name) { return; } _stamina = 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; }
public static IEnumerator ConsumeStamina( Client client, GameSession session, string staminaNamespaceName, EzStaminaModel staminaModel, int consumeValue, ConsumeStaminaEvent onConsumeStamina, GetStaminaEvent onGetStamina, ErrorEvent onError ) { AsyncResult <EzConsumeResult> result = null; yield return(client.Stamina.Consume( r => { result = r; }, session, staminaNamespaceName, staminaModel.Name, consumeValue )); if (result.Error != null) { onError.Invoke( result.Error ); yield break; } var stamina = result.Result.Item; onConsumeStamina.Invoke(staminaModel, stamina, consumeValue); onGetStamina.Invoke(staminaModel, stamina); }