// Copyright (c) 2022 Dominic Masters // // This software is released under the MIT License. // https://opensource.org/licenses/MIT #pragma once #include "poker/visualnovel/PokerNewRoundEvent.hpp" #include "poker/visualnovel/PokerDealEvent.hpp" #include "poker/visualnovel/PokerTakeBlindsEvent.hpp" #include "PokerBetLoopEvent.hpp" #include "visualnovel/events/VisualNovelTextboxEvent.hpp" #define POKER_DEAL_EVENT_CARD_COUNT 2 namespace Dawn { class PokerInitialEvent : public PokerGameEvent { protected: void onStart(IVisualNovelEvent *previous) override { PokerGameEvent::onStart(previous); this ->then(new PokerNewRoundEvent(this->manager)) // ->then(new VisualNovelTextboxEvent(this->manager, "Round Started")) ->then(new PokerTakeBlindsEvent(this->manager)) // ->then(new VisualNovelTextboxEvent(this->manager, "Blinds Taken")) ->then(new PokerDealEvent(this->manager)) // ->then(new VisualNovelTextboxEvent(this->manager, "Cards Dealt")) ->then(new PokerBetLoopEvent(this->manager)) ; } bool_t onUpdate() override { return false; } void onEnd() override { } public: PokerInitialEvent(VisualNovelManager *manager) : PokerGameEvent(manager) { } }; }