Difference between revisions of "VESSEL2::clbkSetClassCaps"
Jump to navigation
Jump to search
m |
|||
Line 15: | Line 15: | ||
{ | { | ||
this->SetEnableFocus(false); | this->SetEnableFocus(false); | ||
− | char | + | |
− | + | double dfTemp = 0.0; | |
+ | |||
+ | char pszBuffer[80]; | ||
+ | |||
+ | if(oapiReadItem_float(cfg, "LifeTime", dfTemp)) | ||
+ | { | ||
+ | fRemainingLifeTime = dfTemp; | ||
+ | } | ||
+ | |||
+ | if(oapiReadItem_float(cfg, "MaxCamDistance", dfTemp)) | ||
+ | { | ||
+ | fMaxCameraDistance = dfTemp; | ||
+ | } | ||
+ | |||
+ | if(oapiReadItem_string(cfg, "Subtype", pszBuffer)) | ||
{ | { | ||
− | if(!strnicmp( | + | if(!strnicmp(pszBuffer, "flare", 5)) |
{ | { | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
} | } | ||
− | else if(!strnicmp( | + | else if(!strnicmp(pszBuffer, "sflare", 6)) |
{ | { | ||
− | + | subtype = MTYPE_SFLARE; | |
− | + | } | |
− | + | } | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | switch(subtype) | |
+ | { | ||
+ | case MTYPE_SFLARE: | ||
+ | CreateAsSFlare(); | ||
+ | break; | ||
} | } | ||
} | } | ||
Line 54: | Line 54: | ||
*[[Vessel module sequence diagram]] | *[[Vessel module sequence diagram]] | ||
*[[VESSEL2]] | *[[VESSEL2]] | ||
+ | *[[oapiReadItem_x]] | ||
{{VESSEL2}} | {{VESSEL2}} |
Revision as of 21:05, 8 January 2007
Description
Callback function used for creating the basic vessel parameters. Each setting in this callback overrides the settings of the configuration file. Use this function for creating the physical properties of a vessel.
Syntax
virtual void clbkSetClassCaps(FILEHANDLE cfg);
- cfg
- File handle for reading custom parameters out of the configuration file. This file handle can be used in the same way as in ovcSetClassCaps, ovcLoadStateEx, ovcLoadState, clbkLoadStateEx
Example code
void MAYFLY::clbkSetClassCaps(FILEHANDLE cfg) { this->SetEnableFocus(false); double dfTemp = 0.0; char pszBuffer[80]; if(oapiReadItem_float(cfg, "LifeTime", dfTemp)) { fRemainingLifeTime = dfTemp; } if(oapiReadItem_float(cfg, "MaxCamDistance", dfTemp)) { fMaxCameraDistance = dfTemp; } if(oapiReadItem_string(cfg, "Subtype", pszBuffer)) { if(!strnicmp(pszBuffer, "flare", 5)) { } else if(!strnicmp(pszBuffer, "sflare", 6)) { subtype = MTYPE_SFLARE; } } switch(subtype) { case MTYPE_SFLARE: CreateAsSFlare(); break; } }