////////////////////////////////////////////////////////////////////////////// // // Forwards // ////////////////////////////////////////////////////////////////////////////// class CadetGameContext; ////////////////////////////////////////////////////////////////////////////// // // CadetFlightImage // ////////////////////////////////////////////////////////////////////////////// class CadetFlightImage : public WrapImage, public IIgcSite { public: CadetFlightImage(): WrapImage(Image::GetEmpty()) {} virtual void AddGeo(Geo* pgeo) = 0; virtual void RemoveGeo(Geo* pgeo) = 0; virtual void AddImage(Image* pimage) = 0; virtual void RemoveImage(Image* pimage) = 0; virtual void SetCluster(IclusterIGC* pcluster) = 0; virtual void SetCameraPosition(const Vector& vec) = 0; virtual void SetCameraOrientation(const Orientation& orientation) = 0; static TRef Create(CadetGameContext* pcontext); }; ////////////////////////////////////////////////////////////////////////////// // // CadetGameContext // ////////////////////////////////////////////////////////////////////////////// class CadetGameContext : public GameContext, public MissionContext { public: virtual void SetShip(IshipIGC* pship) = 0; virtual TRef GetCluster() = 0; virtual TRef GetFlightImage() = 0; virtual TRef GetMissionManager() = 0; virtual TRef GetCadetPlay() = 0; virtual void LoadMap(const ZString& strMap) = 0; }; ////////////////////////////////////////////////////////////////////////////// // // Scenes // ////////////////////////////////////////////////////////////////////////////// TRef CreateSplashScene(CadetGameContext* pgamecontext); TRef CreateFlightScene(CadetGameContext* pgamecontext); TRef CreateLoadoutScene(CadetGameContext* pgamecontext); TRef CreateTestScene(CadetGameContext* pgamecontext);