Exemple #1
0
unsigned int compileSysState(void)
{
   unsigned int i, state = 0;

   for(i = 0; i < STRG_MAX_ZONE_NUM; i++)
   {
      if(!(zone_state[i] & ZONE_STATE_ON))
         continue;
      if(zone_state[i] & SYS_STATE_MASK)
         state |= zone_state[i] & SYS_STATE_MASK;
   }

   if(state & SYS_STATE_FIRE)
      setFireState();
   else
      clearFireState();
   if(state & SYS_STATE_ALARM)
      setAlarmState();
   else
      clearAlarmState();
   if(state & SYS_STATE_FAILURE)
      setFailureState();
   else
      clearFailureState();
}
void DGunController::init(int commID) {
	commanderID		= commID;
	commanderUD		= CALLOUT->GetUnitDef(commID);
	state.inited	= true;

	// set commander to hold fire
	setFireState(0);

	for (std::vector<UnitDef::UnitDefWeapon>::const_iterator i = commanderUD->weapons.begin(); i != commanderUD->weapons.end(); i++) {
		if (i->def->type == "DGun") {
			commanderWD = i->def;
			break;
		}
	}
}