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 }