Complete disaster-recovery snapshot: engine/game source, game data assets, VC6 toolchain + DX SDKs, build outputs, deployed game, and _UNUSED archive. Large binaries in Git LFS; text preserved byte-for-byte (core.autocrlf=false, no eol attributes). See RECOVERY.md for the one-clone rebuild procedure.
60 lines
1.0 KiB
C++
60 lines
1.0 KiB
C++
|
|
#ifndef AI_GRAVEYARD_HPP
|
|
#define AI_GRAVEYARD_HPP
|
|
|
|
#include <Adept\Entity.hpp>
|
|
#pragma warning(push)
|
|
#include <stlport\vector>
|
|
#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> 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
|