class
#include <Jazz2/ILevelHandler.h>
ILevelHandler Base interface of a level handler.
Derived classes
- class LevelHandler
- Level handler of a local game session.
Public static variables
-
static std::
int32_t MainPlaneZ constexpr - Layer of the main plane.
-
static std::
int32_t SpritePlaneZ constexpr - Layer of sprites.
-
static std::
int32_t PlayerZ constexpr - Layer of players.
Public functions
- auto Initialize(const LevelInitialization& levelInit) -> bool pure virtual
- Initializes the level handler from LevelInitialization.
-
auto Initialize(Stream& src,
std::
uint16_t version) -> bool pure virtual - Initializes the level handler from resumable state.
-
auto EventSpawner() -> Events::
EventSpawner* pure virtual - Returns event spawner for the level.
-
auto EventMap() -> Events::
EventMap* pure virtual - Returns event map for the level.
-
auto TileMap() -> Tiles::
TileMap* pure virtual - Returns tile map for the level.
- auto Difficulty() const -> GameDifficulty pure virtual
- Return current difficulty.
- auto IsLocalSession() const -> bool pure virtual
- Return
true
if the level handler is on a local session. - auto IsPausable() const -> bool pure virtual
- Return
true
if the level handler is pausable. - auto IsReforged() const -> bool pure virtual
- Returns
true
if Reforged Gameplay is enabled. - auto CanPlayersCollide() const -> bool pure virtual
- Returns
true
if players can collide with each other. - auto LevelBounds() const -> Recti pure virtual
- Returns level bounds including camera limits.
- auto ElapsedFrames() const -> float pure virtual
- Returns number of elapsed frames.
- auto Gravity() const -> float pure virtual
- Returns current gravity force.
- auto WaterLevel() const -> float pure virtual
- Returns current water level.
-
auto GetActors() const -> ArrayView<const std::
shared_ptr<Actors:: ActorBase>> pure virtual - Returns list of actors (objects)
-
auto GetPlayers() const -> ArrayView<Actors::
Player*const> pure virtual - Returns list of players.
- auto GetDefaultAmbientLight() const -> float pure virtual
- Returns default ambient light intensity.
-
auto GetAmbientLight(Actors::
Player* player) const -> float pure virtual - Returns current ambient light intensity.
-
void SetAmbientLight(Actors::
Player* player, float value) pure virtual - Sets current ambient light intensity.
-
void AddActor(std::
shared_ptr<Actors:: ActorBase> actor) pure virtual - Adds an actor (object) to the level.
-
auto PlaySfx(Actors::
ActorBase* self, StringView identifier, AudioBuffer* buffer, const Vector3f& pos, bool sourceRelative, float gain = 1.0f, float pitch = 1.0f) -> std:: shared_ptr<AudioBufferPlayer> pure virtual - Plays a sound effect for a given actor (object)
-
auto PlayCommonSfx(StringView identifier,
const Vector3f& pos,
float gain = 1.0f,
float pitch = 1.0f) -> std::
shared_ptr<AudioBufferPlayer> pure virtual - Plays a common sound effect.
-
void WarpCameraToTarget(Actors::
ActorBase* actor, bool fast = false) pure virtual - Warps a camera to its assigned target.
-
auto IsPositionEmpty(Actors::
ActorBase* self, const AABBf& aabb, Tiles:: TileCollisionParams& params, Actors:: ActorBase** collider) -> bool pure virtual - Returns
true
if a specified AABB is empty. -
auto IsPositionEmpty(Actors::
ActorBase* self, const AABBf& aabb, Tiles:: TileCollisionParams& params) -> bool -
void FindCollisionActorsByAABB(const Actors::
ActorBase* self, const AABBf& aabb, Function<bool(Actors:: ActorBase*)>&& callback) pure virtual - Calls the callback function for all colliding objects with specified AABB.
-
void FindCollisionActorsByRadius(float x,
float y,
float radius,
Function<bool(Actors::
ActorBase*)>&& callback) pure virtual - Calls the callback function for all colliding objects with specified circle.
-
void GetCollidingPlayers(const AABBf& aabb,
Function<bool(Actors::
ActorBase*)>&& callback) pure virtual - Calls the callback function for all colliding players with specified AABB.
-
void BroadcastTriggeredEvent(Actors::
ActorBase* initiator, EventType eventType, std:: uint8_t* eventParams) pure virtual - Broadcasts specified event to all other actors.
-
void BeginLevelChange(Actors::
ActorBase* initiator, ExitType exitType, StringView nextLevel = {}) pure virtual - Starts transition to change current level.
-
void HandleGameOver(Actors::
Player* player) pure virtual - Called when the game is over.
-
auto HandlePlayerDied(Actors::
Player* player, Actors:: ActorBase* collider) -> bool pure virtual - Called when a player dies.
-
void HandlePlayerWarped(Actors::
Player* player, Vector2f prevPos, WarpFlags flags) pure virtual - Called when a player warps.
-
void HandlePlayerCoins(Actors::
Player* player, std:: int32_t prevCount, std:: int32_t newCount) pure virtual - Called when a player collects or losts coins.
-
void HandlePlayerGems(Actors::
Player* player, std:: uint8_t gemType, std:: int32_t prevCount, std:: int32_t newCount) pure virtual - Called when a player collects or losts gems.
-
void SetCheckpoint(Actors::
Player* player, Vector2f pos) pure virtual - Sets checkpoint for a given player.
-
void RollbackToCheckpoint(Actors::
Player* player) pure virtual - Rolls back to the last checkpoint for a given player.
-
void HandleActivateSugarRush(Actors::
Player* player) pure virtual - Called when a player activates sugar rush.
-
void ShowLevelText(StringView text,
Actors::
ActorBase* initiator = nullptr) pure virtual - Shows a text notification.
-
auto GetLevelText(std::
uint32_t textId, std:: int32_t index = -1, std:: uint32_t delimiter = 0) -> StringView pure virtual - Returns a level text.
-
void OverrideLevelText(std::
uint32_t textId, StringView value) pure virtual - Override specified level text.
-
auto GetCameraPos(Actors::
Player* player) const -> Vector2f pure virtual - Returns camera position of a given player.
-
void LimitCameraView(Actors::
Player* player, std:: int32_t left, std:: int32_t width) pure virtual - Limits camera viewport for a given player.
-
void OverrideCameraView(Actors::
Player* player, float x, float y, bool topLeft = false) pure virtual - Override camera viewport for a given player.
-
void ShakeCameraView(Actors::
Player* player, float duration) pure virtual - Shake camera for a given player.
- void ShakeCameraViewNear(Vector2f pos, float duration) pure virtual
- Shake camera for all players near a given position.
-
auto GetTrigger(std::
uint8_t triggerId) -> bool pure virtual - Returns state of a given trigger in the tile map.
-
void SetTrigger(std::
uint8_t triggerId, bool newState) pure virtual - Sets state of a given trigger in the tile map.
-
void SetWeather(WeatherType type,
std::
uint8_t intensity) pure virtual - Sets current level weather.
- auto BeginPlayMusic(StringView path, bool setDefault = false, bool forceReload = false) -> bool pure virtual
- Plays specified music.
-
auto PlayerActionPressed(std::
int32_t index, PlayerActions action, bool includeGamepads = true) -> bool pure virtual - Returns
true
if player action is pressed. -
auto PlayerActionPressed(std::
int32_t index, PlayerActions action, bool includeGamepads, bool& isGamepad) -> bool pure virtual -
auto PlayerActionHit(std::
int32_t index, PlayerActions action, bool includeGamepads = true) -> bool pure virtual - Returns
true
if player action is hit (newly pressed) -
auto PlayerActionHit(std::
int32_t index, PlayerActions action, bool includeGamepads, bool& isGamepad) -> bool pure virtual -
auto PlayerHorizontalMovement(std::
int32_t index) -> float pure virtual - Returns value of desired horizontal player movement.
-
auto PlayerVerticalMovement(std::
int32_t index) -> float pure virtual - Returns value of desired vertical player movement.
-
void PlayerExecuteRumble(std::
int32_t index, StringView rumbleEffect) pure virtual - Executes a rumble effect.
Function documentation
bool Jazz2:: ILevelHandler:: IsPositionEmpty(Actors:: ActorBase* self,
const AABBf& aabb,
Tiles:: TileCollisionParams& params)
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
bool Jazz2:: ILevelHandler:: PlayerActionPressed(std:: int32_t index,
PlayerActions action,
bool includeGamepads,
bool& isGamepad) pure virtual
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
bool Jazz2:: ILevelHandler:: PlayerActionHit(std:: int32_t index,
PlayerActions action,
bool includeGamepads,
bool& isGamepad) pure virtual
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.