LizardFloat class
#include <Jazz2/Actors/Enemies/LizardFloat.h>
Floating lizard.
Lizard suspended from a copter that hovers in the air, drifting toward nearby players and lobbing bombs at them. When defeated by an ordinary hit it drops its copter and falls to the ground as a normal walking Lizard; only special moves, freezing, or heavy weapons destroy it outright.
Base classes
- class EnemyBase
- Base class of an enemy.
Public static functions
- static void Preload(const ActorActivationDetails& details)
- Preloads all assets required by this actor.
Constructors, destructors, conversion operators
- LizardFloat()
- Creates a new instance.
Protected functions
- auto OnActivatedAsync(const ActorActivationDetails& details) -> Task<bool> override
- Called when the object is created and activated.
- auto OnTileDeactivated() -> bool override
- Called when corresponding tile should be deactivated.
- void OnUpdate(float timeMult) override
- Called every frame to update the object state.
- auto OnPerish(ActorBase* collider) -> bool override
- Called when the object has no health left and should perish.
- void OnSerializeState(Stream& dest) override
- Serializes the live state of the object to a level state snapshot.
- void OnDeserializeState(Stream& src) override
- Restores the live state of the object from a level state snapshot.
Function documentation
void Jazz2:: Actors:: Enemies:: LizardFloat:: OnSerializeState(Stream& dest) override protected
Serializes the live state of the object to a level state snapshot.
Called only if IsSerializable() returns true. Anything that is initialized from the event parameters in OnActivatedAsync() doesn't need to be stored, because the object is spawned again with the same parameters before OnDeserializeState() is called. Derived classes must call the base implementation first and read the data back in the same order.
void Jazz2:: Actors:: Enemies:: LizardFloat:: OnDeserializeState(Stream& src) override protected
Restores the live state of the object from a level state snapshot.
Called right after the object was spawned again (i.e., after OnActivatedAsync()) and before it's added to the level. Running transitions are not restored, because their callbacks cannot be serialized, so derived classes have to put the object into a state that doesn't wait for such a callback.