// Copyright (c) 2022 Dominic Masters // // This software is released under the MIT License. // https://opensource.org/licenses/MIT #include "PokerBetLoopEvent.hpp" #include "PokerInitialEvent.hpp" using namespace Dawn; void PokerBetLoopEvent::onStart(IVisualNovelEvent *prev) { PokerGameEvent::onStart(prev); std::cout << "Bet Loop, bet" << std::endl; auto evt2 = new PokerDetermineBetterEvent(this->manager); auto betting = this->then(evt2); betting // ->whenEveryoneFolded(new VisualNovelTextboxEvent(this->manager, "Everyone Folded")) ->then(new PokerWinnerEvent(this->manager)) ->then(new PokerInitialEvent(this->manager)) ; betting // ->whenBettingFinished(new VisualNovelTextboxEvent(this->manager, "Betting Finished")) ->then(new PokerWinnerEvent(this->manager)) ->then(new PokerInitialEvent(this->manager)) ; betting ->whenTurn(new PokerTurnEvent(this->manager)) // ->then(new VisualNovelTextboxEvent(this->manager, "Turn Time")) ->then(new PokerNewBettingRoundEvent(this->manager)) ->then(new PokerBetLoopEvent(this->manager)) ; betting // ->whenHumanBet(new VisualNovelTextboxEvent(this->manager, "Human Bet")) ->then(new PokerBetLoopEvent(this->manager)) ; // AI Betting auto aiBet = betting // ->whenAiBet(new VisualNovelTextboxEvent(this->manager, "AI Bet")) ->then(new PokerAIBetEvent(this->manager)) ; aiBet // ->whenFolded(new VisualNovelTextboxEvent(this->manager, "Folded")) ->then(new PokerBetLoopEvent(this->manager)) ; aiBet // ->whenAllIn(new VisualNovelTextboxEvent(this->manager, "All In")) ->then(new PokerBetLoopEvent(this->manager)) ; aiBet // ->whenBetting(new VisualNovelTextboxEvent(this->manager, "Betting")) ->then(new PokerBetLoopEvent(this->manager)) ; aiBet // ->whenCalling(new VisualNovelTextboxEvent(this->manager, "Calling")) ->then(new PokerBetLoopEvent(this->manager)) ; aiBet // ->whenChecking(new VisualNovelTextboxEvent(this->manager, "Checking")) ->then(new PokerBetLoopEvent(this->manager)) ; }