Changeset 10
- Timestamp:
- 03/31/09 23:23:29 (3 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 10 modified
-
include/dreamforge/GameEngine.hh (modified) (1 diff)
-
src/LevelEditor.cc (modified) (11 diffs)
-
src/LevelEditor.hh (modified) (2 diffs)
-
src/ObjectEditor.cc (added)
-
src/ObjectEditor.hh (added)
-
src/Properties.cc (modified) (4 diffs)
-
src/Properties.hh (modified) (2 diffs)
-
src/SConscript (modified) (1 diff)
-
src/Workbench.cc (modified) (7 diffs)
-
src/Workbench.hh (modified) (2 diffs)
-
src/dreamforge/GameEngine.cc (modified) (2 diffs)
-
src/dreamforge/objects/Object.cc (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/include/dreamforge/GameEngine.hh
r4 r10 84 84 * Get the current window 85 85 */ 86 inline Ogre::SceneManager* getSceneMgr( void) { return mSceneMgr; }86 inline Ogre::SceneManager* getSceneMgr(const Ogre::String &name) { return mRoot->getSceneManager(name); } 87 87 /** 88 88 * initEngine -
trunk/src/LevelEditor.cc
r9 r10 28 28 { 29 29 setAttribute(Qt::WA_PaintOnScreen, true); 30 30 setAcceptDrops(false); 31 // Enable tracking mouse event even if we do not clic any buttons 32 setMouseTracking(true); 33 34 //mCamNode = 0; 31 35 mRenderWindow = 0; 32 36 mSceneMgr = 0; 33 37 mCamera = 0; 34 //mCamNode = 0;35 38 mVp = 0; 36 39 … … 65 68 mRoot = CEngineSystem::getInstance()->getRoot(); 66 69 67 // Create a tree widget70 // Create a tree widget 68 71 objProperties = new SelectedObjProp; 69 72 70 // Connect action 73 // Create a widget we can drag around the workbench 74 mLevelDock = new QDockWidget(tr("Propriétés Monde"), this); 75 mLevelDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); 76 mLevelDock->setWidget(objProperties); 77 mLevelDock->setFloating(false); 78 79 // Connect action 71 80 connect(objProperties->objectView, SIGNAL(clicked( const QModelIndex & )),this, SLOT(chooseObject())); 72 81 connect(objProperties->sObjInput, SIGNAL(editingFinished()),this, SLOT(changeObjectName())); … … 80 89 connect(objProperties->rnodeYVal, SIGNAL(valueChanged ( double )),this, SLOT(yawSelectedObject())); 81 90 connect(objProperties->rnodeZVal, SIGNAL(valueChanged ( double )),this, SLOT(rollSelectedObject())); 82 // Enable tracking mouse event even if we do not clic any buttons 83 setMouseTracking(true); 84 } 85 86 LevelEdWidget::~LevelEdWidget() 91 92 } 93 94 LevelEdWidget::~LevelEdWidget( void ) 87 95 { 88 96 // Destroy all object loaded in game … … 149 157 void LevelEdWidget::changeObjectName( void ) 150 158 { 151 //Get the new text enter in the QLineEdit box 152 mCurentObject->setObjectName(objProperties->sObjInput->text().toStdString()); 153 159 if(mCurentObject.use_count()) 160 { 161 //Get the new text enter in the QLineEdit box 162 mCurentObject->setObjectName(objProperties->sObjInput->text().toStdString()); 163 } 154 164 } 155 165 … … 157 167 void LevelEdWidget::changeObjectPositionX( void) 158 168 { 159 float x = objProperties->nodeXVal->value(); 160 //Get the new text enter in the QLineEdit box 161 mCurentObject->getSceneNode()->setPosition(x, mCurentObject->getSceneNode()->getPosition().y, mCurentObject->getSceneNode()->getPosition().z); 169 if(mCurentObject.use_count()) 170 { 171 float x = objProperties->nodeXVal->value(); 172 //Get the new text enter in the QLineEdit box 173 mCurentObject->getSceneNode()->setPosition(x, mCurentObject->getSceneNode()->getPosition().y, mCurentObject->getSceneNode()->getPosition().z); 174 } 162 175 } 163 176 //------------------------------------------------------------------------------------------------ 164 177 void LevelEdWidget::changeObjectPositionY( void) 165 178 { 166 float y = objProperties->nodeYVal->value(); 167 //Get the new text enter in the QLineEdit box 168 mCurentObject->getSceneNode()->setPosition(mCurentObject->getSceneNode()->getPosition().x, y, mCurentObject->getSceneNode()->getPosition().z); 179 if(mCurentObject.use_count()) 180 { 181 float y = objProperties->nodeYVal->value(); 182 //Get the new text enter in the QLineEdit box 183 mCurentObject->getSceneNode()->setPosition(mCurentObject->getSceneNode()->getPosition().x, y, mCurentObject->getSceneNode()->getPosition().z); 184 } 185 //TODO : Otherwise disable the field 169 186 } 170 187 //------------------------------------------------------------------------------------------------ 171 188 void LevelEdWidget::changeObjectPositionZ( void) 172 189 { 173 float z = objProperties->nodeZVal->value(); 174 //Get the new text enter in the QLineEdit box 175 mCurentObject->getSceneNode()->setPosition(mCurentObject->getSceneNode()->getPosition().x, mCurentObject->getSceneNode()->getPosition().y, z); 190 if(mCurentObject.use_count()) 191 { 192 float z = objProperties->nodeZVal->value(); 193 //Get the new text enter in the QLineEdit box 194 mCurentObject->getSceneNode()->setPosition(mCurentObject->getSceneNode()->getPosition().x, mCurentObject->getSceneNode()->getPosition().y, z); 195 } 196 //TODO : Otherwise disable the field 176 197 } 177 198 //------------------------------------------------------------------------------------------------ … … 179 200 void LevelEdWidget::changeObjectScaleX( void) 180 201 { 181 float x = objProperties->snodeXVal->value(); 182 //Get the new text enter in the QLineEdit box 183 mCurentObject->getSceneNode()->setScale(x, mCurentObject->getSceneNode()->getScale().y, mCurentObject->getSceneNode()->getScale().z); 202 if(mCurentObject.use_count()) 203 { 204 float x = objProperties->snodeXVal->value(); 205 //Get the new text enter in the QLineEdit box 206 mCurentObject->getSceneNode()->setScale(x, mCurentObject->getSceneNode()->getScale().y, mCurentObject->getSceneNode()->getScale().z); 207 } 208 //TODO : Otherwise disable the field 184 209 } 185 210 //------------------------------------------------------------------------------------------------ 186 211 void LevelEdWidget::changeObjectScaleY( void) 187 212 { 188 float y = objProperties->snodeYVal->value(); 189 //Get the new text enter in the QLineEdit box 190 mCurentObject->getSceneNode()->setScale(mCurentObject->getSceneNode()->getScale().x, y, mCurentObject->getSceneNode()->getScale().z); 213 if(mCurentObject.use_count()) 214 { 215 float y = objProperties->snodeYVal->value(); 216 //Get the new text enter in the QLineEdit box 217 mCurentObject->getSceneNode()->setScale(mCurentObject->getSceneNode()->getScale().x, y, mCurentObject->getSceneNode()->getScale().z); 218 } 219 //TODO : Otherwise disable the field 191 220 } 192 221 //------------------------------------------------------------------------------------------------ 193 222 void LevelEdWidget::changeObjectScaleZ( void) 194 223 { 195 float z = objProperties->snodeZVal->value(); 196 //Get the new text enter in the QLineEdit box 197 mCurentObject->getSceneNode()->setScale(mCurentObject->getSceneNode()->getScale().x, mCurentObject->getSceneNode()->getScale().y, z); 224 if(mCurentObject.use_count()) 225 { 226 float z = objProperties->snodeZVal->value(); 227 //Get the new text enter in the QLineEdit box 228 mCurentObject->getSceneNode()->setScale(mCurentObject->getSceneNode()->getScale().x, mCurentObject->getSceneNode()->getScale().y, z); 229 } 230 //TODO : Otherwise disable the field 198 231 } 199 232 //------------------------------------------------------------------------------------------------ … … 201 234 void LevelEdWidget::pitchSelectedObject( void) 202 235 { 203 float x = objProperties->rnodeXVal->value(); 204 Ogre::Degree rX(x); 205 //Get the new text enter in the QLineEdit box 206 mCurentObject->getSceneNode()->pitch(rX); 236 if(mCurentObject.use_count()) 237 { 238 float x = objProperties->rnodeXVal->value(); 239 Ogre::Degree rX(x); 240 //Get the new text enter in the QLineEdit box 241 mCurentObject->getSceneNode()->pitch(rX); 242 } 243 //TODO : Otherwise disable the field 207 244 } 208 245 //------------------------------------------------------------------------------------------------ 209 246 void LevelEdWidget::yawSelectedObject( void) 210 247 { 211 float y = objProperties->rnodeYVal->value(); 212 Ogre::Degree rY(y); 213 //Get the new text enter in the QLineEdit box 214 mCurentObject->getSceneNode()->yaw(rY); 248 if(mCurentObject.use_count()) 249 { 250 float y = objProperties->rnodeYVal->value(); 251 Ogre::Degree rY(y); 252 //Get the new text enter in the QLineEdit box 253 mCurentObject->getSceneNode()->yaw(rY); 254 } 255 //TODO : Otherwise disable the field 215 256 } 216 257 //------------------------------------------------------------------------------------------------ 217 258 void LevelEdWidget::rollSelectedObject( void) 218 259 { 219 float z = objProperties->rnodeZVal->value(); 220 Ogre::Degree rZ(z); 221 //Get the new text enter in the QLineEdit box 222 mCurentObject->getSceneNode()->roll(rZ); 260 if(mCurentObject.use_count()) 261 { 262 float z = objProperties->rnodeZVal->value(); 263 Ogre::Degree rZ(z); 264 //Get the new text enter in the QLineEdit box 265 mCurentObject->getSceneNode()->roll(rZ); 266 } 267 //TODO : Otherwise disable the field 223 268 } 224 269 … … 244 289 245 290 //------------------------------------------------------------------------------------------------ 246 void LevelEdWidget::createScene( )291 void LevelEdWidget::createScene( void ) 247 292 { 248 293 … … 265 310 266 311 //------------------------------------------------------------------------------------------------ 267 void LevelEdWidget::setupView( )312 void LevelEdWidget::setupView( void ) 268 313 { 269 314 if(mRenderWindow) … … 290 335 mSceneMgr = mRoot->createSceneManager("TerrainSceneManager");//Ogre::ST_GENERIC); 291 336 */ 292 CEngineSystem::getInstance()->createWindow(" View", width(), height(), false, ¶ms);337 CEngineSystem::getInstance()->createWindow("LEVEL VIEW", width(), height(), false, ¶ms); 293 338 CEngineSystem::getInstance()->chooseSceneManager(); 294 339 295 340 mRenderWindow = CEngineSystem::getInstance()->getRenderWindow(); 296 mSceneMgr = CEngineSystem::getInstance()->getSceneMgr( );297 298 299 mCamera = mSceneMgr->createCamera(" PlayerCam 1");341 mSceneMgr = CEngineSystem::getInstance()->getSceneMgr("LEVELSCMGR"); 342 343 344 mCamera = mSceneMgr->createCamera("LEVELCAM"); 300 345 mCamera->setPosition(Ogre::Vector3(17519,913,16033)); 301 346 mCamera->lookAt(Ogre::Vector3(16073,0,16600)); … … 409 454 ///////////////////////////// UPDATE ///////////////////////////////////// 410 455 //------------------------------------------------------------------------------------------------ 411 void LevelEdWidget::update( )456 void LevelEdWidget::update( void ) 412 457 { 413 458 if(mRenderWindow != 0) -
trunk/src/LevelEditor.hh
r9 r10 1 #ifndef QTOGREWIDGET_H2 #define QTOGREWIDGET_H 3 1 #ifndef __LEVEL_EDITOR_HH__ 2 #define __LEVEL_EDITOR_HH__ 3 4 4 //#include <vector> 5 5 #include <OGRE/Ogre.h> … … 17 17 { 18 18 19 //#include <OGRE/OgreRoot.h>20 //#include <OGRE/OgreRenderWindow.h>19 //#include <OGRE/OgreRoot.h> 20 //#include <OGRE/OgreRenderWindow.h> 21 21 22 /** A QWidget specialised for embedding an Ogre window. */23 class LevelEdWidget : public QWidget24 {25 Q_OBJECT22 /** A QWidget specialised for embedding an Ogre window. */ 23 class LevelEdWidget : public QWidget 24 { 25 Q_OBJECT 26 26 27 public:28 LevelEdWidget(QWidget* parent = 0);29 ~LevelEdWidget();30 31 void createTempObject(std::string& name, std::string& file, std::string& type);32 void changeInsertionMode(bool val);33 void saveObjectToFile(std::string& savefile);34 void loadObjectFromFile(std::string& loadfile);35 36 inline Ogre::Root* getRoot(void) { return mRoot; }37 inline Ogre::RenderWindow* getRenderWindow(void) { return mRenderWindow; }38 inline Ogre::SceneManager* getSceneMgr(void) { return mSceneMgr; }39 inline Ogre::Camera* getCam(void) { return mCamera; }40 41 ObjectPtr mCurentObject; // Selected object42 Ogre::MovableObject* closestObject; // Object use in the ray cast43 Ogre::Entity* mTempEnt;44 Ogre::SceneNode* mTempObject; // Object use to fallow the mouse cursor for insertion45 Ogre::AnimationState* mAnimState;27 public: 28 LevelEdWidget(QWidget* parent = 0); 29 ~LevelEdWidget(void); 30 31 void createTempObject(std::string& name, std::string& file, std::string& type); 32 void changeInsertionMode(bool val); 33 void saveObjectToFile(std::string& savefile); 34 void loadObjectFromFile(std::string& loadfile); 35 36 inline Ogre::Root* getRoot(void) { return mRoot; } 37 inline Ogre::RenderWindow* getRenderWindow(void) { return mRenderWindow; } 38 inline Ogre::SceneManager* getSceneMgr(void) { return mSceneMgr; } 39 inline Ogre::Camera* getCam(void) { return mCamera; } 40 41 ObjectPtr mCurentObject; // Selected object 42 Ogre::MovableObject* closestObject; // Object use in the ray cast 43 Ogre::Entity* mTempEnt; 44 Ogre::SceneNode* mTempObject; // Object use to fallow the mouse cursor for insertion 45 Ogre::AnimationState* mAnimState; 46 46 47 /////////////////////// 48 SelectedObjProp* objProperties; 47 /////////////////////// 48 QDockWidget* mLevelDock; 49 SelectedObjProp* objProperties; 49 50 50 private slots:51 void chooseObject(void);52 void changeObjectName( void );53 void changeObjectPositionX( void);54 void changeObjectPositionY( void);55 void changeObjectPositionZ( void);56 void changeObjectScaleX( void);57 void changeObjectScaleY( void);58 void changeObjectScaleZ( void);59 void pitchSelectedObject(void);60 void yawSelectedObject(void);61 void rollSelectedObject(void);62 63 protected:64 void setupView();65 void update();66 67 void clamToTerrain(Ogre::SceneNode* node);68 //Ogre::MovableObject* getSelectedNode(float mouseScreenX, float mouseScreenY);69 bool isHoverObjectSelected(void) const;70 void createScene();71 72 void getSelectedObjectInfo(void);73 void resetSelectedObjectInfo(void);74 void moveObjectFromRay(QMouseEvent* evt, Ogre::SceneNode* node);75 76 void keyPressEvent(QKeyEvent* evt);77 void keyReleaseEvent(QKeyEvent* evt);78 void mousePressEvent(QMouseEvent* evt);79 void mouseReleaseEvent(QMouseEvent* evt);80 void mouseMoveEvent(QMouseEvent* evt);81 void wheelEvent(QWheelEvent* evt);51 private slots: 52 void chooseObject(void); 53 void changeObjectName( void ); 54 void changeObjectPositionX( void); 55 void changeObjectPositionY( void); 56 void changeObjectPositionZ( void); 57 void changeObjectScaleX( void); 58 void changeObjectScaleY( void); 59 void changeObjectScaleZ( void); 60 void pitchSelectedObject(void); 61 void yawSelectedObject(void); 62 void rollSelectedObject(void); 63 64 protected: 65 void setupView( void ); 66 void update(void); 67 68 void clamToTerrain(Ogre::SceneNode* node); 69 //Ogre::MovableObject* getSelectedNode(float mouseScreenX, float mouseScreenY); 70 bool isHoverObjectSelected(void) const; 71 void createScene( void ); 72 73 void getSelectedObjectInfo(void); 74 void resetSelectedObjectInfo(void); 75 void moveObjectFromRay(QMouseEvent* evt, Ogre::SceneNode* node); 76 77 void keyPressEvent(QKeyEvent* evt); 78 void keyReleaseEvent(QKeyEvent* evt); 79 void mousePressEvent(QMouseEvent* evt); 80 void mouseReleaseEvent(QMouseEvent* evt); 81 void mouseMoveEvent(QMouseEvent* evt); 82 void wheelEvent(QWheelEvent* evt); 82 83 83 void resizeEvent(QResizeEvent* evt);84 void timerEvent(QTimerEvent* evt);85 void paintEvent(QPaintEvent* evt);86 87 //Setup88 Ogre::RenderWindow* mRenderWindow;89 Ogre::SceneManager* mSceneMgr;90 Ogre::Camera* mCamera;91 //Ogre::SceneNode* mCamNode;92 Ogre::Viewport* mVp;93 Ogre::Root* mRoot;94 95 ///// Deplacement Camera96 Ogre::Vector3 mDirection, mTranslateVector;97 QPoint mousePressPos;98 QPoint mousePos;99 float angleX, angleY;100 float mMoveScale;101 102 ///////////////////////103 std::string mName;104 std::string mFile;105 std::string mType;106 107 bool mouseLeftPressed;108 bool mouseRightPressed;109 bool mouseMiddleBtn;110 bool keyCtrlPressed;111 bool keyShiftPressed;112 113 // Action mode114 bool mInsertMode;115 bool mEditionMode;116 117 };84 void resizeEvent(QResizeEvent* evt); 85 void timerEvent(QTimerEvent* evt); 86 void paintEvent(QPaintEvent* evt); 87 88 ///////Setup 89 Ogre::RenderWindow* mRenderWindow; 90 Ogre::SceneManager* mSceneMgr; 91 Ogre::Camera* mCamera; 92 //Ogre::SceneNode* mCamNode; 93 Ogre::Viewport* mVp; 94 Ogre::Root* mRoot; 95 96 ///// Deplacement Camera 97 Ogre::Vector3 mDirection, mTranslateVector; 98 QPoint mousePressPos; 99 QPoint mousePos; 100 float angleX, angleY; 101 float mMoveScale; 102 103 /////////////////////// 104 std::string mName; 105 std::string mFile; 106 std::string mType; 107 108 bool mouseLeftPressed; 109 bool mouseRightPressed; 110 bool mouseMiddleBtn; 111 bool keyCtrlPressed; 112 bool keyShiftPressed; 113 114 // Action mode 115 bool mInsertMode; 116 bool mEditionMode; 117 118 }; 118 119 119 120 }// namespace dreamforge -
trunk/src/Properties.cc
r8 r10 9 9 using namespace dreamforge; 10 10 11 11 //------------------------------------------------------------------------------------------------ 12 ////////// SELECTED OBJECT PROPERTIES 12 13 //------------------------------------------------------------------------------------------------ 13 14 SelectedObjProp::SelectedObjProp(QWidget* parent) : QWidget(parent) 14 15 { 15 /*QGroupBox* groupCombo = new QGroupBox("Sélection");16 17 QLabel* objCat = new QLabel(tr("Objet Catégorie :"));18 QComboBox* objCatCombo = new QComboBox;19 objCatCombo->addItem(tr("Faune"));20 objCatCombo->addItem(tr("Flore"));21 22 QLabel* objType = new QLabel(tr("Objet Type :"));23 QComboBox* objTypeCombo = new QComboBox;24 objTypeCombo->addItem(tr("Batiments"));25 objTypeCombo->addItem(tr("Monstres"));26 objTypeCombo->addItem(tr("NPJ"));27 28 QGridLayout* gridObjLayout = new QGridLayout;29 gridObjLayout->addWidget(objCat, 0, 0);30 gridObjLayout->addWidget(objCatCombo, 0, 1);31 gridObjLayout->addWidget(objType, 1, 0);32 gridObjLayout->addWidget(objTypeCombo, 1, 1);33 34 groupCombo->setLayout(gridObjLayout);35 36 //********************************************37 mObjectList = new QListWidget;38 new QListWidgetItem(tr("Chien"), mObjectList);39 new QListWidgetItem(tr("Loup"), mObjectList);40 new QListWidgetItem(tr("Loup sauvage"), mObjectList);41 new QListWidgetItem(tr("Ogre"), mObjectList);42 new QListWidgetItem(tr("Tigre"), mObjectList);43 44 connect(mObjectList, SIGNAL(itemClicked ( QListWidgetItem * )), this, SLOT(chooseObject()));*/45 46 16 47 17 QStringList headers; … … 204 174 205 175 //------------------------------------------------------------------------------------------------ 206 // 207 //------------------------------------------------------------------------------------------------ 208 EnvProperties::EnvProperties(QWidget* parent) : QWidget(parent) 176 ////////// SELECTED OBJECT PROPERTIES 177 //------------------------------------------------------------------------------------------------ 178 ObjEdProp::ObjEdProp(QWidget* parent) : QWidget(parent) 179 { 180 //*************** CARACTERISTIQUES 181 /* 182 * Force 183 * Dextérité 184 * Constitution 185 * Rapidité 186 * Agilité 187 * Volonté 188 * Intelligence 189 * Chance 190 * Fluide 191 */ 192 QGroupBox* groupCaract = new QGroupBox("Caractéristiques"); 193 194 QLabel* lObjName = new QLabel(tr("Nom :")); 195 QLabel* lObjType = new QLabel(tr("Type :")); 196 QLabel* lObjForce = new QLabel(tr("Force :")); 197 QLabel* lObjDext = new QLabel(tr("Dextérité :")); 198 QLabel* lObjConst = new QLabel(tr("Constitution :")); 199 QLabel* lObjRap = new QLabel(tr("Rapidité :")); 200 QLabel* lObjAgil = new QLabel(tr("Agilité :")); 201 QLabel* lObjVol = new QLabel(tr("Volonté :")); 202 QLabel* lObjIntel = new QLabel(tr("Intelligence :")); 203 QLabel* lObjChance = new QLabel(tr("Chance :")); 204 QLabel* lObjFluide = new QLabel(tr("Fluide :")); 205 206 cObjName = new QLineEdit; 207 cObjType = new QComboBox; 208 cObjType->addItem("PNJ"); 209 cObjType->addItem("MONSTRE"); 210 cObjType->addItem("DECORS"); 211 cObjType->addItem("BATIMENT"); 212 cObjType->addItem("ARMES"); 213 cObjForce = new QSpinBox; 214 cObjDext = new QSpinBox; 215 cObjConst = new QSpinBox; 216 cObjRap = new QSpinBox; 217 cObjAgil = new QSpinBox; 218 cObjVol = new QSpinBox; 219 cObjIntel = new QSpinBox; 220 cObjChance = new QSpinBox; 221 cObjFluide = new QSpinBox; 222 223 QGridLayout* gridObjCaracLayout = new QGridLayout; 224 gridObjCaracLayout->addWidget(lObjName, 0, 0); 225 gridObjCaracLayout->addWidget(cObjName, 0, 1); 226 gridObjCaracLayout->addWidget(lObjType, 1, 0); 227 gridObjCaracLayout->addWidget(cObjType, 1, 1); 228 gridObjCaracLayout->addWidget(lObjForce, 2, 0); 229 gridObjCaracLayout->addWidget(cObjForce, 2, 1); 230 gridObjCaracLayout->addWidget(lObjDext, 3, 0); 231 gridObjCaracLayout->addWidget(cObjDext, 3, 1); 232 gridObjCaracLayout->addWidget(lObjConst, 4, 0); 233 gridObjCaracLayout->addWidget(cObjConst, 4, 1); 234 gridObjCaracLayout->addWidget(lObjRap, 5, 0); 235 gridObjCaracLayout->addWidget(cObjRap, 5, 1); 236 gridObjCaracLayout->addWidget(lObjAgil, 6, 0); 237 gridObjCaracLayout->addWidget(cObjAgil, 6, 1); 238 gridObjCaracLayout->addWidget(lObjVol, 7, 0); 239 gridObjCaracLayout->addWidget(cObjVol, 7, 1); 240 gridObjCaracLayout->addWidget(lObjIntel, 8, 0); 241 gridObjCaracLayout->addWidget(cObjIntel, 8, 1); 242 gridObjCaracLayout->addWidget(lObjChance, 9, 0); 243 gridObjCaracLayout->addWidget(cObjChance, 9, 1); 244 gridObjCaracLayout->addWidget(lObjFluide, 10, 0); 245 gridObjCaracLayout->addWidget(cObjFluide, 10, 1); 246 247 groupCaract->setLayout(gridObjCaracLayout); 248 249 //*************** MANIPULATION 250 QGroupBox* groupManip = new QGroupBox("Manipulation"); 251 252 // SubMesh list combo 253 QLabel* labSubMesh = new QLabel(tr("Objet SousMesh :")); 254 objMeshCombo = new QComboBox; 255 objMeshCombo->setSizeAdjustPolicy ( QComboBox::AdjustToContents ); 256 // Bone list combo 257 QLabel* labBone = new QLabel(tr("Objet Bone :")); 258 objBoneCombo = new QComboBox; 259 objBoneCombo->setSizeAdjustPolicy ( QComboBox::AdjustToContents ); 260 // Animation list combo 261 QLabel* labAnim = new QLabel(tr("Objet Animation :")); 262 objAnimCombo = new QComboBox; 263 objAnimCombo->setSizeAdjustPolicy ( QComboBox::AdjustToContents ); 264 265 showSkelCheckBox = new QCheckBox(tr("Show Skeleton")); 266 playAnimCheckBox = new QCheckBox(tr("Pla&y Animation")); 267 showBBCheckBox = new QCheckBox(tr("Show BoundedBox")); 268 269 mButton = new QPushButton("&Change Text");//, this); 270 mAttButton = new QPushButton("&Attach Shield"); 271 //mAttArm2Button = new QPushButton("&Attach Sword"); 272 273 QGridLayout* gridObjLayout = new QGridLayout; 274 gridObjLayout->addWidget(labSubMesh, 0, 0); 275 gridObjLayout->addWidget(objMeshCombo, 0, 1); 276 gridObjLayout->addWidget(labBone, 2, 0); 277 gridObjLayout->addWidget(objBoneCombo, 2, 1); 278 gridObjLayout->addWidget(showSkelCheckBox, 3, 0); 279 gridObjLayout->addWidget(showBBCheckBox, 3, 1); 280 gridObjLayout->addWidget(labAnim, 4, 0); 281 gridObjLayout->addWidget(objAnimCombo, 4, 1); 282 gridObjLayout->addWidget(playAnimCheckBox, 5, 0); 283 gridObjLayout->addWidget(mButton, 6, 0); 284 gridObjLayout->addWidget(mAttButton, 6, 1); 285 //gridObjLayout->addWidget(mAttArm2Button, 7, 0); 286 287 groupManip->setLayout(gridObjLayout); 288 289 QVBoxLayout* objLayout = new QVBoxLayout; 290 objLayout->addWidget(groupCaract); 291 objLayout->addWidget(groupManip); 292 293 setLayout(objLayout); 294 } 295 296 //------------------------------------------------------------------------------------------------ 297 ObjEdProp::~ObjEdProp() 298 { 299 300 } 301 302 //------------------------------------------------------------------------------------------------ 303 void ObjEdProp::mousePressEvent(QMouseEvent* evt) 304 { 305 } 306 307 //------------------------------------------------------------------------------------------------ 308 void ObjEdProp::mouseReleaseEvent(QMouseEvent* evt) 309 { 310 } 311 312 //------------------------------------------------------------------------------------------------ 313 ////////// ENVIRONNEMENT PROPERTIES 314 //------------------------------------------------------------------------------------------------ 315 ResourcesProp::ResourcesProp(QWidget* parent) : QWidget(parent) 209 316 { 210 317 //QStringList files; … … 227 334 228 335 //------------------------------------------------------------------------------------------------ 229 EnvProperties::~EnvProperties()230 { 231 232 } 233 234 //------------------------------------------------------------------------------------------------ 235 void EnvProperties::chooseObject()336 ResourcesProp::~ResourcesProp() 337 { 338 339 } 340 341 //------------------------------------------------------------------------------------------------ 342 void ResourcesProp::chooseObject() 236 343 { 237 344 QModelIndex item = mMeshTree->currentIndex(); … … 247 354 248 355 //------------------------------------------------------------------------------------------------ 249 void EnvProperties::mousePressEvent(QMouseEvent* evt)250 { 251 } 252 253 //------------------------------------------------------------------------------------------------ 254 void EnvProperties::mouseReleaseEvent(QMouseEvent* evt)255 { 256 } 356 void ResourcesProp::mousePressEvent(QMouseEvent* evt) 357 { 358 } 359 360 //------------------------------------------------------------------------------------------------ 361 void ResourcesProp::mouseReleaseEvent(QMouseEvent* evt) 362 { 363 } -
trunk/src/Properties.hh
r5 r10 2 2 3 3 4 #ifndef __ EnvProperties_h__5 #define __EnvProperties_h__4 #ifndef __PROPERTIES_HH__ 5 #define __PROPERTIES_HH__ 6 6 7 7 #include <QtGui/QtGui> … … 11 11 { 12 12 13 class SelectedObjProp : public QWidget 14 { 15 Q_OBJECT 16 17 public: 18 SelectedObjProp(QWidget *parent = 0); 19 ~SelectedObjProp(); 13 /** 14 * 15 */ 16 class SelectedObjProp : public QWidget 17 { 18 Q_OBJECT 19 20 public: 21 SelectedObjProp(QWidget *parent = 0); 22 ~SelectedObjProp(); 23 24 QTreeView* objectView; 25 TreeModel *model; 26 QLineEdit* sObjInput; 27 // Postion 28 QDoubleSpinBox* nodeXVal; 29 QDoubleSpinBox* nodeYVal; 30 QDoubleSpinBox* nodeZVal; 31 // Scale 32 QDoubleSpinBox* snodeXVal; 33 QDoubleSpinBox* snodeYVal; 34 QDoubleSpinBox* snodeZVal; 35 // Rotation 36 QDoubleSpinBox* rnodeXVal; 37 QDoubleSpinBox* rnodeYVal; 38 QDoubleSpinBox* rnodeZVal; 39 40 protected: 41 void mousePressEvent(QMouseEvent* evt); 42 void mouseReleaseEvent(QMouseEvent* evt); 43 44 }; 45 46 /** 47 * 48 */ 49 class ObjEdProp : public QWidget 50 { 51 Q_OBJECT 52 53 public: 54 ObjEdProp(QWidget *parent = 0); 55 ~ObjEdProp(); 56 57 // CARACTERITICS 58 QLineEdit* cObjName; 59 QComboBox* cObjType; 60 QSpinBox* cObjForce; 61 QSpinBox* cObjDext; 62 QSpinBox* cObjConst; 63 QSpinBox* cObjRap; 64 QSpinBox* cObjAgil; 65 QSpinBox* cObjVol; 66 QSpinBox* cObjIntel; 67 QSpinBox* cObjChance; 68 QSpinBox* cObjFluide; 69 70 // MANIPULATION 71 QComboBox* objMeshCombo; 72 QComboBox* objBoneCombo; 73 QComboBox* objAnimCombo; 74 QCheckBox* playAnimCheckBox; 75 QCheckBox* showSkelCheckBox; 76 QCheckBox* showBBCheckBox; 77 QPushButton* mButton; 78 QPushButton* mAttButton; 79 //QPushButton* mAttArm2Button; 80 81 protected: 82 void mousePressEvent(QMouseEvent* evt); 83 void mouseReleaseEvent(QMouseEvent* evt); 84 85 //QListWidget* mObjectList; 86 }; 87 88 /** 89 * 90 */ 91 class ResourcesProp : public QWidget 92 { 93 Q_OBJECT 94 95 public: 96 ResourcesProp(QWidget *parent = 0); 97 ~ResourcesProp(); 20 98 21 QTreeView* objectView; 22 TreeModel *model; 23 QLineEdit* sObjInput; 24 // Postion 25 QDoubleSpinBox* nodeXVal; 26 QDoubleSpinBox* nodeYVal; 27 QDoubleSpinBox* nodeZVal; 28 // Scale 29 QDoubleSpinBox* snodeXVal; 30 QDoubleSpinBox* snodeYVal; 31 QDoubleSpinBox* snodeZVal; 32 // Rotation 33 QDoubleSpinBox* rnodeXVal; 34 QDoubleSpinBox* rnodeYVal; 35 QDoubleSpinBox* rnodeZVal; 36 37 protected: 38 void mousePressEvent(QMouseEvent* evt); 39 void mouseReleaseEvent(QMouseEvent* evt); 40 41 }; 42 43 class EnvProperties : public QWidget 44 { 45 Q_OBJECT 46 47 public: 48 EnvProperties(QWidget *parent = 0); 49 ~EnvProperties(); 50 51 protected: 52 void mousePressEvent(QMouseEvent* evt); 53 void mouseReleaseEvent(QMouseEvent* evt); 54 private slots: 55 void chooseObject(); 56 57 private: 58 QTreeView *mMeshTree; 59 QDirModel *mMeshModel; 60 QString mCurSelect; 61 }; 99 protected: 100 void mousePressEvent(QMouseEvent* evt); 101 void mouseReleaseEvent(QMouseEvent* evt); 102 private slots: 103 void chooseObject(); 104 105 private: 106 QTreeView *mMeshTree; 107 QDirModel *mMeshModel; 108 QString mCurSelect; 109 }; 62 110 63 111 }// namespace dreamforge -
trunk/src/SConscript
r8 r10 21 21 'treeitem.cpp', 22 22 'Properties.cc', 23 'ObjectEditor.cc', 23 24 'LevelEditor.cc', 24 25 'Workbench.cc', -
trunk/src/Workbench.cc
r7 r10 26 26 mLevelEd = new LevelEdWidget; 27 27 mLevelEd->setFocusPolicy(Qt::ClickFocus); 28 mLevelEd->setMinimumSize(105, 355); 28 mLevelEd->setMinimumSize(105, 655); 29 30 mObjectEd = new ObjectEdWidget; 31 mObjectEd->setFocusPolicy(Qt::ClickFocus); 32 mObjectEd->setMinimumSize(90, 655); 33 mObjectEd->objEdProperties->hide(); 29 34 30 35 // Create the tab widget 31 36 tabWidget = new QTabWidget; 32 tabWidget->addTab(mLevelEd, tr("Editeur de niveau")); 33 34 35 // Create a widget we can drag around the workbench 36 QDockWidget *dock = new QDockWidget(tr("Propriétés"), this); 37 dock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea); 38 dock->setWidget(mLevelEd->objProperties); 39 40 addDockWidget(Qt::RightDockWidgetArea, dock); 41 37 tabWidget->addTab(mLevelEd, tr("Editeur de monde")); 38 tabWidget->addTab(mObjectEd, tr("Editeur d'objets")); 39 40 // Ogre and Editor Log screen 41 appLog = new QTextEdit; 42 appLog->setReadOnly(true); 43 appLog->insertPlainText( "xxxxxxxxxxxxx STARTING EDITOR LOG xxxxxxxxxxxxxxx \n" ); 44 appLog->setFont( QFont("Monospace") ); 45 46 ogreLog = new QTextEdit; 47 ogreLog->setReadOnly(true); 48 ogreLog->insertPlainText( "xxxxxxxxxxxxx STARTING OGRE LOG xxxxxxxxxxxxxxx \n" ); 49 ogreLog->setFont( QFont("Monospace") ); 50 51 // Log Tab 52 logTab = new QTabWidget; 53 //logTab->setMinimumSize(100, 73); 54 logTab->setTabPosition(QTabWidget::West); 55 logTab->addTab(appLog, tr("EDITEUR")); 56 logTab->addTab(ogreLog, tr("OGRE")); 57 58 QDockWidget *logDock = new QDockWidget("Log"); 59 //logDock->setMinimumSize(105, 100); 60 logDock->setWidget(logTab); 61 logDock->setAllowedAreas(Qt::TopDockWidgetArea | Qt::BottomDockWidgetArea); 62 63 // Add and put dock widget 64 addDockWidget(Qt::BottomDockWidgetArea, logDock); 65 addDockWidget(Qt::RightDockWidgetArea, mLevelEd->mLevelDock); 66 addDockWidget(Qt::RightDockWidgetArea, mObjectEd->mObjDock); 42 67 43 68 // Try to register the icon resources : Fix me does not work … … 57 82 setCentralWidget(tabWidget); 58 83 59 this->readSettings(); 84 this->readSettings(); 85 86 mLevelEd->setFocus(); 60 87 } 61 88 … … 81 108 void Workbench::exportScene( void ) 82 109 { 110 appLog->insertPlainText( "xxxxxx Exporting Objects xxxxxx"); 111 83 112 QString fileName = QFileDialog::getSaveFileName(this); 84 113 if (false == fileName.isEmpty()) … … 107 136 void Workbench::importScene( void ) 108 137 { 138 appLog->insertPlainText( "xxxxxx Importing Objects xxxxxx"); 139 109 140 QString fileName = QFileDialog::getOpenFileName(this); 110 141 if (false == fileName.isEmpty()) … … 125 156 126 157 statusBar()->showMessage(tr("File loaded"), 2000); 158 } 159 } 160 161 //------------------------------------------------------------------------------------------------ 162 void Workbench::scrollLog( void ) 163 { 164 appLog->verticalScrollBar()->setValue( appLog->verticalScrollBar()->maximum() ); 165 ogreLog->verticalScrollBar()->setValue( ogreLog->verticalScrollBar()->maximum() ); 166 } 167 168 169 //------------------------------------------------------------------------------------------------ 170 void Workbench::changeTab( int index) 171 { 172 //switch(tabWidget->currentIndex()) 173 switch(index) 174 { 175 case -1: 176 case 0 : //We are in World editor 177 //appLog->insertPlainText( "xxxxxxxxxxxxx HIDE OBJECT EDITOR \n" ); 178 mObjectEd->objEdProperties->hide(); 179 //mObjectEd->objEdProperties->setEnabled ( false); 180 if(mLevelEd->objProperties->isHidden()) 181 { 182 mLevelEd->objProperties->show(); 183 mLevelEd->setFocus(); 184 } 185 // Enable Import and Export actions if it was disable 186 if( !exportAct->isEnabled() || !importAct->isEnabled()) 187 { 188 exportAct->setDisabled(false); 189 importAct->setDisabled(false); 190 } 191 break; 192 case 1 : //We are in Object editor 193 //appLog->insertPlainText( "xxxxxxxxxxxxx HIDE WORLD EDITOR \n" ); 194 mLevelEd->objProperties->hide(); 195 if(mObjectEd->objEdProperties->isHidden()) 196 { 197 mObjectEd->objEdProperties->show(); 198 mObjectEd->setFocus(); 199 } 200 // Disable Import and Export actions 201 exportAct->setDisabled(true); 202 importAct->setDisabled(true); 203 break; 204 case 2: 205 default: 206 appLog->insertPlainText( "xxxxxxxxxxxxx DEFAUT HIDE OBJECT EDITOR \n" ); 207 mObjectEd->objEdProperties->hide(); 127 208 } 128 129 130 131 209 } 132 210 … … 134 212 void Workbench::createActions( void ) 135 213 { 136 newAct = new QAction(QIcon("../../data/icons/copy.png"), tr("&New"), this); 137 newAct->setShortcut(tr("Ctrl+N")); 138 newAct->setStatusTip(tr("Create a new file")); 139 140 openAct = new QAction(QIcon("../../data/icons/open.png"), tr("&Open..."), this); 141 openAct->setShortcut(tr("Ctrl+O")); 142 openAct->setStatusTip(tr("Open an existing file"));; 143 144 saveAct = new QAction(QIcon("../../data/icons/save.png"), tr("&Save"), this); 145 saveAct->setShortcut(tr("Ctrl+S")); 146 saveAct->setStatusTip(tr("Save the document to disk")); 147 148 saveAsAct = new QAction(tr("Save &As..."), this); 149 saveAsAct->setStatusTip(tr("Save the document under a new name")); 214 //// ToolBar 215 newAct = new QAction(QIcon("../../data/icons/copy.png"), tr("&New"), this); 216 newAct->setShortcut(tr("Ctrl+N")); 217 newAct->setStatusTip(tr("Create a new file")); 218 219 openAct = new QAction(QIcon("../../data/icons/open.png"), tr("&Open..."), this); 220 openAct->setShortcut(tr("Ctrl+O")); 221 openAct->setStatusTip(tr("Open an existing file"));; 222 223 saveAct = new QAction(QIcon("../../data/icons/save.png"), tr("&Save"), this); 224 saveAct->setShortcut(tr("Ctrl+S")); 225 saveAct->setStatusTip(tr("Save the document to disk")); 226 227 saveAsAct = new QAction(tr("Save &As..."), this); 228 saveAsAct->setStatusTip(tr("Save the document under a new name")); 229 230 exportAct = new QAction(QIcon("../../data/icons/new.png"), tr("&Export scene..."), this); 231 exportAct->setStatusTip(tr("Export the scen objects in XML document")); 232 connect(exportAct, SIGNAL(triggered()), this, SLOT(exportScene())); 233 234 importAct = new QAction(QIcon("../../data/icons/cut.png"), tr("&Import scene..."), this); 235 importAct->setStatusTip(tr("Import the scene objects from XML document")); 236 connect(importAct, SIGNAL(triggered()), this, SLOT(importScene())); 237 238 exitAct = new QAction(tr("E&xit"), this); 239 exitAct->setShortcut(tr("Ctrl+Q")); 240 exitAct->setStatusTip(tr("Exit the application")); 241 connect(exitAct, SIGNAL(triggered()), this, SLOT(close())); 242 243 aboutAct = new QAction(tr("&About"), this); 244 aboutAct->setStatusTip(tr("Show the application's About box")); 245 connect(aboutAct, SIGNAL(triggered()), this, SLOT(about())); 246 247 aboutQtAct = new QAction(tr("About &Qt"), this); 248 aboutQtAct->setStatusTip(tr("Show the Qt library's About box")); 249 connect(aboutQtAct, SIGNAL(triggered()), qApp, SLOT(aboutQt())); 150 250 151 exportAct = new QAction(QIcon("../../data/icons/new.png"), tr("&Export scene..."), this); 152 exportAct->setStatusTip(tr("Export the scen objects in XML document")); 153 connect(exportAct, SIGNAL(triggered()), this, SLOT(exportScene())); 154 155 importAct = new QAction(QIcon("../../data/icons/cut.png"), tr("&Import scene..."), this); 156 importAct->setStatusTip(tr("Import the scene objects from XML document")); 157 connect(importAct, SIGNAL(triggered()), this, SLOT(importScene())); 158 159 exitAct = new QAction(tr("E&xit"), this); 160 exitAct->setShortcut(tr("Ctrl+Q")); 161 exitAct->setStatusTip(tr("Exit the application")); 162 connect(exitAct, SIGNAL(triggered()), this, SLOT(close())); 163 164 aboutAct = new QAction(tr("&About"), this); 165 aboutAct->setStatusTip(tr("Show the application's About box")); 166 connect(aboutAct, SIGNAL(triggered()), this, SLOT(about())); 167 168 aboutQtAct = new QAction(tr("About &Qt"), this); 169 aboutQtAct->setStatusTip(tr("Show the Qt library's About box")); 170 connect(aboutQtAct, SIGNAL(triggered()), qApp, SLOT(aboutQt())); 171 251 //// TabWidget 252 connect(tabWidget, SIGNAL(currentChanged( int )),this, SLOT(changeTab(int))); 253 connect(appLog, SIGNAL(textChanged()), this, SLOT(scrollLog())); 172 254 } 173 255 … … 181 263 fileMenu->addAction(saveAsAct); 182 264 fileMenu->addAction(exportAct); 183 fileMenu->addAction(importAct); 265 fileMenu->addAction(importAct); 266 184 267 fileMenu->addSeparator(); 185 268 fileMenu->addAction(exitAct); -
trunk/src/Workbench.hh
r7 r10 2 2 #define __WORKBENCH_HH__ 3 3 4 #include <QtGui/QMainWindow>5 #include <QtGui/QtGui>6 7 8 #include "LevelEditor.hh"9 10 11 //class QAction;12 //class QMenu;13 //class QTextEdit;4 #include <QtGui/QMainWindow> 5 #include <QtGui/QtGui> 6 7 8 #include "LevelEditor.hh" 9 #include "ObjectEditor.hh" 10 11 //class QAction; 12 //class QMenu; 13 //class QTextEdit; 14 14 15 15 namespace dreamforge … … 22 22 class Workbench : public QMainWindow 23 23 { 24 Q_OBJECT 24 Q_OBJECT 25 26 public: 27 Workbench( void ); 25 28 26 public: 27 Workbench( void ); 29 protected: 30 void closeEvent(QCloseEvent *event); 31 void timerEvent(QTimerEvent* evt); 28 32 29 protected: 30 void closeEvent(QCloseEvent *event); 31 void timerEvent(QTimerEvent* evt); 32 33 private slots: 34 void about(void); 35 void exportScene(void); 36 void importScene(void); 33 private slots: 34 void about(void); 35 void exportScene(void); 36 void importScene(void); 37 void changeTab(int index); 38 void scrollLog( void ); 37 39 38 private:39 void createActions( void );40 void createMenus( void );41 void createToolBars( void );42 void createStatusBar( void );43 void readSettings( void );44 void writeSettings( void );45 46 void resizeEvent(QResizeEvent* evt);40 private: 41 void createActions( void ); 42 void createMenus( void ); 43 void createToolBars( void ); 44 void createStatusBar( void ); 45 void readSettings( void ); 46 void writeSettings( void ); 47 48 void resizeEvent(QResizeEvent* evt); 47 49 48 QMenu *fileMenu; 49 QMenu *helpMenu; 50 QToolBar *fileToolBar; 51 QToolBar *editToolBar; 52 QAction *newAct; 53 QAction *openAct; 54 QAction *saveAct; 55 QAction *saveAsAct; 56 QAction *exportAct; 57 QAction *importAct; 58 QAction *exitAct; 59 QAction *aboutAct; 60 QAction *aboutQtAct; 61 62 QString mExportFile; 50 QMenu *fileMenu; 51 QMenu *helpMenu; 52 QToolBar *fileToolBar; 53 QToolBar *editToolBar; 54 QAction *newAct; 55 QAction *openAct; 56 QAction *saveAct; 57 QAction *saveAsAct; 58 QAction *exportAct; 59 QAction *importAct; 60 QAction *exitAct; 61 QAction *aboutAct; 62 QAction *aboutQtAct; 63 64 QString mExportFile; 65 66 //Output log 67 QTabWidget* logTab; 68 QTextEdit* appLog; 69 QTextEdit* ogreLog; 63 70 64 QTabWidget *tabWidget;65 LevelEdWidget *mLevelEd;66 71 QTabWidget* tabWidget; 72 LevelEdWidget* mLevelEd; 73 ObjectEdWidget* mObjectEd; 67 74 }; 68 75 -
trunk/src/dreamforge/GameEngine.cc
r7 r10 127 127 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/models/textures", "FileSystem", "General"); 128 128 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/models/animation", "FileSystem", "General"); 129 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/models/scripts", "FileSystem", "General"); 129 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/models/scripts", "FileSystem", "General"); 130 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/models/humain", "FileSystem", "General"); 131 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/models/armes", "FileSystem", "General"); 132 //Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/models/test", "FileSystem", "General"); 130 133 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/terrain", "FileSystem", "General"); 131 134 Ogre::ResourceGroupManager::getSingleton().addResourceLocation("../../data/terrain/ET", "FileSystem", "General"); … … 159 162 LOG_INFO( Logger::getLogger("dreamforge"), " == Create Scene manager and Camera == "); 160 163 // Create a generic scene manager and our main camera 161 mSceneMgr = mRoot->createSceneManager("TerrainSceneManager" );164 mSceneMgr = mRoot->createSceneManager("TerrainSceneManager", "LEVELSCMGR"); 162 165 } 163 166 -
trunk/src/dreamforge/objects/Object.cc
r7 r10 51 51 void CGameObject::destroy( void ) 52 52 { 53 CEngineSystem::getInstance()->getSceneMgr( )->destroyEntity (mEntity);54 CEngineSystem::getInstance()->getSceneMgr( )->destroySceneNode(mObjectNode->getName());53 CEngineSystem::getInstance()->getSceneMgr("LEVELSCMGR")->destroyEntity (mEntity); 54 CEngineSystem::getInstance()->getSceneMgr("LEVELSCMGR")->destroySceneNode(mObjectNode->getName()); 55 55 } 56 56 … … 59 59 { 60 60 //TODO : Check the file and name if it empty 61 mObjectNode = CEngineSystem::getInstance()->getSceneMgr( )->getRootSceneNode()->createChildSceneNode(mObjectID);62 mEntity = CEngineSystem::getInstance()->getSceneMgr( )->createEntity(mObjectID, mObjectMesh);61 mObjectNode = CEngineSystem::getInstance()->getSceneMgr("LEVELSCMGR")->getRootSceneNode()->createChildSceneNode(mObjectID); 62 mEntity = CEngineSystem::getInstance()->getSceneMgr("LEVELSCMGR")->createEntity(mObjectID, mObjectMesh); 63 63 mEntity->setCastShadows(true); 64 64 mObjectNode->attachObject(mEntity); … … 73 73 mParentNode = parent; 74 74 mObjectNode = mParentNode->createChildSceneNode(mObjectID); 75 mEntity = CEngineSystem::getInstance()->getSceneMgr( )->createEntity(mObjectID, mObjectMesh);75 mEntity = CEngineSystem::getInstance()->getSceneMgr("LEVELSCMGR")->createEntity(mObjectID, mObjectMesh); 76 76 mEntity->setCastShadows(true); 77 77 mObjectNode->attachObject(mEntity); … … 110 110 { 111 111 mParentNode = parent; 112 mObjectNode = static_cast<Ogre::SceneNode*>(CEngineSystem::getInstance()->getSceneMgr( )->getRootSceneNode()->removeChild(mObjectID));112 mObjectNode = static_cast<Ogre::SceneNode*>(CEngineSystem::getInstance()->getSceneMgr("LEVELSCMGR")->getRootSceneNode()->removeChild(mObjectID)); 113 113 mParentNode->addChild(mObjectNode); 114 114 }
