- Vector<int> offset(battle->CalculateScreenOffset(screen));
- battle->RenderBackground(screen, offset);
- battle->RenderMonsters(screen, offset);
- battle->RenderHeroTags(screen, offset);
- RenderMenu(screen, offset);
-}
-
-void SelectAttackType::RenderMenu(SDL_Surface *screen, const Vector<int> &offset) {
- Point<int> position(
- (battle->Width() - battle->GetAttackTypeMenu().Width()) / 2,
- battle->Height() - battle->GetAttackTypeMenu().Height() - battle->GetAttackTypeMenu().Height() / 2);
- battle->GetAttackTypeMenu().Render(screen, position + offset);
+ parent->RenderBackground(screen);
+ parent->RenderMonsters(screen);
+ parent->RenderHeroTags(screen);
+ RenderMenu(screen);
+}
+
+void SelectAttackType::RenderMenu(SDL_Surface *screen) {
+ parent->GetAttackTypeMenu().Render(screen, menuOffset);
+}
+
+
+const Resources &SelectAttackType::Res() const {
+ return parent->Res();
+}
+
+graphics::Menu<const Item *> &SelectAttackType::ItemMenu() {
+ return parent->ItemMenu();
+}
+
+const graphics::Menu<const Item *> &SelectAttackType::ItemMenu() const {
+ return parent->ItemMenu();
+}
+
+const HeroTag &SelectAttackType::HeroTagAt(int index) const {
+ return parent->HeroTagAt(index);
+}
+const Vector<int> &SelectAttackType::HeroTagPositionAt(int index) const {
+ return parent->HeroTagPositionAt(index);
+}
+
+const Vector<int> &SelectAttackType::ScreenOffset() const {
+ return parent->ScreenOffset();
+}
+
+int SelectAttackType::Width() const {
+ return parent->Width();
+}
+
+int SelectAttackType::Height() const {
+ return parent->Height();