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