/**************************************************************************/
/*  register_types.cpp                                                    */
/**************************************************************************/
/*                         This file is part of:                          */
/*                          AETHEX ENGINE                                 */
/*                     https://aethex.foundation                          */
/**************************************************************************/
/* Copyright (c) 2026-present AeThex Labs.                                */
/**************************************************************************/

#include "register_types.h"

#include "marketplace_client.h"
#include "asset_browser.h"
#include "asset_downloader.h"

#ifdef TOOLS_ENABLED
#include "editor/marketplace_dock.h"
#endif

void initialize_aethex_marketplace_module(ModuleInitializationLevel p_level) {
	if (p_level == MODULE_INITIALIZATION_LEVEL_CORE) {
		GDREGISTER_CLASS(AeThexMarketplaceClient);
		GDREGISTER_CLASS(AeThexAsset);
		GDREGISTER_CLASS(AeThexAssetBrowser);
		GDREGISTER_CLASS(AeThexAssetDownloader);
	}

#ifdef TOOLS_ENABLED
	if (p_level == MODULE_INITIALIZATION_LEVEL_EDITOR) {
		// Marketplace dock is registered by editor plugin
	}
#endif
}

void uninitialize_aethex_marketplace_module(ModuleInitializationLevel p_level) {
	// Cleanup if needed
}
