forked from Ares-Developers/YRpp
-
Notifications
You must be signed in to change notification settings - Fork 30
/
BombListClass.h
45 lines (36 loc) · 1.4 KB
/
BombListClass.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#pragma once
#include <AbstractClass.h>
#include <ArrayClasses.h>
#include <BombClass.h>
#include <Helpers/CompileTime.h>
//forward declarations
class ObjectClass;
class TechnoClass;
//this class contains a vector of BombClass, a vector of bomb-revealing TechnoClass, and some other properties
class BombListClass
{
public:
static constexpr reference<BombListClass, 0x87F5D8u> const Instance{};
// draws all the visible bombs, expires the outdated ones
void Update()
{ JMP_THIS(0x438BF0); }
// the main one, ivan planting a bomb (creates a BombClass inside)
void Plant(TechnoClass *SourceObject, ObjectClass *TargetObject)
{ JMP_THIS(0x438E70); }
// duh
void AddDetector(TechnoClass *Detector)
{ JMP_THIS(0x439080); }
// duh
void RemoveDetector(TechnoClass *Detector)
{ JMP_THIS(0x4390D0); }
void PointerGotInvalid(AbstractClass* pInvalid)
{ JMP_THIS(0x439150); }
protected:
//===========================================================================
//===== Properties ==========================================================
//===========================================================================
public:
DynamicVectorClass<BombClass *> Bombs; // all the BombClass instances on the map
DynamicVectorClass<TechnoClass *> Detectors; // all the BombSight'ed objects currently on the map
int UpdateDelay; // defaults to 100, some iterators set it to 1
};