Files
Work/proto/source/SCENE.HPP
2024-08-07 09:16:27 -04:00

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