source:
orxonox.OLD/trunk/src/world_entities/player.cc
@
5973
Last change on this file since 5973 was 5915, checked in by bensch, 19 years ago | |
---|---|
File size: 1.4 KB |
Rev | Line | |
---|---|---|
[4592] | 1 | /* |
[3471] | 2 | orxonox - the future of 3D-vertical-scrollers |
3 | ||
4 | Copyright (C) 2004 orx | |
5 | ||
6 | This program is free software; you can redistribute it and/or modify | |
7 | it under the terms of the GNU General Public License as published by | |
8 | the Free Software Foundation; either version 2, or (at your option) | |
9 | any later version. | |
10 | ||
11 | ### File Specific: | |
[5915] | 12 | main-programmer: Silvan Nellen |
13 | co-programmer: Benjamin Knecht | |
[3471] | 14 | */ |
15 | ||
16 | #include "player.h" | |
[5915] | 17 | #include "playable.h" |
[3596] | 18 | |
[4404] | 19 | #include "event_handler.h" |
[4389] | 20 | |
[3471] | 21 | using namespace std; |
22 | ||
[4010] | 23 | |
[3471] | 24 | /** |
[4885] | 25 | * creates a new Player |
[3471] | 26 | */ |
[4762] | 27 | Player::Player() |
[3471] | 28 | { |
[4780] | 29 | this->init(); |
[3471] | 30 | } |
31 | ||
[4975] | 32 | |
[4010] | 33 | /** |
[4975] | 34 | * destructs the player, deletes alocated memory |
35 | */ | |
36 | Player::~Player () | |
37 | { | |
38 | } | |
39 | ||
[5395] | 40 | |
[4975] | 41 | /** |
[4780] | 42 | * initializes a Player |
43 | */ | |
44 | void Player::init() | |
45 | { | |
[5037] | 46 | // this->setRelDir(Quaternion(M_PI, Vector(1,0,0))); |
[4780] | 47 | this->setClassID(CL_PLAYER, "Player"); |
[5144] | 48 | |
[5300] | 49 | PRINTF(4)("PLAYER INIT\n"); |
[4834] | 50 | |
[5915] | 51 | this->controllable = NULL; |
[4780] | 52 | } |
53 | ||
54 | ||
[5915] | 55 | bool Player::setControllable(Playable* controllable) |
[4780] | 56 | { |
[5915] | 57 | if(controllable != NULL && controllable->subscribePlayer(this)) |
[5435] | 58 | { |
[5915] | 59 | this->controllable = controllable; |
60 | return true; | |
[5751] | 61 | } |
[5915] | 62 | else |
63 | return false; | |
[3471] | 64 | } |
[3584] | 65 | |
[5915] | 66 | bool Player::disconnectControllable() |
67 | { | |
68 | if(this->controllable == NULL) return true; | |
[3584] | 69 | |
[5915] | 70 | if(this->controllable->unsubscribePlayer(this)) |
71 | { | |
72 | this->controllable = NULL; | |
73 | return true; | |
74 | } | |
75 | else | |
76 | return false; | |
77 | } | |
[3584] | 78 | |
[5915] | 79 | void Player::process(const Event &event) |
80 | { | |
81 | if (likely(this->controllable != NULL)) | |
82 | this->controllable->process(event); | |
83 | } | |
[5751] | 84 |
Note: See TracBrowser
for help on using the repository browser.