#pragma once #include "..\munga\director.h" class RPPlayer; class RPCameraDirector : public CameraDirector { //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Shared Data support // public: static Derivation *GetClassDerivations(); static SharedData DefaultData; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Simulation Support // public: typedef void (RPCameraDirector::*Performance)(Scalar time_slice); void SetPerformance(Performance performance) { Check(this); activePerformance = (Simulation::Performance)performance; } void CreateRPCameraShip(Scalar); void BeARPDirector(Scalar); //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // Construction and Destruction Support // RPCameraDirector( MakeMessage *creation_message, SharedData &virtual_data = DefaultData ); static RPCameraDirector* RPCameraDirector::Make(CameraDirector::MakeMessage *creation_message); ~RPCameraDirector(); Logical TestInstance() const; protected: RPPlayer *currentWatchedPlayer; Logical martianFootball; };