summaryrefslogtreecommitdiff
path: root/Runtime/Core/Callbacks/GlobalCallbacks.h
blob: ddfccca801b29b00217a6317d363ace9ff138523 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#pragma once

#include "CallbackArray.h"
#include "Runtime/Modules/ExportModules.h"

struct EXPORT_COREMODULE GlobalCallbacks
{
	public:
	
	// Called after loading the level.
	// Resets all Random number seeds in the engine after loading a level.
	CallbackArray resetRandomAfterLevelLoad;
	
	CallbackArray didReloadMonoDomain;
	CallbackArray didUnloadScene;

	CallbackArray registerGizmos;

	//only used by hacky audiocode, should be killed.
	CallbackArray managersWillBeReloadedHack;

	CallbackArray willSaveScene;
	CallbackArray initializedEngineGraphics;

	CallbackArray initialDomainReloadingComplete;

	static GlobalCallbacks& Get();
};

#define REGISTER_GLOBAL_CALLBACK(eventName,body) struct eventName { static void Forward () { body; } };  GlobalCallbacks::Get().eventName.Register(eventName::Forward);