Urho3D
Public Member Functions | Private Member Functions | Private Attributes
Urho3D::Engine Class Reference

Urho3D engine. Creates the other subsystems. More...

#include <Engine.h>

Inheritance diagram for Urho3D::Engine:
Urho3D::Object Urho3D::RefCounted

List of all members.

Public Member Functions

 Engine (Context *context)
 Construct.
virtual ~Engine ()
 Destruct. Free all subsystems.
bool Initialize (const String &windowTitle="Urho3D", const String &logName="Urho3D.log", const Vector< String > &arguments=Vector< String >(), void *externalWindow=0)
 Initialize and show the application window. Return true if successful.
bool InitializeScripting ()
 Initialize script subsystem and register the script API. Return true if successful (engine must be initialized first.)
void RunFrame ()
 Run one frame.
ConsoleCreateConsole ()
 Create the console and return it. May return null if engine configuration does not allow creation (headless mode.)
DebugHudCreateDebugHud ()
 Create the debug hud.
void SetMinFps (int fps)
 Set minimum frames per second. If FPS goes lower than this, time will appear to slow down.
void SetMaxFps (int fps)
 Set maximum frames per second. The engine will sleep if FPS is higher than this.
void SetMaxInactiveFps (int fps)
 Set maximum frames per second when the application is inactive.
void SetPauseMinimized (bool enable)
 Set whether to pause update events and audio when minimized.
void Exit ()
 Close the application window and set the exit flag.
void DumpProfilingData ()
 Dump profiling information to the log.
void DumpResources ()
 Dump information of all resources to the log.
void DumpMemory ()
 Dump information of all memory allocations to the log. Supported in MSVC debug mode only.
int GetMinFps () const
 Return the minimum frames per second.
int GetMaxFps () const
 Return the maximum frames per second.
int GetMaxInactiveFps () const
 Return the maximum frames per second when the application is inactive.
bool GetPauseMinimized () const
 Return whether to pause update events and audio when minimized.
bool IsInitialized () const
 Return whether engine has been initialized.
bool IsExiting () const
 Return whether exit has been requested.
bool IsHeadless () const
 Return whether the engine has been created in headless mode.
void Update ()
 Send frame update events.
void Render ()
 Render after frame update.
void ApplyFrameLimit ()
 Get the timestep for the next frame and sleep for frame limiting if necessary.
- Public Member Functions inherited from Urho3D::Object
 Object (Context *context)
 Construct.
virtual ~Object ()
 Destruct. Clean up self from event sender & receiver structures.
virtual ShortStringHash GetType () const =0
 Return type hash.
virtual const StringGetTypeName () const =0
 Return type name.
virtual void OnEvent (Object *sender, StringHash eventType, VariantMap &eventData)
 Handle event.
void SubscribeToEvent (StringHash eventType, EventHandler *handler)
 Subscribe to an event that can be sent by any sender.
void SubscribeToEvent (Object *sender, StringHash eventType, EventHandler *handler)
 Subscribe to a specific sender's event.
void UnsubscribeFromEvent (StringHash eventType)
 Unsubscribe from an event.
void UnsubscribeFromEvent (Object *sender, StringHash eventType)
 Unsubscribe from a specific sender's event.
void UnsubscribeFromEvents (Object *sender)
 Unsubscribe from a specific sender's events.
void UnsubscribeFromAllEvents ()
 Unsubscribe from all events.
void UnsubscribeFromAllEventsExcept (const PODVector< StringHash > &exceptions, bool onlyUserData)
 Unsubscribe from all events except those listed, and optionally only those with userdata (script registered events.)
void SendEvent (StringHash eventType)
 Send event to all subscribers.
void SendEvent (StringHash eventType, VariantMap &eventData)
 Send event with parameters to all subscribers.
ContextGetContext () const
 Return execution context.
ObjectGetSubsystem (ShortStringHash type) const
 Return subsystem by type.
ObjectGetEventSender () const
 Return active event sender. Null outside event handling.
EventHandlerGetEventHandler () const
 Return active event handler. Null outside event handling.
bool HasSubscribedToEvent (StringHash eventType) const
 Return whether has subscribed to an event without specific sender.
bool HasSubscribedToEvent (Object *sender, StringHash eventType) const
 Return whether has subscribed to a specific sender's event.
template<class T >
T * GetSubsystem () const
 Template version of returning a subsystem.
- Public Member Functions inherited from Urho3D::RefCounted
 RefCounted ()
 Construct. Allocate the reference count structure and set an initial self weak reference.
virtual ~RefCounted ()
 Destruct. Mark as expired and also delete the reference count structure if no outside weak references exist.
void AddRef ()
 Increment reference count. Can also be called outside of a SharedPtr for traditional reference counting.
void ReleaseRef ()
 Decrement reference count and delete self if no more references. Can also be called outside of a SharedPtr for traditional reference counting.
int Refs () const
 Return reference count.
int WeakRefs () const
 Return weak reference count.
RefCountRefCountPtr ()
 Return pointer to the reference count structure.

Private Member Functions

 OBJECT (Engine)
void RegisterObjects ()
 Register object factories and attributes.
void RegisterSubsystems ()
 Create and register subsystems. In headless mode graphics, input & UI are not created.

Private Attributes

HiresTimer frameTimer_
 Frame update timer.
float timeStep_
 Next frame timestep in seconds.
unsigned minFps_
 Minimum frames per second.
unsigned maxFps_
 Maximum frames per second.
unsigned maxInactiveFps_
 Maximum frames per second when the application is inactive.
bool pauseMinimized_
 Pause when minimized flag.
bool initialized_
 Initialized flag.
bool exiting_
 Exiting flag.
bool headless_
 Headless mode flag.
bool audioPaused_
 Audio paused flag.

Additional Inherited Members

- Protected Attributes inherited from Urho3D::Object
Contextcontext_
 Execution context.

Detailed Description

Urho3D engine. Creates the other subsystems.


The documentation for this class was generated from the following files: