36 lines
998 B
C
36 lines
998 B
C
|
#ifndef CSCRIPTNODE_H
|
||
|
#define CSCRIPTNODE_H
|
||
|
|
||
|
#include "CSceneNode.h"
|
||
|
#include "CModelNode.h"
|
||
|
#include <Resource/script/CScriptObject.h>
|
||
|
|
||
|
class CScriptNode : public CSceneNode
|
||
|
{
|
||
|
CScriptObject *mpInstance;
|
||
|
CModel *mpActiveModel;
|
||
|
|
||
|
bool mHasValidPosition;
|
||
|
bool mHasVolumePreview;
|
||
|
CModelNode *mpVolumePreviewNode;
|
||
|
|
||
|
public:
|
||
|
CScriptNode(CSceneManager *pScene, CSceneNode *pParent = 0, CScriptObject *pObject = 0);
|
||
|
ENodeType NodeType();
|
||
|
std::string PrefixedName() const;
|
||
|
void AddToRenderer(CRenderer *pRenderer);
|
||
|
void Draw(ERenderOptions Options);
|
||
|
void DrawAsset(ERenderOptions Options, u32 Asset);
|
||
|
void DrawSelection();
|
||
|
void RayAABoxIntersectTest(CRayCollisionTester &Tester);
|
||
|
SRayIntersection RayNodeIntersectTest(const CRay &Ray, u32 AssetID);
|
||
|
bool IsVisible() const;
|
||
|
CScriptObject* Object();
|
||
|
CModel* ActiveModel();
|
||
|
void GeneratePosition();
|
||
|
bool HasPreviewVolume();
|
||
|
CAABox PreviewVolumeAABox();
|
||
|
};
|
||
|
|
||
|
#endif // CSCRIPTNODE_H
|