#pragma once #include #include #include #include #include "../../../middleware/content/packages/reader/reader.h" #include "../../../middleware/content/packages/tables/scenario_walk.h" namespace sunrise::client::content::activity { namespace packages = sunrise::middleware::content::packages; /** One buffer per read slot. */ inline constexpr std::size_t kSlotCount = static_cast(packages::tables::ReadSlot::count); /** Lock-owned storage for one scenario walk. */ struct ScenarioSource { const packages::reader::Source* source{}; /** Caller-owned reader storage. It outlives the scenario so its block cache carries over. */ packages::reader::Scratch* scratch{}; std::array, kSlotCount> slots{}; }; } // namespace sunrise::client::content::activity