23#include <unordered_set>
58 void Reset()
override;
64 virtual void OnPlayerEnter(
Player* player);
65 virtual void OnPlayerExit(
Player* player);
68 bool IsComplete()
const;
77 void SendScenarioState(
Player const* player)
const;
78 void SendBootPlayer(
Player const* player)
const;
92 void DoForAllPlayers(std::function<
void(
Player*)>
const& worker)
const;
99 std::vector<WorldPackets::Scenario::BonusObjectiveData> GetBonusObjectivesData()
const;
100 std::vector<WorldPackets::Achievement::CriteriaProgress> GetCriteriasProgressFor(
Player const* player)
const;
108 std::map<ScenarioStepEntry const*, ScenarioStepState>
_stepStates;
T GetEntry(std::unordered_map< uint32, T > const &map, CriteriaTreeEntry const *tree)
std::vector< Criteria const * > CriteriaList
std::chrono::seconds Seconds
Seconds shorthand typedef.
std::unordered_set< ObjectGuid > GuidUnorderedSet
@ SCENARIO_STEP_IN_PROGRESS
@ SCENARIO_STEP_NOT_STARTED
virtual CriteriaList const & GetCriteriaByType(CriteriaType type, uint32 asset) const =0
virtual bool CanUpdateCriteriaTree(Criteria const *criteria, CriteriaTree const *tree, Player *referencePlayer) const
virtual void SendPacket(WorldPacket const *data) const =0
virtual void CompletedCriteriaTree(CriteriaTree const *tree, Player *referencePlayer)=0
virtual bool CanCompleteCriteriaTree(CriteriaTree const *tree)
virtual void SendCriteriaUpdate(Criteria const *criteria, CriteriaProgress const *progress, Seconds timeElapsed, bool timedCompleted) const =0
virtual void Update(uint32)
void SendCriteriaProgressRemoved(uint32) override
ScenarioData const * _data
std::map< ScenarioStepEntry const *, ScenarioStepState > _stepStates
void AfterCriteriaTreeUpdate(CriteriaTree const *, Player *) override
GuidUnorderedSet _players
ScenarioStepEntry const * _currentstep
void SetStepState(ScenarioStepEntry const *step, ScenarioStepState state)
ScenarioStepEntry const * GetStep() const
void SendAllData(Player const *) const override