File: menu_state_about.cpp

package info (click to toggle)
glest 3.2.2-2
  • links: PTS, VCS
  • area: contrib
  • in suites: squeeze
  • size: 2,800 kB
  • ctags: 6,581
  • sloc: cpp: 32,575; sh: 8,341; makefile: 63
file content (92 lines) | stat: -rw-r--r-- 2,693 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
// ==============================================================
//	This file is part of Glest (www.glest.org)
//
//	Copyright (C) 2001-2005 Martio Figueroa
//
//	You can redistribute this code and/or modify it under 
//	the terms of the GNU General Public License as published 
//	by the Free Software Foundation; either version 2 of the 
//	License, or (at your option) any later version
// ==============================================================

#include "menu_state_about.h"

#include "renderer.h"
#include "menu_state_root.h"
#include "sound_renderer.h"
#include "core_data.h"
#include "menu_state_options.h"

#include "leak_dumper.h"

namespace Glest{ namespace Game{

// =====================================================
// 	class MenuStateAbout
// =====================================================

MenuStateAbout::MenuStateAbout(Program *program, MainMenu *mainMenu):
	MenuState(program, mainMenu, "about")
{
	Lang &lang= Lang::getInstance();
	
	//init
	buttonReturn.init(460, 100, 125);
	buttonReturn.setText(lang.get("Return"));
	
	for(int i= 0; i<aboutStringCount1; ++i){
		labelAbout1[i].init(100, 650-i*20);
		labelAbout1[i].setText(getAboutString1(i));
	}

	for(int i= 0; i<aboutStringCount2; ++i){
		labelAbout2[i].init(460, 650-i*20);
		labelAbout2[i].setText(getAboutString2(i));
	}
	
	for(int i= 0; i<teammateCount; ++i){
		labelTeammateName[i].init(100+i*180, 500);
		labelTeammateRole[i].init(100+i*180, 520);
		labelTeammateName[i].setText(getTeammateName(i));
		labelTeammateRole[i].setText(getTeammateRole(i));
	}

	labelTeammateName[5].init(360, 160);
	labelTeammateRole[5].init(360, 180);
	labelTeammateName[6].init(540, 160);
	labelTeammateRole[6].init(540, 180);
}

void MenuStateAbout::mouseClick(int x, int y, MouseButton mouseButton){

	CoreData &coreData=  CoreData::getInstance();
	SoundRenderer &soundRenderer= SoundRenderer::getInstance();

	if(buttonReturn.mouseClick(x, y)){
		soundRenderer.playFx(coreData.getClickSoundA());
		mainMenu->setState(new MenuStateRoot(program, mainMenu));
    }     

}

void MenuStateAbout::mouseMove(int x, int y, const MouseState *ms){
	buttonReturn.mouseMove(x, y);
}

void MenuStateAbout::render(){
	Renderer &renderer= Renderer::getInstance();

	renderer.renderButton(&buttonReturn);
	for(int i= 0; i<aboutStringCount1; ++i){
		renderer.renderLabel(&labelAbout1[i]);
	}
	for(int i= 0; i<aboutStringCount2; ++i){
		renderer.renderLabel(&labelAbout2[i]);
	}
	for(int i= 0; i<teammateCount; ++i){
		renderer.renderLabel(&labelTeammateName[i]);
		renderer.renderLabel(&labelTeammateRole[i]);
	}
}

}}//end namespace