added differents kind of nodes
This commit is contained in:
parent
8e14399b3f
commit
c1604cb3ad
63
scene.h
63
scene.h
@ -1,6 +1,8 @@
|
||||
#ifndef SCENE_H
|
||||
#define SCENE_H
|
||||
|
||||
#include "SFML/System.hpp"
|
||||
|
||||
class SceneNode;
|
||||
|
||||
class Scene
|
||||
@ -8,39 +10,78 @@ class Scene
|
||||
public:
|
||||
Scene();
|
||||
void update();
|
||||
void render();
|
||||
private:
|
||||
SceneNode* m_sceneNodeTree;
|
||||
};
|
||||
|
||||
|
||||
//Node Interface
|
||||
class SceneNode
|
||||
{
|
||||
public:
|
||||
SceneNode();
|
||||
virtual void update();
|
||||
virtual void update() = 0;
|
||||
private:
|
||||
SceneNode* m_parentNode;
|
||||
std::vector<SceneNode*> m_childrenNode;
|
||||
};
|
||||
|
||||
class CameraSceneNode : public SceneNode
|
||||
//general Node
|
||||
|
||||
class ObjectNode : public SceneNode, public PhongEntity
|
||||
{
|
||||
|
||||
//add bullet rigidbody
|
||||
public:
|
||||
virtual void update();
|
||||
};
|
||||
|
||||
class LightSceneNode : public SceneNode
|
||||
class FragmentNode: public ObjectNode
|
||||
{
|
||||
|
||||
// TODO: later
|
||||
};
|
||||
|
||||
class TerrainSceneNode: public SceneNode
|
||||
class ItemNode: public ObjectNode
|
||||
{
|
||||
|
||||
// TODO: later
|
||||
};
|
||||
|
||||
class ObjectSceneNode : public SceneNode
|
||||
// Node
|
||||
class GUINode : public SceneNode, public GUIEntity
|
||||
{
|
||||
|
||||
public:
|
||||
virtual void update();
|
||||
};
|
||||
|
||||
class PlayerNode: public SceneNode, public FPSCamera
|
||||
{
|
||||
public:
|
||||
virtual void update();
|
||||
};
|
||||
|
||||
class EnvironmentNode : public SceneNode
|
||||
{
|
||||
public:
|
||||
virtual void update();
|
||||
// parametre skybox
|
||||
// directionnal light
|
||||
// parametre fog
|
||||
};
|
||||
|
||||
class LightNode : public SceneNode
|
||||
{
|
||||
public:
|
||||
virtual void update();
|
||||
//position
|
||||
//puissance
|
||||
//lighting angle
|
||||
//couleur
|
||||
};
|
||||
|
||||
class ChunkNode: public SceneNode
|
||||
{
|
||||
public:
|
||||
virtual void update();
|
||||
// map
|
||||
};
|
||||
|
||||
|
||||
#endif // SCENE_H
|
||||
|
Loading…
x
Reference in New Issue
Block a user