YAPOG
0.0.1
Yet Another Pokemon Online Game
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
IBattleEntity.hpp
Go to the documentation of this file.
1
#ifndef YAPOG_IBATTLEENTITYE_HPP
2
# define YAPOG_IBATTLEENTITYE_HPP
3
4
# include "
YAPOG/Macros.hpp
"
5
# include "
YAPOG/Collection/Array.hpp
"
6
# include "
YAPOG/System/String.hpp
"
7
# include "
YAPOG/System/IntTypes.hpp
"
8
# include "
YAPOG/Game/Pokemon/Gender.hpp
"
9
# include "
YAPOG/Game/IUpdateable.hpp
"
10
# include "
YAPOG/System/Event/Event.hpp
"
11
# include "
YAPOG/Game/Pokemon/PokemonMove.hpp
"
12
# include "
YAPOG/Game/Pokemon/PokemonStat.hpp
"
13
14
namespace
yap
15
{
16
class
HitPoint;
17
18
struct
YAPOG_LIB
IBattleEntity
:
public
IUpdateable
19
{
20
virtual
~IBattleEntity
() {}
21
24
virtual
const
String
& GetName ()
const
= 0;
25
virtual
const
UInt16
& GetLevel ()
const
= 0;
26
virtual
const
Gender& GetGender ()
const
= 0;
27
virtual
const
UInt16
& GetCurrentHP ()
const
= 0;
28
virtual
const
UInt16
& GetMaxHP ()
const
= 0;
29
virtual
float
GetHPPercentage ()
const
= 0;
30
virtual
const
collection::Array<PokemonMove*>
& GetMoves ()
const
= 0;
31
virtual
const
PokemonMove
& GetMove (
int
index)
const
= 0;
32
virtual
const
PokemonStat
& GetStats ()
const
= 0;
34
37
virtual
void
TakeDamage (
int
value) = 0;
39
42
virtual
Event
<
43
const
IBattleEntity
&,
44
const
ChangeEventArgs<const HitPoint&>
&>&
45
OnHPChangedEvent () = 0;
47
};
48
}
// namespace yap
49
50
#endif // YAPOG_IBATTLEENTITYE_HPP
YAPOG
include
YAPOG
Game
Battle
IBattleEntity.hpp
Generated on Mon Sep 17 2012 22:24:22 for YAPOG by
1.8.1.1