[Gcblue-commits] gcb_wx/src/ai tcCAPMission.cpp, 1.3, 1.4 tcMissionManager.cpp, 1.3, 1.4
Status: Alpha
Brought to you by:
ddcforge
From: Dewitt C. <ddc...@us...> - 2006-12-13 02:11:04
|
Update of /cvsroot/gcblue/gcb_wx/src/ai In directory sc8-pr-cvs2.sourceforge.net:/tmp/cvs-serv32556/src/ai Modified Files: tcCAPMission.cpp tcMissionManager.cpp Log Message: Interactive GUI icon for CAP station Index: tcCAPMission.cpp =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/src/ai/tcCAPMission.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** tcCAPMission.cpp 24 Oct 2006 01:34:01 -0000 1.3 --- tcCAPMission.cpp 13 Dec 2006 02:10:58 -0000 1.4 *************** *** 44,47 **** --- 44,49 ---- void tcCAPMission::CalculatePatrolOffset() { + if (missionManager == 0) return; + tcGameObject* parent = missionManager->GetFlightportParent(); if (parent == 0) *************** *** 55,58 **** --- 57,66 ---- } + void tcCAPMission::GetPatrolOffset(float& range_km_, float& az_deg_) const + { + range_km_ = range_km; + az_deg_ = az_deg; + } + /** *************** *** 81,84 **** --- 89,94 ---- station.x = lon_rad; station.y = lat_rad; + + CalculatePatrolOffset(); } *************** *** 109,113 **** if (missionAircraft.size() == 0) return; // none available ! CalculatePatrolOffset(); stage = "outfit"; --- 119,123 ---- if (missionAircraft.size() == 0) return; // none available ! CalculatePatrolOffset(); stage = "outfit"; *************** *** 186,189 **** --- 196,227 ---- } + void tcCAPMission::UpdateStation() + { + if (missionManager == 0) + { + wxASSERT(false); + return; + } + + tcSimState* simState = tcSimState::Get(); + + for (size_t n=0; n<missionAircraft.size(); n++) + { + tcPlatformObject* obj = dynamic_cast<tcPlatformObject*>(simState->GetObjectByName(missionAircraft[n].name)); + if (obj != 0) + { + ai::Brain* brain = obj->GetBrain(); + ai::BlackboardInterface bb = brain->GetBlackboardInterface(); + + wxString s; + s.Printf("%.1f", range_km); + bb.Write("PatrolRange_km", s.c_str()); + + s.Printf("%.1f", az_deg); + bb.Write("PatrolAzimuth_deg", s.c_str()); + } + } + } + const tcCAPMission& tcCAPMission::operator=(const tcCAPMission& src) *************** *** 210,215 **** : tcMission(), quantity(2), ! range_km(80), ! az_deg(225) { --- 248,253 ---- : tcMission(), quantity(2), ! range_km(0), ! az_deg(0) { Index: tcMissionManager.cpp =================================================================== RCS file: /cvsroot/gcblue/gcb_wx/src/ai/tcMissionManager.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** tcMissionManager.cpp 24 Oct 2006 01:34:02 -0000 1.3 --- tcMissionManager.cpp 13 Dec 2006 02:10:58 -0000 1.4 *************** *** 98,101 **** --- 98,114 ---- } + tcMission* tcMissionManager::GetMission(unsigned int id) + { + for (size_t n=0; n<missions.size(); n++) + { + if (missions[n]->GetId() == id) + { + return missions[n]; + } + } + + return 0; + } + bool tcMissionManager::IsAircraftReserved(long id) const { |