#pragma once #include "Property.h" namespace KapitanGame { class KSettings final { float MaxJumpHeightValue; float HorizontalDistanceToMaxJumpHeightValue; float TimeToMaxHeightValue; float GravityValue; float JumpInitialVelocityValue; float ShortJumpVelocityValue; bool CollisionEnabledValue; bool Dirty; public: KSettings(float maxJumpHeight, float horizontalDistanceToMaxJumpHeight); const Property MaxJumpHeight, HorizontalDistanceToMaxJumpHeight; const ReadOnlyProperty TimeToMaxHeight, Gravity, JumpInitialVelocity, ShortJumpVelocity; const Property CollisionEnabled; private: void SetCollisionEnabled(bool value); void SetMaxJumpHeight(float h); void SetHorizontalDistanceToMaxJumpHeight(float xn); bool GetCollisionEnabled(); float GetTimeToMaxHeight(); float GetGravity(); float GetJumpInitialVelocity(); float GetShortJumpVelocity(); float GetMaxJumpHeight(); float GetHorizontalDistanceToMaxJumpHeight(); }; }