@_progger_
Womit wird denn nun bitte eine engine gekapselt? na klingelts? ;D
Juchu, hab nochmal ein Internetcafe gefunden. (sorry; franzoesische tastatur)
Ich finde, eine Klasse sollte nur benutzt werden, wenn mann einen neuen Datentyp braucht bzw. die integralen Datentypen nicht ausreichen, zB eine Texturklasse zum speichern einer Textur.
Aber das was ihr da die ganze Zeit baut, ist kein neuer Datentyp (class Device und class CDirect3D)
Ich finde man sollte sowas in einem namespace-Modul (ich sag jetzt halt mal auch kapseln) kapseln.
So siehts in der Engine aus:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
//device.h
namespace Device
{
IDirect3DDevice9* GetD3DDev();
//...
}
-------------------------------------------------------------------------------------
//device_impl.h
namespace Device
{
IDirect3DDevice9* m_pD3DDev;
}
------------------------------------------------------------------------------------
//device.cpp
#include "device.h"
#include "device_impl.h"
Device::IDirect3DDevice9* GetD3DDev()
{
return m_pD3DDev;
}
|
Und ums dann in deinem spiel benutzen zu koennen bindest du nur device.h ein. Damit ist fuer dich nur Device::GetD3DDev() sichtbar.