SHADE_Y3/SHADE_Engine/src/Scene/SHSceneEvents.h

48 lines
1.4 KiB
C++

/****************************************************************************************
* \file SHSceneEvents.h
* \author Diren D Bharwani, diren.dbharwani, 390002520
* \brief Interface for Scene Events.
*
* \copyright Copyright (C) 2022 DigiPen Institute of Technology. Reproduction or
* disclosure of this file or its contents without the prior written consent
* of DigiPen Institute of Technology is prohibited.
****************************************************************************************/
#pragma once
// Project Headers
#include "SHSceneNode.h"
#include "Assets/SHAssetMacros.h"
namespace SHADE
{
/*-----------------------------------------------------------------------------------*/
/* Event Data Definitions */
/*-----------------------------------------------------------------------------------*/
struct SHSceneGraphChangeParentEvent
{
SHSceneNode* node = nullptr;
SHSceneNode* oldParent = nullptr;
SHSceneNode* newParent = nullptr;
};
struct SHSceneGraphAddChildEvent
{
SHSceneNode* parent = nullptr;
SHSceneNode* childAdded = nullptr;
};
struct SHSceneGraphRemoveChildEvent
{
SHSceneNode* parent = nullptr;
SHSceneNode* childRemoved = nullptr;
};
struct SHSceneInitExitEvent
{
AssetID sceneAssetID;
};
} // namespace SHADE