1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- /*
- ** Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
- **
- ** File: trainingmission.h
- **
- ** Author:
- **
- ** Description:
- ** Header file for the training library "trainingmission" interface.
- **
- ** History:
- */
- #ifndef _TRAINING_MISSION_H_
- #define _TRAINING_MISSION_H_
- #ifndef _GOAL_H_
- #include "Goal.h"
- #endif //_GOAL_H_
- namespace Training
- {
- //------------------------------------------------------------------------------
- // class definitions
- //------------------------------------------------------------------------------
- class TrainingMission
- {
- public:
- /* void */ TrainingMission (void);
- virtual /* void */ ~TrainingMission (void);
- virtual int GetMissionID (void) = 0;
- virtual SectorID GetStartSectorID (void) = 0;
- virtual void SetupShipAndCamera (void);
- void Start (void);
- bool Frame (void);
- void Terminate (void);
- void AddWaitCondition (Condition* pWaitCondition);
- virtual bool RecordKeyPress (TrekKey key);
- void AddKeyCondition (Condition* pKeyCondition);
- void RecordChat (ChatTarget recipient);
- void SetChatCondition (Condition* pChatCondition);
- virtual bool ShipLanded (void);
- virtual void ShipDied (ImodelIGC* pLauncher);
- virtual bool RestoreShip (void);
- IshipIGC* GetCommanderShip (void) const;
- void AddPartToShip (IshipIGC* pShip, PartID part, Mount mount, short ammo = 0);
- void AddPartToShip (PartID part, Mount mount, short ammo = 0);
- IshipIGC* CreateDrone (const ZString& name, ShipID shipID, HullID hullID, SideID sideID, PilotType pilotType);
- void SetSkipPostSlideshow (void);
- protected:
- virtual void CreateUniverse (void) = 0;
- virtual Condition* CreateMission (void) = 0;
- void LoadUniverse (const ZString& name, HullID hullID, StationID homeStationID);
- void DefaultLoadout (IshipIGC* pShip);
- void CreatePlayerInfo (IshipIGC* pShip, SideID side, ShipID shipID);
- Goal* CreatePlaySoundGoal (SoundID sound);
- Condition* CreateTooCloseCondition (TRef<ImodelIGC> place);
- Condition* CreateTooLongCondition (float fDelay, SoundID sound);
- protected:
- Condition* m_pCondition;
- Condition* m_pDeadCondition;
- std::list<Condition*> m_WaitConditionList;
- std::list<Condition*> m_KeyConditionList;
- Condition* m_pChatCondition;
- bool m_bMusicWasOn;
- float m_fHUDStyle;
- ObjectID m_commanderID;
- SectorID m_deadSectorID;
- TrekWindow::ViewMode m_deadViewMode;
- TrekWindow::CameraMode m_deadCameraMode;
- bool m_bSkipPostSlideShow;
- };
- //------------------------------------------------------------------------------
- }
- #endif //_TRAINING_MISSION_H_
|