// MissionReport.h: interface for the CMissionReport class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_MISSIONREPORT_H__6BB11838_FBA2_4633_9824_255A025665EF__INCLUDED_) #define AFX_MISSIONREPORT_H__6BB11838_FBA2_4633_9824_255A025665EF__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 namespace Adept { class Entity; }; class CMissionReport; class CZoneReport { friend class CMissionReport; protected: enum BasicTypes { MR_TURRET=0, MR_CULTURAL, MR_MECH, MR_VEHICLE, MR_BUILDING, MR_NAVPOINT, MR_DROPZONE, MR_AI, MR_NONCOM, MR_PATH, MR_CAMERASHIP, MR_EFFECT, MR_UNKNOWN, MR_OBJECTIVE, MR_SEARCHLIGHT, MR_TYPECOUNT } ; class ReportModel { public: CString Name; BasicTypes Type; int Count; }; class TileViolator { public: CString Name; }; int BasicTypeCount[MR_TYPECOUNT]; static char *BasicTypeName[]; ReportModel *Models; TileViolator *Violators; int UniqueModelCount; int ViolatorCount; int EntityCount; BasicTypes GetType(Adept::Entity *entity); float StartX,StartZ; char RChar,CChar; virtual bool InZone(Adept::Entity *entity); public: void CountTypes(float x,float z); CZoneReport() { Models=NULL; Violators=NULL; } int GetEntityCount() {return EntityCount;} int GetModelCount() {return UniqueModelCount;} int GetViolatorCount() {return ViolatorCount;} void GetReport(CString &str); virtual ~CZoneReport(); }; class CMissionReport:public CZoneReport { protected: CZoneReport *ZoneRep; int ZoneCount; CString MissionName; void CountTypes(); int *TileEntityCount; BYTE TileRows,TileCols; public: CString GetMissionName() {return MissionName;} CMissionReport(); bool InZone(Adept::Entity *entity) {return true;} void GetReport(CString &str); virtual ~CMissionReport(); }; #endif // !defined(AFX_MISSIONREPORT_H__6BB11838_FBA2_4633_9824_255A025665EF__INCLUDED_)