#pragma once #include #include #include namespace wowee { namespace rendering { class Renderer; } namespace game { class GameHandler; } namespace core { class EntitySpawner; } namespace core { /// Handles entity spawn/despawn callbacks: creatures, players, game objects. class EntitySpawnCallbackHandler { public: /// @param isLocalPlayerGuid Returns true if the given GUID is the local player (to skip self-spawn) EntitySpawnCallbackHandler(EntitySpawner& entitySpawner, rendering::Renderer& renderer, game::GameHandler& gameHandler, std::function isLocalPlayerGuid); void setupCallbacks(); private: EntitySpawner& entitySpawner_; rendering::Renderer& renderer_; game::GameHandler& gameHandler_; std::function isLocalPlayerGuid_; }; } // namespace core } // namespace wowee