Ejemplo n.º 1
0
        public void Jogada(string comando, string mensagem, string jogador, Delegate onTerminadoCallBack = null, Delegate onErroCallback = null)
        {
            try
            {
                _ForcaContextStrategy = new ForcaContextStrategy(comando);

                var feedBack = _ForcaContextStrategy.ExecutarAcao(Forca, Jogador: jogador, Mensagem: mensagem);

                Forca = feedBack.Jogo;

                CallbackModel = new CallbackModel
                {
                    UserName      = jogador,
                    Mensagem      = feedBack.Mensagem,
                    ChannelName   = BotAppSettings.ChannelName,
                    JogoEncerrado = (Forca == null)
                };

                if (CallbackModel.JogoEncerrado)
                {
                    this.Finalizar(onErroCallback: onErroCallback);
                }

                onTerminadoCallBack?.DynamicInvoke(CallbackModel);
            }
            catch (Exception e)
            {
                onErroCallback?.DynamicInvoke(new CallbackModel
                {
                    Mensagem    = e.Message,
                    ChannelName = BotAppSettings.ChannelName
                });
            }
        }
Ejemplo n.º 2
0
 public void Finalizar(Delegate onTerminadoCallBack = null, Delegate onErroCallback = null)
 {
     try
     {
         Forca = null;
         this.IsJogoIniciado        = false;
         this._ForcaContextStrategy = null;
     }
     catch (Exception e)
     {
         onErroCallback?.DynamicInvoke(new CallbackModel
         {
             Mensagem    = e.Message,
             ChannelName = BotAppSettings.ChannelName
         });
     }
 }