| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787 |
- <Type Name="Engine" FullName="Urho.Engine">
- <TypeSignature Language="C#" Value="public class Engine : Urho.UrhoObject" />
- <TypeSignature Language="ILAsm" Value=".class public auto ansi beforefieldinit Engine extends Urho.UrhoObject" />
- <AssemblyInfo>
- <AssemblyName>Urho</AssemblyName>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <Base>
- <BaseTypeName>Urho.UrhoObject</BaseTypeName>
- </Base>
- <Interfaces />
- <Docs>
- <summary>
- Urho3D engine. Creates the other subsystems.
- </summary>
- <remarks>
- <para>Before a Urho3D application can enter its main loop, the Engine subsystem object must be created and initialized by calling the <see cref="M:Urho.UrhoEngine.Initialize" /> method. </para>
- <para>
- </para>
- <format type="text/html">
- <h2>Main Loop Iteration</h2>
- </format>
- <para>
- </para>
- <para>The main loop iteration (also called a frame) is driven by the Engine. In contrast it is the program's (for example Urho3DPlayer) responsibility to continuously loop this iteration by calling <see cref="M:Urho.Engine.RunFrame()" />. This function calls in turn the <see cref="T:Urho.Time" /> subsystem's <see cref="M:Urho.Engine.BeginFrame()" /> and <see cref="M:Urho.Engine.EndFrame()" /> functions, and sends various update events in between. </para>
- <para>There are a number of events that are raised, these events can be monitored by calling one of the various SubscribeToXxx methods in the UrhoObject base class.</para>
- <para>The event order is:</para>
- <list type="bullet">
- <item>
- <term>
- <see cref="E:Urho.Time.FrameStarted" />: signals the beginning of the new frame. <see cref="T:Urho.Input" /> and <see cref="T:Urho.Engine.Network" /> react to this to check for operating system window messages and arrived network packets.</term>
- </item>
- <item>
- <term>
- <see cref="E:Urho.Engine.Update" />: application-wide logic update event. By default each update-enabled <see cref="T:Urho.Scene" /> reacts to this and triggers the scene update (more on this below).</term>
- </item>
- <item>
- <term>
- <see cref="E:Urho.Engine.PostUpdate" />: application-wide logic post-update event. The <see cref="T:Urho.Gui.UI" /> subsystem updates its logic here.</term>
- </item>
- <item>
- <term>
- <see cref="E:Urho.Engine.RenderUpdate" />: <see cref="T:Urho.Renderer" /> updates its viewports here to prepare for rendering, and the <see cref="T:Urho.Gui.UI" /> generates render commands necessary to render the user interface.</term>
- </item>
- <item>
- <term>
- <see cref="T:Urho.Engine.PostRenderUpdate" />: by default nothing hooks to this. This can be used to implement logic that requires the rendering views to be up-to-date, for example to do accurate raycasts. Scenes may not be modified at this point; especially scene objects may not be deleted or crashes may occur.</term>
- </item>
- <item>
- <term>EndFrame: signals the end of the frame. Before this, rendering the frame and measuring the next frame's timestep will have occurred.</term>
- </item>
- </list>
- <para>The update of each <see cref="T:Urho.Scene" /> causes further events to be sent:</para>
- <list type="bullet">
- <item>
- <term>SceneUpdate: variable timestep scene update. This is a good place to implement any scene logic that does not need to happen at a fixed step.</term>
- </item>
- <item>
- <term>SceneSubsystemUpdate: update scene-wide subsystems. Currently only the <see cref="T:Urho.Physics.PhysicsWorld" /> component listens to this, which causes it to step the physics simulation and send the following two events for each simulation step:</term>
- </item>
- <item>
- <term>PhysicsPreStep: called before the simulation iteration. Happens at a fixed rate (the physics FPS). If fixed timestep logic updates are needed, this is a good event to listen to.</term>
- </item>
- <item>
- <term>PhysicsPostStep: called after the simulation iteration. Happens at the same rate as PhysicsPreStep.</term>
- </item>
- <item>
- <term>SmoothingUpdate: update <see cref="T:Urho.SmoothedTransform" /> components in network client scenes.</term>
- </item>
- <item>
- <term>ScenePostUpdate: variable timestep scene post-update. <see cref="T:Urho.ParticleEmitter" /> and <see cref="T:Urho.AnimationController" /> update themselves as a response to this event.</term>
- </item>
- </list>
- <para>Variable timestep logic updates are preferable to fixed timestep, because they are only executed once per frame. In contrast, if the rendering framerate is low, several physics simulation steps will be performed on each frame to keep up the apparent passage of time, and if this also causes a lot of logic code to be executed for each step, the program may bog down further if the CPU can not handle the load. Note that the Engine’s minimum FPS, by default 10, sets a hard cap for the timestep to prevent spiraling down to a complete halt; if exceeded, animation and physics will instead appear to slow down.</para>
- <para>
- </para>
- <format type="text/html">
- <h2>Main Loop and the Application Activation State</h2>
- </format>
- <para>
- </para>
- <para>The application window's state (has input focus, minimized or not) can be queried from the <see cref="T:Urho.Input" /> subsystem. It can also effect the main loop in the following ways:</para>
- <list type="bullet">
- <item>
- <term>Rendering is always skipped when the window is minimized.</term>
- </item>
- </list>
- <list type="bullet">
- <item>
- <term>To avoid spinning the CPU and GPU unnecessarily, it is possible to define a smaller maximum FPS when no input focus. See <see cref="P:Urho.Engine.MaxInactiveFps" />.</term>
- </item>
- </list>
- <list type="bullet">
- <item>
- <term>It is also possible to automatically pause update events and audio when the window is minimized. Use <see cref="P:Urho.Engine.PauseMinimized" /> to control this behaviour. By default it is not enabled on desktop, and enabled on mobile devices (Android and iOS.) For singleplayer games this is recommended to avoid unwanted progression while away from the program. However in a multiplayer game this should not be used, as the missing scene updates would likely desync the client with the server.</term>
- </item>
- </list>
- <list type="bullet">
- <item>
- <term>On mobile devices the window becoming minimized can mean that it will never become maximized again, in case the OS decides it needs to free memory and kills your program. Therefore you should listen for the InputFocus event from the <see cref="T:Urho.Input" /> subsystem and immediately save your program state as applicable if the program loses input focus or is minimized.</term>
- </item>
- </list>
- <list type="bullet">
- <item>
- <term>On mobile devices it is also unsafe to access or create any graphics resources while the window is minimized (as the graphics context may be destroyed during this time); doing so can crash the program. It is recommended to leave the pause-minimized feature on to ensure you do not have to check for this in your update code.</term>
- </item>
- </list>
- <para>Note that on iOS calling <see cref="M:Urho.Engine.Exit" /> is a no-op as there is no officially sanctioned way to manually exit your program. On Android it will cause the activity to manually exit.</para>
- <format type="text/html">
- <h2>Application Framework</h2>
- <div>The&amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;<a href="">T:Urho.Application</a>&amp;amp;amp;amp;amp;amp;amp;amp;amp;nbsp;class provides a minimal framework to run your game with a main loop and a handful of methods that you can override to prepare and run your game.</div>
- </format>
- </remarks>
- </Docs>
- <Members>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public Engine ();" />
- <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <Attributes>
- <Attribute>
- <AttributeName>Preserve</AttributeName>
- </Attribute>
- </Attributes>
- <Parameters />
- <Docs>
- <summary>
- <para>Constructs a new instance of Urho.Engine which is tied to the <see cref="P:Urho.Application.CurrentContext" />.</para>
- </summary>
- <remarks>
- </remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public Engine (IntPtr handle);" />
- <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(native int handle) cil managed" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <Attributes>
- <Attribute>
- <AttributeName>Preserve</AttributeName>
- </Attribute>
- </Attributes>
- <Parameters>
- <Parameter Name="handle" Type="System.IntPtr" />
- </Parameters>
- <Docs>
- <param name="handle">Pointer to the raw unmanaged Urho object.</param>
- <summary>Constructs a new instance of Urho.Engine, given a raw pointer to an unmanaged object</summary>
- <remarks>
- <para>This creates a new managed wrapper for the type using the raw pointer to an unmanaged object.</para>
- <para>Objects that are created in this fashion get registered with the UrhoSharp runtime.</para>
- <para>This is intended to be used by the UrhoSharp runtime, and is not intended to be used by users.</para>
- </remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="public Engine (Urho.Context context);" />
- <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor(class Urho.Context context) cil managed" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <Attributes>
- <Attribute>
- <AttributeName>Preserve</AttributeName>
- </Attribute>
- </Attributes>
- <Parameters>
- <Parameter Name="context" Type="Urho.Context" />
- </Parameters>
- <Docs>
- <param name="context">The context that this object will be attached to.</param>
- <summary>
- <para>Constructs a new instance of Urho.Engine linked to a specific <see cref="T:Urho.Context" />.</para>
- </summary>
- <remarks>
- </remarks>
- </Docs>
- </Member>
- <Member MemberName=".ctor">
- <MemberSignature Language="C#" Value="protected Engine (Urho.UrhoObjectFlag emptyFlag);" />
- <MemberSignature Language="ILAsm" Value=".method familyhidebysig specialname rtspecialname instance void .ctor(valuetype Urho.UrhoObjectFlag emptyFlag) cil managed" />
- <MemberType>Constructor</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <Attributes>
- <Attribute>
- <AttributeName>Preserve</AttributeName>
- </Attribute>
- </Attributes>
- <Parameters>
- <Parameter Name="emptyFlag" Type="Urho.UrhoObjectFlag" />
- </Parameters>
- <Docs>
- <param name="emptyFlag">Pass UrhoObjectFlag.Empty.</param>
- <summary>Empty constructor, chain to this constructor when you provide your own constructor that sets the handle field.</summary>
- <remarks>
- <para>This constructor should be invoked by your code if you provide your own constructor that sets the handle field.</para>
- <para>This essentially circumvents the default path that creates a new object and sets the handle and does not call RegisterObject on the target, you must do this on your own constructor.</para>
- <para>You would typically chain to this constructor from your own, and then set the handle to the unmanaged object from your code, and then register your object.</para>
- </remarks>
- </Docs>
- </Member>
- <Member MemberName="ApplyFrameLimit">
- <MemberSignature Language="C#" Value="public int ApplyFrameLimit ();" />
- <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int32 ApplyFrameLimit() cil managed" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>Get the timestep for the next frame and sleep for frame limiting if necessary.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="AutoExit">
- <MemberSignature Language="C#" Value="public bool AutoExit { get; set; }" />
- <MemberSignature Language="ILAsm" Value=".property instance bool AutoExit" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>
- Return whether to exit automatically on exit request.
- Or
- Set whether to exit automatically on exit request (window close button.)
- </summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CreateConsole">
- <MemberSignature Language="C#" Value="public Urho.UrhoConsole CreateConsole ();" />
- <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Urho.UrhoConsole CreateConsole() cil managed" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Urho.UrhoConsole</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>
- Create the console and return it. May return null if engine configuration does not allow creation (headless mode.)
- </summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="CreateDebugHud">
- <MemberSignature Language="C#" Value="public Urho.DebugHud CreateDebugHud ();" />
- <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Urho.DebugHud CreateDebugHud() cil managed" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Urho.DebugHud</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>
- Create the debug hud.
- </summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DumpMemory">
- <MemberSignature Language="C#" Value="public void DumpMemory ();" />
- <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void DumpMemory() cil managed" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>
- Dump information of all memory allocations to the log. Supported in MSVC debug mode only.
- </summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DumpProfiler">
- <MemberSignature Language="C#" Value="public void DumpProfiler ();" />
- <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void DumpProfiler() cil managed" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>
- Dump profiling information to the log.
- </summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="DumpResources">
- <MemberSignature Language="C#" Value="public void DumpResources (bool dumpFileName = false);" />
- <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void DumpResources(bool dumpFileName) cil managed" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="dumpFileName" Type="System.Boolean" />
- </Parameters>
- <Docs>
- <param name="dumpFileName">To be added.</param>
- <summary>
- Dump information of all resources to the log.
- </summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Exiting">
- <MemberSignature Language="C#" Value="public bool Exiting { get; }" />
- <MemberSignature Language="ILAsm" Value=".property instance bool Exiting" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>Return whether exit has been requested.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Headless">
- <MemberSignature Language="C#" Value="public bool Headless { get; }" />
- <MemberSignature Language="ILAsm" Value=".property instance bool Headless" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>Return whether the engine has been created in headless mode.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Initialized">
- <MemberSignature Language="C#" Value="public bool Initialized { get; }" />
- <MemberSignature Language="ILAsm" Value=".property instance bool Initialized" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>Return whether engine has been initialized.</summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MaxFps">
- <MemberSignature Language="C#" Value="public int MaxFps { get; set; }" />
- <MemberSignature Language="ILAsm" Value=".property instance int32 MaxFps" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>
- Return the maximum frames per second.
- Or
- Set maximum frames per second. The engine will sleep if FPS is higher than this.
- </summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MaxInactiveFps">
- <MemberSignature Language="C#" Value="public int MaxInactiveFps { get; set; }" />
- <MemberSignature Language="ILAsm" Value=".property instance int32 MaxInactiveFps" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>
- Return the maximum frames per second when the application does not have input focus.
- Or
- Set maximum frames per second when the application does not have input focus.
- </summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="MinFps">
- <MemberSignature Language="C#" Value="public int MinFps { get; set; }" />
- <MemberSignature Language="ILAsm" Value=".property instance int32 MinFps" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>
- Return the minimum frames per second.
- Or
- Set minimum frames per second. If FPS goes lower than this, time will appear to slow down.
- </summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="NextTimeStep">
- <MemberSignature Language="C#" Value="public float NextTimeStep { get; set; }" />
- <MemberSignature Language="ILAsm" Value=".property instance float32 NextTimeStep" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Single</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>
- Get timestep of the next frame. Updated by ApplyFrameLimit().
- Or
- Override timestep of the next frame. Should be called in between RunFrame() calls.
- </summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PauseMinimized">
- <MemberSignature Language="C#" Value="public bool PauseMinimized { get; set; }" />
- <MemberSignature Language="ILAsm" Value=".property instance bool PauseMinimized" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Boolean</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>
- Return whether to pause update events and audio when minimized.
- Or
- Set whether to pause update events and audio when minimized.
- </summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PostRenderUpdate">
- <MemberSignature Language="C#" Value="public event Action<Urho.PostRenderUpdateEventArgs> PostRenderUpdate;" />
- <MemberSignature Language="ILAsm" Value=".event class System.Action`1<valuetype Urho.PostRenderUpdateEventArgs> PostRenderUpdate" />
- <MemberType>Event</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Action<Urho.PostRenderUpdateEventArgs></ReturnType>
- </ReturnValue>
- <Docs>
- <summary>Invoked after the <see cref="T:Urho.Engine.RenderUpdate" /> event has been raised. This can be used to implement logic that requires the rendering views to be up-to-date, for example to do accurate raycasts. </summary>
- <remarks>Scenes may not be modified at this point; especially scene objects may not be deleted or crashes may occur.</remarks>
- </Docs>
- </Member>
- <Member MemberName="PostUpdate">
- <MemberSignature Language="C#" Value="public event Action<Urho.PostUpdateEventArgs> PostUpdate;" />
- <MemberSignature Language="ILAsm" Value=".event class System.Action`1<valuetype Urho.PostUpdateEventArgs> PostUpdate" />
- <MemberType>Event</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Action<Urho.PostUpdateEventArgs></ReturnType>
- </ReturnValue>
- <Docs>
- <summary>Event raised after the <see cref="E:Urho.Engine.Update" /> event is from the <see cref="M:Urho.Engine.UpdateFrame" /> method.</summary>
- <remarks>The <see cref="T:Urho.Gui.UI" /> subsystem updates its logic here.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Render">
- <MemberSignature Language="C#" Value="public void Render ();" />
- <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void Render() cil managed" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>
- Render after frame update.
- </summary>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RenderUpdate">
- <MemberSignature Language="C#" Value="public event Action<Urho.RenderUpdateEventArgs> RenderUpdate;" />
- <MemberSignature Language="ILAsm" Value=".event class System.Action`1<valuetype Urho.RenderUpdateEventArgs> RenderUpdate" />
- <MemberType>Event</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Action<Urho.RenderUpdateEventArgs></ReturnType>
- </ReturnValue>
- <Docs>
- <summary>Event raised after <see cref="E:Urho.Engine.PostUpdate" /> event in preparation for rendering.</summary>
- <remarks>
- <see cref="T:Urho.Renderer" /> updates its viewports here to prepare for rendering, and the <see cref="T:Urho.Gui.UI" /> generates render commands necessary to render the user interface.</remarks>
- </Docs>
- </Member>
- <Member MemberName="RunFrame">
- <MemberSignature Language="C#" Value="public int RunFrame ();" />
- <MemberSignature Language="ILAsm" Value=".method public hidebysig instance int32 RunFrame() cil managed" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>Run one frame.</summary>
- <returns>To be added.</returns>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="SubscribeToPostRenderUpdate">
- <MemberSignature Language="C#" Value="public Urho.Subscription SubscribeToPostRenderUpdate (Action<Urho.PostRenderUpdateEventArgs> handler);" />
- <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Urho.Subscription SubscribeToPostRenderUpdate(class System.Action`1<valuetype Urho.PostRenderUpdateEventArgs> handler) cil managed" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <Attributes>
- <Attribute>
- <AttributeName>System.Obsolete("SubscribeTo API may lead to unxpected behaviour and will be removed in a future version. Use C# event '.PostRenderUpdate += ...' instead.")</AttributeName>
- </Attribute>
- </Attributes>
- <ReturnValue>
- <ReturnType>Urho.Subscription</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="handler" Type="System.Action<Urho.PostRenderUpdateEventArgs>" />
- </Parameters>
- <Docs>
- <param name="handler">The handler to invoke when this event is raised.</param>
- <summary>Subscribes to the PostRenderUpdate event raised by the Engine.</summary>
- <returns>Returns an Urho.Subscription that can be used to cancel the subscription.</returns>
- <remarks>
- <para>This method will override any prior subscription, including those assigned to on event handlers.</para>
- <para>This has the advantage that it does a straight connection and returns a handle that is easy to unsubscribe from.</para>
- <para>For a more event-like approach, use the <see cref="E:Urho.Engine.PostRenderUpdate" /> event.</para>
- </remarks>
- </Docs>
- </Member>
- <Member MemberName="SubscribeToPostUpdate">
- <MemberSignature Language="C#" Value="public Urho.Subscription SubscribeToPostUpdate (Action<Urho.PostUpdateEventArgs> handler);" />
- <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Urho.Subscription SubscribeToPostUpdate(class System.Action`1<valuetype Urho.PostUpdateEventArgs> handler) cil managed" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <Attributes>
- <Attribute>
- <AttributeName>System.Obsolete("SubscribeTo API may lead to unxpected behaviour and will be removed in a future version. Use C# event '.PostUpdate += ...' instead.")</AttributeName>
- </Attribute>
- </Attributes>
- <ReturnValue>
- <ReturnType>Urho.Subscription</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="handler" Type="System.Action<Urho.PostUpdateEventArgs>" />
- </Parameters>
- <Docs>
- <param name="handler">The handler to invoke when this event is raised.</param>
- <summary>Subscribes to the PostUpdate event raised by the Engine.</summary>
- <returns>Returns an Urho.Subscription that can be used to cancel the subscription.</returns>
- <remarks>
- <para>This method will override any prior subscription, including those assigned to on event handlers.</para>
- <para>This has the advantage that it does a straight connection and returns a handle that is easy to unsubscribe from.</para>
- <para>For a more event-like approach, use the <see cref="E:Urho.Engine.PostUpdate" /> event.</para>
- </remarks>
- </Docs>
- </Member>
- <Member MemberName="SubscribeToRenderUpdate">
- <MemberSignature Language="C#" Value="public Urho.Subscription SubscribeToRenderUpdate (Action<Urho.RenderUpdateEventArgs> handler);" />
- <MemberSignature Language="ILAsm" Value=".method public hidebysig instance class Urho.Subscription SubscribeToRenderUpdate(class System.Action`1<valuetype Urho.RenderUpdateEventArgs> handler) cil managed" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <Attributes>
- <Attribute>
- <AttributeName>System.Obsolete("SubscribeTo API may lead to unxpected behaviour and will be removed in a future version. Use C# event '.RenderUpdate += ...' instead.")</AttributeName>
- </Attribute>
- </Attributes>
- <ReturnValue>
- <ReturnType>Urho.Subscription</ReturnType>
- </ReturnValue>
- <Parameters>
- <Parameter Name="handler" Type="System.Action<Urho.RenderUpdateEventArgs>" />
- </Parameters>
- <Docs>
- <param name="handler">The handler to invoke when this event is raised.</param>
- <summary>Subscribes to the RenderUpdate event raised by the Engine.</summary>
- <returns>Returns an Urho.Subscription that can be used to cancel the subscription.</returns>
- <remarks>
- <para>This method will override any prior subscription, including those assigned to on event handlers.</para>
- <para>This has the advantage that it does a straight connection and returns a handle that is easy to unsubscribe from.</para>
- <para>For a more event-like approach, use the <see cref="E:Urho.Engine.RenderUpdate" /> event.</para>
- </remarks>
- </Docs>
- </Member>
- <Member MemberName="TimeStepSmoothing">
- <MemberSignature Language="C#" Value="public int TimeStepSmoothing { get; set; }" />
- <MemberSignature Language="ILAsm" Value=".property instance int32 TimeStepSmoothing" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Int32</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>
- Return how many frames to average for timestep smoothing.
- Or
- Set how many frames to average for timestep smoothing. Default is 2. 1 disables smoothing.
- </summary>
- <value>To be added.</value>
- <remarks>To be added.</remarks>
- </Docs>
- </Member>
- <Member MemberName="Type">
- <MemberSignature Language="C#" Value="public override Urho.StringHash Type { get; }" />
- <MemberSignature Language="ILAsm" Value=".property instance valuetype Urho.StringHash Type" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>Urho.StringHash</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>Urho's type system type.</summary>
- <value>StringHash representing the type for this C# type.</value>
- <remarks>This returns the Urho's type and is surfaced for low-level Urho code.</remarks>
- </Docs>
- </Member>
- <Member MemberName="TypeName">
- <MemberSignature Language="C#" Value="public override string TypeName { get; }" />
- <MemberSignature Language="ILAsm" Value=".property instance string TypeName" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>Urho's low-level type name.</summary>
- <value>Stringified low-level type name.</value>
- <remarks>
- </remarks>
- </Docs>
- </Member>
- <Member MemberName="TypeNameStatic">
- <MemberSignature Language="C#" Value="public static string TypeNameStatic { get; }" />
- <MemberSignature Language="ILAsm" Value=".property string TypeNameStatic" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.String</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>Urho's low-level type name, accessible as a static method.</summary>
- <value>Stringified low-level type name.</value>
- <remarks>
- </remarks>
- </Docs>
- </Member>
- <Member MemberName="TypeStatic">
- <MemberSignature Language="C#" Value="public static Urho.StringHash TypeStatic { get; }" />
- <MemberSignature Language="ILAsm" Value=".property valuetype Urho.StringHash TypeStatic" />
- <MemberType>Property</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <Attributes>
- <Attribute>
- <AttributeName>Preserve</AttributeName>
- </Attribute>
- </Attributes>
- <ReturnValue>
- <ReturnType>Urho.StringHash</ReturnType>
- </ReturnValue>
- <Docs>
- <summary>Urho's low-level type, accessible as a static method.</summary>
- <value>This returns the Urho's type and is surface for the low-level Urho code.</value>
- <remarks>
- </remarks>
- </Docs>
- </Member>
- <Member MemberName="Update">
- <MemberSignature Language="C#" Value="public event Action<Urho.UpdateEventArgs> Update;" />
- <MemberSignature Language="ILAsm" Value=".event class System.Action`1<valuetype Urho.UpdateEventArgs> Update" />
- <MemberType>Event</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Action<Urho.UpdateEventArgs></ReturnType>
- </ReturnValue>
- <Docs>
- <summary>Application-wide logic update event, the first called from the <see cref="M:Urho.Engine.UpdateFrame" /> method.</summary>
- <remarks>
- <para>By default each update-enabled <see cref="T:Urho.Scene" /> reacts to this and triggers the scene update</para>
- <para>
- </para>
- </remarks>
- </Docs>
- </Member>
- <Member MemberName="UpdateFrame">
- <MemberSignature Language="C#" Value="public void UpdateFrame ();" />
- <MemberSignature Language="ILAsm" Value=".method public hidebysig instance void UpdateFrame() cil managed" />
- <MemberType>Method</MemberType>
- <AssemblyInfo>
- <AssemblyVersion>1.0.0.0</AssemblyVersion>
- </AssemblyInfo>
- <ReturnValue>
- <ReturnType>System.Void</ReturnType>
- </ReturnValue>
- <Parameters />
- <Docs>
- <summary>Sends the frame update events.</summary>
- <remarks>This method is usually invoked from the <see cref="M:Urho.Engine.RunFrame" /> method and it rasises the <see cref="E:Urho.Engine.Update" />, <see cref="E:Urho.Engine.PostUpdate" />, <see cref="E:Urho.Engine.RenderUpdate" /> and <see cref="E:Urho.Engine.PostRenderUpdate" /> events in that order.</remarks>
- </Docs>
- </Member>
- </Members>
- </Type>
|