티스토리 뷰

API/DF.project

Scene.h & Scene.cpp

猫猫 2014. 10. 9. 17:24
반응형

//////////////////////////////////////Scene.h/////////////////////////////////

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#pragma once
#include "Header.h"
#include "Object.h"
 
#define MAX_OBJECT 1024
 
class Scene
{
protected:
    Object*      m_pObjectList[MAX_OBJECT];
 
    virtual void render();
    virtual void tick(float dt);
public:
    virtual void addObject(Object* _obj);
    virtual bool init();
    virtual void dealloc() = 0;
    virtual void run(float dt);
};


////////////////////////Scene.cpp//////////////////////

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include "Scene.h"
#include "ST.h"
bool Scene::init()
{
    memset(m_pObjectList, NULL, sizeof(m_pObjectList));
    return true;
}
 
void Scene::addObject(Object* _obj)
{
 
    for(int i= 0; i < MAX_OBJECT; i++){
        if(m_pObjectList[i] != NULL) continue;
        m_pObjectList[i] = _obj;
        break;
    }
}
 
void Scene::render()
{
    for(int i= 0; i < MAX_OBJECT; i++){
        if (m_pObjectList[i] == NULL) continue;
        m_pObjectList[i]->render();
    }
}
 
void Scene::tick(float dt)
{
    for(int i= 0; i < MAX_OBJECT; i++){
        if(m_pObjectList[i] == NULL) continue;
        m_pObjectList[i]->tick(dt);
    }
}
 
 void Scene::run(float dt)
{
    this->render();
    this->tick(dt);
    InvalidateRect(ST::call()->m_hHwnd, NULL, false);
}


반응형

'API > DF.project' 카테고리의 다른 글

bulletmanager.h & bulletmanager.cpp  (0) 2014.10.09
objecthero.h & objecthero.cpp  (0) 2014.10.09
objectbullet.h & objectbullet.cpp  (0) 2014.10.09
object.h & object.cpp  (0) 2014.10.09
df_main-총알발사수정용  (0) 2014.10.09