00001 #ifndef __J2K__Train__Track_CPP__
00002 #define __J2K__Train__Track_CPP__
00003
00004 #include "resource.h"
00005
00006 TrackManager::TrackManager(){}
00007 TrackManager::~TrackManager(){}
00008
00009 BOOL TrackManager::isSwitchStraight(int s) {
00010 return switchPoint[s]->isStraight();
00011 }
00012
00013 BOOL TrackManager::isSwitchCurve(int s) {
00014 return switchPoint[s]->isCurved();
00015 }
00016
00017 void TrackManager::straightSwitch(int s) {
00018 switchPoint[s]->straight();
00019 }
00020
00021 void TrackManager::curveSwitch(int s) {
00022 switchPoint[s]->curve();
00023 }
00024
00025 BOOL TrackManager::reserveSwitch( Train* train, int s ) {
00026 if ( !switchPoint[s]->isActive() ) {
00027 return FALSE;
00028 } else {
00029 return switchPoint[s]->setOwner(train);
00030 }
00031 }
00032 void TrackManager::activateSwitch( int s, BOOL active ) {
00033 switchPoint[s]->activate(active);
00034 }
00035
00036 BOOL TrackManager::realeaseSwitch( Train* train, int s ) {
00037 if ( !switchPoint[s]->isActive() ) {
00038 return FALSE;
00039 } else {
00040 return switchPoint[s]->removeOwner(train);
00041 }
00042 }
00043
00044 BOOL TrackManager::reserveSector( Train* train, int s ) {
00045 if ( !sector[s]->isActive() ) {
00046 return FALSE;
00047 } else {
00048 return sector[s]->setOwner(train);
00049 }
00050 }
00051
00052 BOOL TrackManager::realeaseSector(Train* train,int s) {
00053 if ( !sector[s]->isActive() ) {
00054 return FALSE;
00055 } else {
00056 return = sector[s]->removeOwner(train);
00057 }
00058 }
00059
00060 void TrackManager::activateSector( int s, BOOL active ) {
00061 sector[s]->activate(active);
00062 }
00063
00064 BOOL TrackManager::waitforSector(Train* train,int sector) {
00065 BOOL returning = FALSE;
00066
00067 return returning;
00068 }
00069
00070 int TrackManager::getSuitation() {
00071 return currentSuitation;
00072 }
00073
00074 void TrackManager::changeSuitation(int currentSuitation) {
00075 this->currentSuitation = currentSuitation;
00076 }
00077
00078 #endif