YAPOG
0.0.1
Yet Another Pokemon Online Game
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
CollidableAreaCell.hpp
Go to the documentation of this file.
1
#ifndef YAPOG_COLLIDABLEAREACELL_HPP
2
# define YAPOG_COLLIDABLEAREACELL_HPP
3
4
# include "
YAPOG/Macros.hpp
"
5
# include "
YAPOG/Collection/Map.hpp
"
6
# include "
YAPOG/Graphics/Vector2.hpp
"
7
# include "
YAPOG/Game/World/Map/Physics/MapCollidableInfo.hpp
"
8
# include "
YAPOG/Game/World/Map/Physics/MapEventInfo.hpp
"
9
10
namespace
yap
11
{
12
struct
ICollidable;
13
14
class
WorldObject;
15
class
DynamicWorldObject;
16
class
MapEventQueue;
17
18
class
YAPOG_LIB
CollidableAreaCell
19
{
20
DISALLOW_COPY
(
CollidableAreaCell
);
21
22
public
:
23
24
CollidableAreaCell
();
25
26
void
AddPhysicsCollidable (
27
ICollidable
* collidable,
28
const
MapCollidableInfo::PtrType
& mapCollidableInfo);
29
void
RemovePhysicsCollidable (
ICollidable
* collidable);
30
31
void
AddEventCollidable (
32
ICollidable
* collidable,
33
const
MapEventInfo::PtrType
& mapEventInfo);
34
void
RemoveEventCollidable (
ICollidable
* collidable);
35
36
37
bool
CollidesWith (
38
const
ICollidable
& collidable,
39
const
Vector2
& offset,
40
const
WorldObject
& parent)
const
;
41
42
void
GetEventsCollidingWith (
43
const
ICollidable
& collidable,
44
MapEventQueue
& events,
45
DynamicWorldObject
& parent)
const
;
46
47
void
Clear ();
48
49
private
:
50
51
collection::Map
<
52
ICollidable
*,
53
MapCollidableInfo::PtrType
>
physicsCollidables_
;
54
55
collection::Map
<
56
ICollidable
*,
57
MapEventInfo::PtrType
>
eventCollidables_
;
58
};
59
}
// namespace yap
60
61
#endif // YAPOG_COLLIDABLEAREACELL_HPP
YAPOG
include
YAPOG
Game
World
Map
Physics
CollidableAreaCell.hpp
Generated on Mon Sep 17 2012 22:24:23 for YAPOG by
1.8.1.1