OpenClonk
C4TransferZone.h
Go to the documentation of this file.
1 /*
2  * OpenClonk, http://www.openclonk.org
3  *
4  * Copyright (c) 1998-2000, Matthes Bender
5  * Copyright (c) 2001-2009, RedWolf Design GmbH, http://www.clonk.de/
6  * Copyright (c) 2009-2016, The OpenClonk Team and contributors
7  *
8  * Distributed under the terms of the ISC license; see accompanying file
9  * "COPYING" for details.
10  *
11  * "Clonk" is a registered trademark of Matthes Bender, used with permission.
12  * See accompanying file "TRADEMARK" for details.
13  *
14  * To redistribute this file separately, substitute the full license texts
15  * for the above references.
16  */
17 
18 /* Special regions to extend the pathfinder */
19 
20 #ifndef INC_C4TransferZone
21 #define INC_C4TransferZone
22 
24 {
25  friend class C4TransferZones;
26 public:
29 public:
31  int32_t X,Y,Wdt,Hgt;
32  bool Used;
33 protected:
35 public:
36  bool GetEntryPoint(int32_t &rX, int32_t &rY, int32_t iToX, int32_t iToY);
37  void Draw(C4TargetFacet &cgo, bool fHighlight=false);
38  bool At(int32_t iX, int32_t iY);
39 };
40 
42 {
43 public:
46 protected:
47  int32_t RemoveNullZones();
49 public:
50  void Default();
51  void Clear();
52  void ClearUsed();
53  void ClearPointers(C4Object *pObj);
54  void Draw(C4TargetFacet &cgo);
55  void Synchronize();
57  C4TransferZone* Find(int32_t iX, int32_t iY);
58  bool Add(int32_t iX, int32_t iY, int32_t iWdt, int32_t iHgt, C4Object *pObj);
59  bool Set(int32_t iX, int32_t iY, int32_t iWdt, int32_t iHgt, C4Object *pObj);
60 };
61 
62 #endif
bool GetEntryPoint(int32_t &rX, int32_t &rY, int32_t iToX, int32_t iToY)
C4TransferZone * Next
C4Object * Object
bool At(int32_t iX, int32_t iY)
void Draw(C4TargetFacet &cgo, bool fHighlight=false)
C4TransferZone * First
void ClearPointers(C4Object *pObj)
bool Set(int32_t iX, int32_t iY, int32_t iWdt, int32_t iHgt, C4Object *pObj)
void Draw(C4TargetFacet &cgo)
int32_t RemoveNullZones()
C4TransferZone * Find(C4Object *pObj)
bool Add(int32_t iX, int32_t iY, int32_t iWdt, int32_t iHgt, C4Object *pObj)