Merge branch 'master' of https://git.exmods.org/modtainers/GamecraftModdingAPI
This commit is contained in:
commit
6c83b44d4e
16 changed files with 4729 additions and 12 deletions
5
.gitignore
vendored
5
.gitignore
vendored
|
@ -341,3 +341,8 @@ healthchecksdb
|
||||||
|
|
||||||
# references
|
# references
|
||||||
ref
|
ref
|
||||||
|
|
||||||
|
# doxygen docs
|
||||||
|
doxygen/**
|
||||||
|
**.bak
|
||||||
|
dox.log
|
||||||
|
|
|
@ -18,9 +18,16 @@ namespace GamecraftModdingAPI.Commands
|
||||||
{
|
{
|
||||||
private static Dictionary<string, ICustomCommandEngine> _customCommands = new Dictionary<string, ICustomCommandEngine>();
|
private static Dictionary<string, ICustomCommandEngine> _customCommands = new Dictionary<string, ICustomCommandEngine>();
|
||||||
|
|
||||||
|
private static EnginesRoot _lastEngineRoot;
|
||||||
|
|
||||||
public static void AddCommand(ICustomCommandEngine engine)
|
public static void AddCommand(ICustomCommandEngine engine)
|
||||||
{
|
{
|
||||||
_customCommands[engine.Name] = engine;
|
_customCommands[engine.Name] = engine;
|
||||||
|
if (_lastEngineRoot != null)
|
||||||
|
{
|
||||||
|
Logging.MetaDebugLog($"Registering ICustomCommandEngine {engine.Name}");
|
||||||
|
_lastEngineRoot.AddEngine(engine);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool ExistsCommand(string name)
|
public static bool ExistsCommand(string name)
|
||||||
|
@ -50,6 +57,7 @@ namespace GamecraftModdingAPI.Commands
|
||||||
|
|
||||||
public static void RegisterEngines(EnginesRoot enginesRoot)
|
public static void RegisterEngines(EnginesRoot enginesRoot)
|
||||||
{
|
{
|
||||||
|
_lastEngineRoot = enginesRoot;
|
||||||
foreach (var key in _customCommands.Keys)
|
foreach (var key in _customCommands.Keys)
|
||||||
{
|
{
|
||||||
Logging.MetaDebugLog($"Registering ICustomCommandEngine {_customCommands[key].Name}");
|
Logging.MetaDebugLog($"Registering ICustomCommandEngine {_customCommands[key].Name}");
|
||||||
|
|
|
@ -21,22 +21,21 @@ namespace GamecraftModdingAPI.Commands
|
||||||
/// Patch of RobocraftX.GUI.CommandLine.CommandLineCompositionRoot.Compose<T>()
|
/// Patch of RobocraftX.GUI.CommandLine.CommandLineCompositionRoot.Compose<T>()
|
||||||
/// </summary>
|
/// </summary>
|
||||||
// TODO: fix
|
// TODO: fix
|
||||||
//[HarmonyPatch]
|
[HarmonyPatch]
|
||||||
//[HarmonyPatch(typeof(RobocraftX.GUI.CommandLine.CommandLineCompositionRoot))]
|
//[HarmonyPatch(typeof(RobocraftX.GUI.CommandLine.CommandLineCompositionRoot))]
|
||||||
|
//[HarmonyPatch("Compose")]
|
||||||
//[HarmonyPatch("Compose", new Type[] { typeof(UnityContext<FullGameCompositionRoot>), typeof(EnginesRoot), typeof(World), typeof(Action), typeof(MultiplayerInitParameters), typeof(StateSyncRegistrationHelper)})]
|
//[HarmonyPatch("Compose", new Type[] { typeof(UnityContext<FullGameCompositionRoot>), typeof(EnginesRoot), typeof(World), typeof(Action), typeof(MultiplayerInitParameters), typeof(StateSyncRegistrationHelper)})]
|
||||||
static class CommandPatch
|
static class CommandPatch
|
||||||
{
|
{
|
||||||
public static void Postfix(object contextHolder, EnginesRoot enginesRoot, World physicsWorld, Action reloadGame, MultiplayerInitParameters multiplayerParameters, StateSyncRegistrationHelper stateSyncReg)
|
public static void Postfix(object contextHolder, EnginesRoot enginesRoot, World physicsWorld, Action reloadGame, MultiplayerInitParameters multiplayerParameters, ref StateSyncRegistrationHelper stateSyncReg)
|
||||||
{
|
{
|
||||||
Logging.MetaDebugLog("Command Line was loaded");
|
|
||||||
// When a game is loaded, register the command engines
|
// When a game is loaded, register the command engines
|
||||||
CommandManager.RegisterEngines(enginesRoot);
|
CommandManager.RegisterEngines(enginesRoot);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MethodBase TargetMethod(HarmonyInstance instance)
|
public static MethodBase TargetMethod(HarmonyInstance instance)
|
||||||
{
|
{
|
||||||
return typeof(RobocraftX.GUI.CommandLine.CommandLineCompositionRoot).GetMethod("Compose").MakeGenericMethod(typeof(object));
|
return typeof(RobocraftX.GUI.CommandLine.CommandLineCompositionRoot).GetMethod("Compose").MakeGenericMethod(typeof(object));
|
||||||
|
|
||||||
//return func.Method;
|
//return func.Method;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,11 +20,18 @@ namespace GamecraftModdingAPI.Events
|
||||||
|
|
||||||
private static Dictionary<string, IEventHandlerEngine> _eventHandlers = new Dictionary<string, IEventHandlerEngine>();
|
private static Dictionary<string, IEventHandlerEngine> _eventHandlers = new Dictionary<string, IEventHandlerEngine>();
|
||||||
|
|
||||||
|
private static EnginesRoot _lastEngineRoot;
|
||||||
|
|
||||||
// event handler management
|
// event handler management
|
||||||
|
|
||||||
public static void AddEventHandler(IEventHandlerEngine engine)
|
public static void AddEventHandler(IEventHandlerEngine engine)
|
||||||
{
|
{
|
||||||
_eventHandlers[engine.Name] = engine;
|
_eventHandlers[engine.Name] = engine;
|
||||||
|
if (_lastEngineRoot != null)
|
||||||
|
{
|
||||||
|
Logging.MetaDebugLog($"Registering IEventHandlerEngine {engine.Name}");
|
||||||
|
_lastEngineRoot.AddEngine(engine);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool ExistsEventHandler(string name)
|
public static bool ExistsEventHandler(string name)
|
||||||
|
@ -57,6 +64,11 @@ namespace GamecraftModdingAPI.Events
|
||||||
public static void AddEventEmitter(IEventEmitterEngine engine)
|
public static void AddEventEmitter(IEventEmitterEngine engine)
|
||||||
{
|
{
|
||||||
_eventEmitters[engine.Name] = engine;
|
_eventEmitters[engine.Name] = engine;
|
||||||
|
if (_lastEngineRoot != null)
|
||||||
|
{
|
||||||
|
Logging.MetaDebugLog($"Registering IEventEmitterEngine {engine.Name}");
|
||||||
|
_lastEngineRoot.AddEngine(engine);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool ExistsEventEmitter(string name)
|
public static bool ExistsEventEmitter(string name)
|
||||||
|
@ -89,6 +101,7 @@ namespace GamecraftModdingAPI.Events
|
||||||
|
|
||||||
public static void RegisterEngines(EnginesRoot enginesRoot)
|
public static void RegisterEngines(EnginesRoot enginesRoot)
|
||||||
{
|
{
|
||||||
|
_lastEngineRoot = enginesRoot;
|
||||||
// Register handlers before emitters so no events are missed
|
// Register handlers before emitters so no events are missed
|
||||||
var entityFactory = enginesRoot.GenerateEntityFactory();
|
var entityFactory = enginesRoot.GenerateEntityFactory();
|
||||||
foreach (var key in _eventHandlers.Keys)
|
foreach (var key in _eventHandlers.Keys)
|
||||||
|
|
|
@ -22,8 +22,6 @@ namespace GamecraftModdingAPI.Events
|
||||||
{
|
{
|
||||||
// register custom game engines
|
// register custom game engines
|
||||||
GameEngineManager.RegisterEngines(____mainGameEnginesRoot);
|
GameEngineManager.RegisterEngines(____mainGameEnginesRoot);
|
||||||
// register custom command engines
|
|
||||||
GamecraftModdingAPI.Commands.CommandManager.RegisterEngines(____mainGameEnginesRoot);
|
|
||||||
// A new EnginesRoot is always created when ActivateGame is called
|
// A new EnginesRoot is always created when ActivateGame is called
|
||||||
// so all event emitters and handlers must be re-registered.
|
// so all event emitters and handlers must be re-registered.
|
||||||
EventManager.RegisterEngines(____mainGameEnginesRoot);
|
EventManager.RegisterEngines(____mainGameEnginesRoot);
|
||||||
|
|
|
@ -33,6 +33,16 @@ namespace GamecraftModdingAPI.Events
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Manually activate the EventHandler.
|
||||||
|
/// Once activated, the next remove event will not be ignored.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="handle">Whether to invoke the activated action</param>
|
||||||
|
public void Activate(bool handle = false)
|
||||||
|
{
|
||||||
|
isActivated = true;
|
||||||
|
}
|
||||||
|
|
||||||
public void Ready() { }
|
public void Ready() { }
|
||||||
|
|
||||||
public void Remove(ref ModEventEntityStruct entityView, EGID egid)
|
public void Remove(ref ModEventEntityStruct entityView, EGID egid)
|
||||||
|
|
|
@ -42,11 +42,13 @@ namespace GamecraftModdingAPI.Tests
|
||||||
public void OnApplicationStart()
|
public void OnApplicationStart()
|
||||||
{
|
{
|
||||||
GamecraftModdingAPI.Main.Init();
|
GamecraftModdingAPI.Main.Init();
|
||||||
// in case Steam is not installed/running
|
// in case Steam is not installed/running
|
||||||
// this will crash the game slightly later during startup
|
// this will crash the game slightly later during startup
|
||||||
//SteamInitPatch.ForcePassSteamCheck = true;
|
//SteamInitPatch.ForcePassSteamCheck = true;
|
||||||
// in case running in a VM
|
// in case running in a VM
|
||||||
//MinimumSpecsCheckPatch.ForcePassMinimumSpecCheck = true;
|
//MinimumSpecsCheckPatch.ForcePassMinimumSpecCheck = true;
|
||||||
|
// disable some Gamecraft analytics
|
||||||
|
//AnalyticsDisablerPatch.DisableAnalytics = true;
|
||||||
// disable background music
|
// disable background music
|
||||||
AudioTools.SetVolume(0.0f, "Music");
|
AudioTools.SetVolume(0.0f, "Music");
|
||||||
|
|
||||||
|
@ -90,6 +92,10 @@ namespace GamecraftModdingAPI.Tests
|
||||||
CommandManager.AddCommand(new SimpleCustomCommandEngine<float, float, float>(
|
CommandManager.AddCommand(new SimpleCustomCommandEngine<float, float, float>(
|
||||||
(x,y,z) => { Blocks.Placement.PlaceBlock(Blocks.BlockIDs.AluminiumCube, new Unity.Mathematics.float3(x, y, z)); },
|
(x,y,z) => { Blocks.Placement.PlaceBlock(Blocks.BlockIDs.AluminiumCube, new Unity.Mathematics.float3(x, y, z)); },
|
||||||
"PlaceAluminium", "Place a block of aluminium at the given coordinates"));
|
"PlaceAluminium", "Place a block of aluminium at the given coordinates"));
|
||||||
|
Analytics.DeltaDNAHelper.PlayerLifetimeParameters plp = new Analytics.DeltaDNAHelper.PlayerLifetimeParameters();
|
||||||
|
CommandManager.AddCommand(new SimpleCustomCommandEngine<string>(
|
||||||
|
(s) => { Analytics.DeltaDNAHelper.SendActionCompletedEvent(in plp, s.Replace(", ", " ")); },
|
||||||
|
"SendAnalyticsAction", "Send an analytics action"));
|
||||||
}
|
}
|
||||||
|
|
||||||
public void OnFixedUpdate() { }
|
public void OnFixedUpdate() { }
|
||||||
|
|
38
GamecraftModdingAPI/Utility/AnalyticsDisablerPatch.cs
Normal file
38
GamecraftModdingAPI/Utility/AnalyticsDisablerPatch.cs
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Reflection;
|
||||||
|
|
||||||
|
using Analytics;
|
||||||
|
using Harmony;
|
||||||
|
using RobocraftX.Common;
|
||||||
|
using Svelto.ECS;
|
||||||
|
|
||||||
|
namespace GamecraftModdingAPI.Utility
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Patch of Analytics.AnalyticsCompositionRoot.Compose<T>(...)
|
||||||
|
/// This stops some analytics collection built into Gamecraft.
|
||||||
|
/// DO NOT USE! (This will likely crash your game on shutdown)
|
||||||
|
/// </summary>
|
||||||
|
[HarmonyPatch]
|
||||||
|
class AnalyticsDisablerPatch
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Don't activate gameplay analytics?
|
||||||
|
/// </summary>
|
||||||
|
public static bool DisableAnalytics = false;
|
||||||
|
|
||||||
|
public static bool Prefix(object contextHolder, EnginesRoot enginesRoot, RCXMode rcxMode)
|
||||||
|
{
|
||||||
|
return !DisableAnalytics;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static MethodBase TargetMethod(HarmonyInstance instance)
|
||||||
|
{
|
||||||
|
return typeof(Analytics.AnalyticsCompositionRoot).GetMethod("Compose").MakeGenericMethod(typeof(object));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -15,9 +15,16 @@ namespace GamecraftModdingAPI.Utility
|
||||||
{
|
{
|
||||||
private static Dictionary<string, IApiEngine> _gameEngines = new Dictionary<string, IApiEngine>();
|
private static Dictionary<string, IApiEngine> _gameEngines = new Dictionary<string, IApiEngine>();
|
||||||
|
|
||||||
|
private static EnginesRoot _lastEngineRoot;
|
||||||
|
|
||||||
public static void AddGameEngine(IApiEngine engine)
|
public static void AddGameEngine(IApiEngine engine)
|
||||||
{
|
{
|
||||||
_gameEngines[engine.Name] = engine;
|
_gameEngines[engine.Name] = engine;
|
||||||
|
if (_lastEngineRoot != null)
|
||||||
|
{
|
||||||
|
Logging.MetaDebugLog($"Registering Game IApiEngine {engine.Name}");
|
||||||
|
_lastEngineRoot.AddEngine(engine);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool ExistsGameEngine(string name)
|
public static bool ExistsGameEngine(string name)
|
||||||
|
@ -47,6 +54,7 @@ namespace GamecraftModdingAPI.Utility
|
||||||
|
|
||||||
public static void RegisterEngines(EnginesRoot enginesRoot)
|
public static void RegisterEngines(EnginesRoot enginesRoot)
|
||||||
{
|
{
|
||||||
|
_lastEngineRoot = enginesRoot;
|
||||||
foreach (var key in _gameEngines.Keys)
|
foreach (var key in _gameEngines.Keys)
|
||||||
{
|
{
|
||||||
Logging.MetaDebugLog($"Registering Game IApiEngine {_gameEngines[key].Name}");
|
Logging.MetaDebugLog($"Registering Game IApiEngine {_gameEngines[key].Name}");
|
||||||
|
|
|
@ -15,10 +15,17 @@ namespace GamecraftModdingAPI.Utility
|
||||||
{
|
{
|
||||||
private static Dictionary<string, IApiEngine> _menuEngines = new Dictionary<string, IApiEngine>();
|
private static Dictionary<string, IApiEngine> _menuEngines = new Dictionary<string, IApiEngine>();
|
||||||
|
|
||||||
|
private static EnginesRoot _lastEngineRoot;
|
||||||
|
|
||||||
// menu engine management
|
// menu engine management
|
||||||
public static void AddMenuEngine(IApiEngine engine)
|
public static void AddMenuEngine(IApiEngine engine)
|
||||||
{
|
{
|
||||||
_menuEngines[engine.Name] = engine;
|
_menuEngines[engine.Name] = engine;
|
||||||
|
if (_lastEngineRoot != null)
|
||||||
|
{
|
||||||
|
Logging.MetaDebugLog($"Registering Menu IApiEngine {engine.Name}");
|
||||||
|
_lastEngineRoot.AddEngine(engine);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool ExistsMenuEngine(string name)
|
public static bool ExistsMenuEngine(string name)
|
||||||
|
@ -48,6 +55,7 @@ namespace GamecraftModdingAPI.Utility
|
||||||
|
|
||||||
public static void RegisterEngines(EnginesRoot enginesRoot)
|
public static void RegisterEngines(EnginesRoot enginesRoot)
|
||||||
{
|
{
|
||||||
|
_lastEngineRoot = enginesRoot;
|
||||||
foreach (var key in _menuEngines.Keys)
|
foreach (var key in _menuEngines.Keys)
|
||||||
{
|
{
|
||||||
Logging.MetaDebugLog($"Registering Menu IApiEngine {_menuEngines[key].Name}");
|
Logging.MetaDebugLog($"Registering Menu IApiEngine {_menuEngines[key].Name}");
|
||||||
|
|
21
docs/footer.html
Normal file
21
docs/footer.html
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
<!-- HTML footer for doxygen 1.8.17-->
|
||||||
|
<!-- start footer part -->
|
||||||
|
<!--BEGIN GENERATE_TREEVIEW-->
|
||||||
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
||||||
|
<ul>
|
||||||
|
$navpath
|
||||||
|
<li class="footer" style="display:none;">$generatedby
|
||||||
|
<a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="$relpath^doxygen.png" alt="doxygen"/></a> $doxygenversion </li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<!--END GENERATE_TREEVIEW-->
|
||||||
|
<!--BEGIN !GENERATE_TREEVIEW-->
|
||||||
|
<hr class="footer"/><address class="footer"><small>
|
||||||
|
$generatedby  <a href="http://www.doxygen.org/index.html">
|
||||||
|
<img class="footer" src="$relpath^doxygen.png" alt="doxygen"/>
|
||||||
|
</a> $doxygenversion
|
||||||
|
</small></address>
|
||||||
|
<!--END !GENERATE_TREEVIEW-->
|
||||||
|
</body>
|
||||||
|
</html>
|
58
docs/header.html
Normal file
58
docs/header.html
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
<!-- HTML header for doxygen 1.8.17-->
|
||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
||||||
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
||||||
|
<meta name="generator" content="Doxygen $doxygenversion"/>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
||||||
|
<!--BEGIN PROJECT_NAME--><title>$projectname: $title</title><!--END PROJECT_NAME-->
|
||||||
|
<!--BEGIN !PROJECT_NAME--><title>$title</title><!--END !PROJECT_NAME-->
|
||||||
|
<link href="$relpath^tabs.css" rel="stylesheet" type="text/css"/>
|
||||||
|
<link href="https://exmods.org/static/favicon.png" rel="icon" type="image/x-icon" />
|
||||||
|
<link href="https://exmods.org/static/favicon.png" rel="shortcut icon" type="image/x-icon" />
|
||||||
|
<script type="text/javascript" src="$relpath^jquery.js"></script>
|
||||||
|
<script type="text/javascript" src="$relpath^dynsections.js"></script>
|
||||||
|
$treeview
|
||||||
|
$search
|
||||||
|
$mathjax
|
||||||
|
<link href="$relpath^$stylesheet" rel="stylesheet" type="text/css" />
|
||||||
|
$extrastylesheet
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
||||||
|
|
||||||
|
<!--BEGIN TITLEAREA-->
|
||||||
|
<div id="titlearea">
|
||||||
|
<table cellspacing="0" cellpadding="0">
|
||||||
|
<tbody>
|
||||||
|
<tr style="height: 56px;">
|
||||||
|
<!--BEGIN PROJECT_LOGO-->
|
||||||
|
<td id="projectlogo"><a href="/index.html"><img alt="Logo" src="$relpath^$projectlogo"/></a></td>
|
||||||
|
<!--END PROJECT_LOGO-->
|
||||||
|
<!--BEGIN PROJECT_NAME-->
|
||||||
|
<td id="projectalign" style="padding-left: 0.5em;">
|
||||||
|
<div id="projectname">$projectname
|
||||||
|
<!--BEGIN PROJECT_NUMBER--> <span id="projectnumber"><a href="https://git.exmods.org/modtainers/GamecraftModdingAPI/releases">$projectnumber</a></span><!--END PROJECT_NUMBER-->
|
||||||
|
</div>
|
||||||
|
<!--BEGIN PROJECT_BRIEF--><div id="projectbrief"><b>$projectbrief</b></div><!--END PROJECT_BRIEF-->
|
||||||
|
</td>
|
||||||
|
<!--END PROJECT_NAME-->
|
||||||
|
<!--BEGIN !PROJECT_NAME-->
|
||||||
|
<!--BEGIN PROJECT_BRIEF-->
|
||||||
|
<td style="padding-left: 0.5em;">
|
||||||
|
<div id="projectbrief">$projectbrief</div>
|
||||||
|
</td>
|
||||||
|
<!--END PROJECT_BRIEF-->
|
||||||
|
<!--END !PROJECT_NAME-->
|
||||||
|
<!--BEGIN DISABLE_INDEX-->
|
||||||
|
<!--BEGIN SEARCHENGINE-->
|
||||||
|
<td>$searchbox</td>
|
||||||
|
<!--END SEARCHENGINE-->
|
||||||
|
<!--END DISABLE_INDEX-->
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
<!--END TITLEAREA-->
|
||||||
|
<!-- end header part -->
|
BIN
docs/logo.png
Normal file
BIN
docs/logo.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 6.1 KiB |
1771
docs/style.css
Normal file
1771
docs/style.css
Normal file
File diff suppressed because it is too large
Load diff
2548
doxygen.conf
Normal file
2548
doxygen.conf
Normal file
File diff suppressed because it is too large
Load diff
226
doxygen.xml
Normal file
226
doxygen.xml
Normal file
|
@ -0,0 +1,226 @@
|
||||||
|
<doxygenlayout version="1.0">
|
||||||
|
<!-- Generated by doxygen 1.8.17 -->
|
||||||
|
<!-- Navigation index tabs for HTML output -->
|
||||||
|
<navindex>
|
||||||
|
<tab type="mainpage" visible="yes" title=""/>
|
||||||
|
<tab type="pages" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="modules" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="namespaces" visible="yes" title="">
|
||||||
|
<tab type="namespacelist" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="namespacemembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="interfaces" visible="yes" title="">
|
||||||
|
<tab type="interfacelist" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="interfaceindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||||
|
<tab type="interfacehierarchy" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="classes" visible="yes" title="">
|
||||||
|
<tab type="classlist" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||||
|
<tab type="hierarchy" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="classmembers" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="structs" visible="yes" title="">
|
||||||
|
<tab type="structlist" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="structindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="exceptions" visible="yes" title="">
|
||||||
|
<tab type="exceptionlist" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="exceptionindex" visible="$ALPHABETICAL_INDEX" title=""/>
|
||||||
|
<tab type="exceptionhierarchy" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="files" visible="yes" title="">
|
||||||
|
<tab type="filelist" visible="yes" title="" intro=""/>
|
||||||
|
<tab type="globals" visible="yes" title="" intro=""/>
|
||||||
|
</tab>
|
||||||
|
<tab type="examples" visible="yes" title="" intro=""/>
|
||||||
|
</navindex>
|
||||||
|
|
||||||
|
<!-- Layout definition for a class page -->
|
||||||
|
<class>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<inheritancegraph visible="$CLASS_GRAPH"/>
|
||||||
|
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestedclasses visible="yes" title=""/>
|
||||||
|
<publictypes title=""/>
|
||||||
|
<services title=""/>
|
||||||
|
<interfaces title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicmethods title=""/>
|
||||||
|
<publicstaticmethods title=""/>
|
||||||
|
<publicattributes title=""/>
|
||||||
|
<publicstaticattributes title=""/>
|
||||||
|
<protectedtypes title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<protectedmethods title=""/>
|
||||||
|
<protectedstaticmethods title=""/>
|
||||||
|
<protectedattributes title=""/>
|
||||||
|
<protectedstaticattributes title=""/>
|
||||||
|
<packagetypes title=""/>
|
||||||
|
<packagemethods title=""/>
|
||||||
|
<packagestaticmethods title=""/>
|
||||||
|
<packageattributes title=""/>
|
||||||
|
<packagestaticattributes title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<privatetypes title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<privatemethods title=""/>
|
||||||
|
<privatestaticmethods title=""/>
|
||||||
|
<privateattributes title=""/>
|
||||||
|
<privatestaticattributes title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<related title="" subtitle=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<services title=""/>
|
||||||
|
<interfaces title=""/>
|
||||||
|
<constructors title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<related title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<allmemberslink visible="yes"/>
|
||||||
|
<usedfiles visible="$SHOW_USED_FILES"/>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</class>
|
||||||
|
|
||||||
|
<!-- Layout definition for a namespace page -->
|
||||||
|
<namespace>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestednamespaces visible="yes" title=""/>
|
||||||
|
<constantgroups visible="yes" title=""/>
|
||||||
|
<interfaces visible="yes" title=""/>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<structs visible="yes" title=""/>
|
||||||
|
<exceptions visible="yes" title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<sequences title=""/>
|
||||||
|
<dictionaries title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<sequences title=""/>
|
||||||
|
<dictionaries title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</namespace>
|
||||||
|
|
||||||
|
<!-- Layout definition for a file page -->
|
||||||
|
<file>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<includes visible="$SHOW_INCLUDE_FILES"/>
|
||||||
|
<includegraph visible="$INCLUDE_GRAPH"/>
|
||||||
|
<includedbygraph visible="$INCLUDED_BY_GRAPH"/>
|
||||||
|
<sourcelink visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<interfaces visible="yes" title=""/>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<structs visible="yes" title=""/>
|
||||||
|
<exceptions visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<constantgroups visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<sequences title=""/>
|
||||||
|
<dictionaries title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<sequences title=""/>
|
||||||
|
<dictionaries title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection/>
|
||||||
|
</file>
|
||||||
|
|
||||||
|
<!-- Layout definition for a group page -->
|
||||||
|
<group>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<groupgraph visible="$GROUP_GRAPHS"/>
|
||||||
|
<memberdecl>
|
||||||
|
<nestedgroups visible="yes" title=""/>
|
||||||
|
<dirs visible="yes" title=""/>
|
||||||
|
<files visible="yes" title=""/>
|
||||||
|
<namespaces visible="yes" title=""/>
|
||||||
|
<classes visible="yes" title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<sequences title=""/>
|
||||||
|
<dictionaries title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
<membergroups visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
<memberdef>
|
||||||
|
<pagedocs/>
|
||||||
|
<inlineclasses title=""/>
|
||||||
|
<defines title=""/>
|
||||||
|
<typedefs title=""/>
|
||||||
|
<sequences title=""/>
|
||||||
|
<dictionaries title=""/>
|
||||||
|
<enums title=""/>
|
||||||
|
<enumvalues title=""/>
|
||||||
|
<functions title=""/>
|
||||||
|
<variables title=""/>
|
||||||
|
<signals title=""/>
|
||||||
|
<publicslots title=""/>
|
||||||
|
<protectedslots title=""/>
|
||||||
|
<privateslots title=""/>
|
||||||
|
<events title=""/>
|
||||||
|
<properties title=""/>
|
||||||
|
<friends title=""/>
|
||||||
|
</memberdef>
|
||||||
|
<authorsection visible="yes"/>
|
||||||
|
</group>
|
||||||
|
|
||||||
|
<!-- Layout definition for a directory page -->
|
||||||
|
<directory>
|
||||||
|
<briefdescription visible="yes"/>
|
||||||
|
<directorygraph visible="yes"/>
|
||||||
|
<memberdecl>
|
||||||
|
<dirs visible="yes"/>
|
||||||
|
<files visible="yes"/>
|
||||||
|
</memberdecl>
|
||||||
|
<detaileddescription title=""/>
|
||||||
|
</directory>
|
||||||
|
</doxygenlayout>
|
Loading…
Reference in a new issue