source: network-game/client/Client/chat.cpp@ 8a3ef42

Last change on this file since 8a3ef42 was 4c202e0, checked in by dportnoy <dmp1488@…>, 12 years ago

Added Player to the visual studio project, changed Common to use the #defines in Compiler.h, and added basic client support for processing MSG_TYPE_PLAYER messages

  • Property mode set to 100644
File size: 1.4 KB
RevLine 
[6475138]1#include "chat.h"
2
3chat::chat(void)
4{
5}
6
7chat::~chat(void)
8{
9}
10
11string chat::getInput()
12{
13 string temp = strEnteredInput;
14 strEnteredInput.clear();
15 return temp;
16}
17
18void chat::draw(ALLEGRO_FONT *font, ALLEGRO_COLOR color)
19{
[4c202e0]20 for(unsigned int x=0; x<vctChat.size(); x++)
[87b3ee2]21 al_draw_text(font, color, 10, 140+x*15, ALLEGRO_ALIGN_LEFT, vctChat[x].c_str());
[6475138]22
23 al_draw_text(font, color, 10, 460, ALLEGRO_ALIGN_LEFT, strPrompt.c_str());
24}
25
26void chat::addLine(string s)
27{
28 vctChat.push_back(s);
29}
30
31// returns true if the event was consumed, false if it should be passed on
[87b3ee2]32bool chat::handleEvent(ALLEGRO_EVENT e)
[6475138]33{
34 ALLEGRO_KEYBOARD_STATE keys;
35 al_get_keyboard_state(&keys);
36
[87b3ee2]37 if (e.type == ALLEGRO_EVENT_KEY_DOWN) {
[6475138]38 char newChar = 0;
39
[87b3ee2]40 if (ALLEGRO_KEY_A <= e.keyboard.keycode && e.keyboard.keycode <= ALLEGRO_KEY_Z) {
41 newChar = 'a'+e.keyboard.keycode-ALLEGRO_KEY_A;
[6475138]42 if (al_key_down(&keys, ALLEGRO_KEY_LSHIFT) || al_key_down(&keys, ALLEGRO_KEY_RSHIFT))
43 newChar -= 32;
44 }
[87b3ee2]45 if (ALLEGRO_KEY_0 <= e.keyboard.keycode && e.keyboard.keycode <= ALLEGRO_KEY_9)
46 newChar = '0'+e.keyboard.keycode-ALLEGRO_KEY_0;
[6475138]47
48 if (newChar != 0) {
49 strPrompt.append(1, newChar);
50 return true;
51 }
52
[87b3ee2]53 if (e.keyboard.keycode == ALLEGRO_KEY_ENTER) {
[6475138]54 strEnteredInput = strPrompt;
55 strPrompt.clear();
56 return true;
57 }
58 }
59
60 return false;
61}
Note: See TracBrowser for help on using the repository browser.