43 lines
1.2 KiB
C++
43 lines
1.2 KiB
C++
#ifndef _PROTO_SCENEMANAGER_HPP_
|
|
#define _PROTO_SCENEMANAGER_HPP_
|
|
#ifndef _COMMON_WINDOWS_HPP_
|
|
#include <common/windows.hpp>
|
|
#endif
|
|
#ifndef _COMMON_PUREPALETTE_HPP_
|
|
#include <common/purepal.hpp>
|
|
#endif
|
|
#ifndef _COMMON_BITMAP_HPP_
|
|
#include <common/bitmap.hpp>
|
|
#endif
|
|
#ifndef _PROTO_DISPLAYMANAGER_HPP_
|
|
#include <proto/display.hpp>
|
|
#endif
|
|
|
|
class SceneManager : public DisplayManager
|
|
{
|
|
public:
|
|
enum{Ship=0x0001,Other=0x0002};
|
|
SceneManager(GUIWindow &displayWindow);
|
|
virtual ~SceneManager();
|
|
protected:
|
|
virtual bool initializeHandler(PointerPureObjectBlock &pureObjects);
|
|
virtual bool preprocessHandler(PointerPureObject &pureObject);
|
|
virtual bool scopeHandler(PointerPureObject &pureObject);
|
|
virtual void keyDownHandler(const KeyData &keyData);
|
|
private:
|
|
enum {MaxRotate=360,MinRotate=-360};
|
|
enum {ThetaDelta=5,ViewDelta=5,TurnDelta=10};
|
|
enum {inKey=0x49,outKey=0x4F};
|
|
void initVector(const Point3D &point3D,int width,Vector3D &vector3D)const;
|
|
void handleLeftArrow(void);
|
|
void handleRightArrow(void);
|
|
void handleUpArrow(void);
|
|
void handleDownArrow(void);
|
|
void handleFreezeFrame(void);
|
|
|
|
Bitmap mBmFighter;
|
|
Bitmap mBmBurst;
|
|
GUIWindow &mDisplayWindow;
|
|
bool mFreezeFrame;
|
|
};
|
|
#endif |