Difference between revisions of "PlugIn Development:GameEx Initialize Function"

From Spesoft/GameEx Wiki
Jump to navigation Jump to search
Line 4: Line 4:


=== <span style="color:#003300;">VB.NET</span> ===
=== <span style="color:#003300;">VB.NET</span> ===
==== Structure ====
==== <span style="color:purple;">Structure</span> ====
<pre style="font-family:'Lucida Console', Monaco, monospace; border-color:#003300; background-color:#E0EEE0; border-style:dashed;">
<pre style="font-family:'Lucida Console', Monaco, monospace; border-color:#003300; background-color:#E0EEE0; border-style:dashed;">
<StructLayout(LayoutKind.Sequential)> _
<StructLayout(LayoutKind.Sequential)> _
Line 10: Line 10:
     Public GameExVersion As String
     Public GameExVersion As String
End Structure</pre>
End Structure</pre>
==== Function ====
==== <span style="color:purple;">Function</span> ====
<pre style="font-family:'Lucida Console', Monaco, monospace; border-color:#003300; background-color:#E0EEE0; border-style:solid;">
<pre style="font-family:'Lucida Console', Monaco, monospace; border-color:#003300; background-color:#E0EEE0; border-style:solid;">
Public Function Initialize(ByVal InfoPtr As IntPtr) As Boolean
Public Function Initialize(ByVal InfoPtr As IntPtr) As Boolean
Line 20: Line 20:


=== <span style="color:#003300;">C#</span> ===
=== <span style="color:#003300;">C#</span> ===
==== Structure ====
==== <span style="color:purple;">Structure</span> ====
<pre style="font-family:'Lucida Console', Monaco, monospace; border-color:#003300; background-color:#E0EEE0; border-style:dashed;">
<pre style="font-family:'Lucida Console', Monaco, monospace; border-color:#003300; background-color:#E0EEE0; border-style:dashed;">
[ StructLayout( LayoutKind.Sequential )]
[ StructLayout( LayoutKind.Sequential )]
Line 27: Line 27:
     public string GameExVersion;
     public string GameExVersion;
}</pre>
}</pre>
==== Function ====
==== <span style="color:purple;">Function</span> ====
<pre style="font-family:'Lucida Console', Monaco, monospace; border-color:#003300; background-color:#E0EEE0; border-style:solid;">
<pre style="font-family:'Lucida Console', Monaco, monospace; border-color:#003300; background-color:#E0EEE0; border-style:solid;">
public bool Initialize(IntPtr InfoPtr)
public bool Initialize(IntPtr InfoPtr)

Revision as of 06:36, 27 April 2014

This function is called when GameEx initializes.
Using this function call, you can run code to do various things, like set up your log files or load your settings. I often use this function to run a thread when I need to download something in the background (or check for updates) and I don't need to wait for it to finish prior to GameEx launching.
You can return TRUE to continue processing the event or return FALSE and GameEx will not initialize your plugin.

Code Examples

VB.NET

Structure

<StructLayout(LayoutKind.Sequential)> _
Public Structure GameExInfo
    Public GameExVersion As String
End Structure

Function

Public Function Initialize(ByVal InfoPtr As IntPtr) As Boolean
     Dim Info As GameExInfo = DirectCast(Marshal.PtrToStructure(InfoPtr, GetType(GameExInfo)), GameExInfo))
     'This will output the current version of GameEx:
     Dim GameEx_Version As String = Info.GameExVersion
     Return True
End Function

C#

Structure

[ StructLayout( LayoutKind.Sequential )]
public struct GameExInfo
{
     public string GameExVersion;
}

Function

public bool Initialize(IntPtr InfoPtr)
{
     GameExInfo Info = (GameExInfo) Marshal.PtrToStructure(InfoPtr, typeof(GameExInfo));
     //This will output the current version of GameEx as a string:
     string GameEx_Version = Info.GameExVersion;
     return true;
}