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
{
|