@@ -7,30 +7,37 @@ namespace FREYR_NAMESPACE
77 class FreyrOptionsBuilder
88 {
99 public:
10- FreyrOptionsBuilder () {}
10+ FreyrOptionsBuilder () = default ;
1111
12- FreyrOptionsBuilder& SetMaxEntities (const size_t maxEntities)
12+ FreyrOptionsBuilder& WithMaxEntities (const size_t maxEntities)
1313 {
1414 mMaxEntities = maxEntities;
1515
1616 return *this ;
1717 }
1818
19- FreyrOptionsBuilder& SetArchetypeChunkCapacity (const size_t archetypeChunkCapacity)
19+ FreyrOptionsBuilder& WithArchetypeChunkCapacity (const size_t archetypeChunkCapacity)
2020 {
2121 mArchetypeChunkCapacity = archetypeChunkCapacity;
2222
2323 return *this ;
2424 }
2525
26- FreyrOptionsBuilder& SetThreadCount (const size_t threadCount)
26+ FreyrOptionsBuilder& WithFixedDeltaTime (const float fixedDeltaTime)
27+ {
28+ mFixedDeltaTime = fixedDeltaTime;
29+
30+ return *this ;
31+ }
32+
33+ FreyrOptionsBuilder& WithThreadCount (const size_t threadCount)
2734 {
2835 mThreadCount = threadCount;
2936
3037 return *this ;
3138 }
3239
33- Ref<FreyrOptions> Build () const
40+ [[nodiscard]] Ref<FreyrOptions> Build () const
3441 {
3542 auto options = skr::MakeRef<FreyrOptions>();
3643
@@ -45,12 +52,16 @@ namespace FREYR_NAMESPACE
4552 else
4653 options->ArchetypeChunkCapacity = options->MaxEntities / (options->ThreadCount * options->ThreadCount );
4754
55+ if (mFixedDeltaTime .has_value ())
56+ options->FixedDeltaTime = mFixedDeltaTime .value ();
57+
4858 return options;
4959 }
5060
5161 private:
5262 std::optional<size_t > mMaxEntities ;
5363 std::optional<size_t > mArchetypeChunkCapacity ;
64+ std::optional<float > mFixedDeltaTime ;
5465 std::optional<size_t > mThreadCount ;
5566 };
5667} // namespace FREYR_NAMESPACE
0 commit comments