#ifndef AI_GRAVEYARD_HPP #define AI_GRAVEYARD_HPP #include #pragma warning(push) #include #pragma warning(pop) namespace MW4AI { class Graveyard; class Grave { public: Grave(Adept::ObjectID _id, Adept::ObjectID _destroyer, Stuff::Scalar _time_of_death) : id(_id) , destroyer(_destroyer) , time_of_death(_time_of_death) { } friend class Graveyard; Adept::ObjectID id; Adept::ObjectID destroyer; Stuff::Scalar time_of_death; }; typedef std::vector grave_list; class Graveyard { public: Graveyard(); ~Graveyard(); void NotifyCreated(Adept::ObjectID id); void NotifyDeceased(Adept::ObjectID id, Adept::ObjectID destroyer, Stuff::Scalar time_of_death); const grave_list& GetGraves() const; private: grave_list m_Graves; private: // prevent copying Graveyard(const Graveyard&); Graveyard& operator=(const Graveyard&); }; }; #endif // MWOBITUARY