void AAMissileMFD::LoadPayload()
{
OBJHANDLE hAimVessel;
VESSEL *FocusedVessel=oapiGetFocusInterface(); //oapiGetFocusInterface();
ATTACHMENTHANDLE AtF151A;
ATTACHMENTHANDLE AtAim;
ATTACHMENTCONFIG *ATT_CFG;
omParser myparser;
if (FocusedVessel->GetClassName()!=NULL)
{
MissileCount = myparser.ReadParamStruct(FocusedVessel->GetClassName());
ATT_CFG = myparser.getParamStruct();
}
else return;
if (MissileCount == 0) return;
VECTOR3 m1offset[MAXMISSILES];
const VECTOR3 Keiner = {0,0,1};
const VECTOR3 ReleaseDir = {0,1,0};
VESSEL *AimVessel;
VESSELSTATUS VS;
FocusedVessel->GetStatus(VS);
if (FocusedVessel->GetClassName() == NULL) return;
if (strcmp(FocusedVessel->GetClassName(),"AAMissile")== 0) return;
//Creating missile vessels with it's names, attachmend points and attach the missile to this points
for (int lauf = 0; lauf != MissileCount; lauf++)
{
m1offset[lauf].x = ATT_CFG[lauf].x;
m1offset[lauf].y = ATT_CFG[lauf].y;
m1offset[lauf].z = ATT_CFG[lauf].z;
char MissileName[64];
char* CarrierStr = FocusedVessel->GetName();
char Strnumber[64];
sprintf(Strnumber,"%i",lauf+1);
strcpy(MissileName,CarrierStr);
strcat(MissileName,"-AA-Missile-");
strcat(MissileName,Strnumber);
if (oapiGetObjectByName(MissileName) == NULL) //Create missile only if the name not exist
{
hAimVessel = oapiCreateVessel(MissileName,"AAMissile", VS);
AimVessel = oapiGetVesselInterface(hAimVessel);
AtF151A = FocusedVessel->CreateAttachment(false,m1offset[lauf],ReleaseDir,Keiner,"A",true);
AtAim = AimVessel->CreateAttachment(true,Keiner,ReleaseDir,Keiner,"A",true);
AimVessel->SetThrusterGroupLevel(THGROUP_MAIN,0);
FocusedVessel->AttachChild(hAimVessel,AtF151A,AtAim);
}
}
}