YAPOG
0.0.1
Yet Another Pokemon Online Game
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
BattleScreen.cpp
Go to the documentation of this file.
1
#include "
YAPOG/Audio/AudioManager.hpp
"
2
#include "
YAPOG/Graphics/Gui/GuiManager.hpp
"
3
#include "
YAPOG/Graphics/IDrawingContext.hpp
"
4
#include "
YAPOG/System/RandomHelper.hpp
"
5
6
#include "
GameScreen/BattleScreen.hpp
"
7
#include "Game.hpp"
8
#include "
Battle/WildBattle.hpp
"
9
#include "
Battle/BattleInterface.hpp
"
10
#include "Pokemon/Pokemon.hpp"
11
#include "Pokemon/PokemonTeam.hpp"
12
#include "Battle/PokemonFighter.hpp"
13
#include "Battle/PokemonFighterTeam.hpp"
14
#include "
Client/Session.hpp
"
15
#include "Battle/PlayerTrainer.hpp"
16
#include "
Gui/PokemonTeamWidget.hpp
"
17
18
namespace
ycl
19
{
20
const
yap::ScreenType
BattleScreen::DEFAULT_NAME
=
"Battle"
;
21
22
BattleScreen::BattleScreen
(
yap::IDrawingContext
& context)
23
:
BaseScreen
(DEFAULT_NAME, context)
24
, battle_ (nullptr)
25
, battleInterface_ (nullptr)
26
{
27
}
28
29
BattleScreen::~BattleScreen
()
30
{
31
}
32
33
void
BattleScreen::HandleInit
()
34
{
35
BaseScreen::HandleInit
();
36
37
battleInterface_
=
new
BattleInterface
();
38
39
guiManager_
->
AddChild
(*
battleInterface_
);
40
}
41
42
void
BattleScreen::HandleRun
(
43
const
yap::Time
& dt,
44
yap::IDrawingContext
& context)
45
{
46
context.
SetMode
(
"Battle"
);
47
48
battle_
->
Update
(dt);
49
battle_
->
Draw
(context);
50
51
context.
SetDefaultCamera
();
52
53
BaseScreen::HandleRun
(dt, context);
54
}
55
56
void
BattleScreen::HandleActivate
()
57
{
58
BattleParameters
& parameters =
59
session_
.
GetUser
().
GetBattleParameters
();
60
61
// Create a PokemonTeamFighter from the player's PokemonTeam
62
PokemonTeam
& playerTeam =
session_
.
GetUser
().
GetTrainer
().
GetTeam
();
63
64
PokemonFighterTeam
* playerFighterTeam =
new
PokemonFighterTeam
();
65
playerFighterTeam->
LoadFromPokemonTeam
(playerTeam,
false
);
66
67
switch
(parameters.
GetBattleType
())
68
{
69
case
yap::BattleType::SingleWild
:
70
71
battle_
=
new
WildBattle
(*
battleInterface_
);
72
73
battle_
->
SetPlayerTeam
(playerFighterTeam);
74
battle_
->
SetOpponent
(¶meters.
GetOpponent
());
75
battle_
->
Init
();
76
77
battle_
->
OnBattleEnd
+=
78
[&] (
const
yap::Battle
& sender,
const
yap::EmptyEventArgs
& args)
79
{
80
yap::AudioManager::Instance
().
ResumePreviousMusic
();
81
nextScreen_
=
"Gameplay"
;
82
};
83
84
// Team Manager Widget
85
PokemonTeamWidget
* pokemonTeamWidget =
new
PokemonTeamWidget
(
86
session_
.
GetUser
().
GetTrainer
().
GetTeam
());
87
battleInterface_
->
AddBattleWidget
(
"PokemonTeam"
, pokemonTeamWidget);
88
89
yap::AudioManager::Instance
().
PlayMusic
(
"BGM/WildPokemonBattleShort.ogg"
);
90
}
91
}
92
93
void
BattleScreen::HandleDeactivate
()
94
{
95
battleInterface_
->
Reset
();
96
}
97
98
void
BattleScreen::SetBattle
(
Battle
* value)
99
{
100
battle_
= value;
101
}
102
}
// namespace ycl
YAPOG.Client
src
GameScreen
BattleScreen.cpp
Generated on Mon Sep 17 2012 22:24:21 for YAPOG by
1.8.1.1