//--------- Begin of function Firm::detect_info_both ---------// // // Called by Info::detect(). Detect both cases when the firm is // under construction and is normal. // void Firm::detect_info_both() { if( under_construction ) detect_basic_info(); else { switch( firm_menu_mode ) { case FIRM_MENU_MAIN: detect_info(); break; case FIRM_MENU_SPY: case FIRM_MENU_SELECT_BRIBER: detect_spy_menu(); break; case FIRM_MENU_SET_BRIBE_AMOUNT: detect_bribe_menu(); break; case FIRM_MENU_VIEW_SECRET: if( spy_array.detect_view_secret_menu(action_spy_recno, nation_recno) ) { firm_menu_mode = FIRM_MENU_MAIN; info.disp(); } break; case FIRM_MENU_ASSASSINATE_RESULT: detect_assassinate_result(); break; } } }
//--------- Begin of function FirmCamp::detect_info ---------// // void FirmCamp::detect_info() { Firm::detect_info(); switch( firm_menu_mode ) { case FIRM_MENU_MAIN: if( should_show_info() ) { detect_camp_info(); detect_soldier_list(0); detect_soldier_info(); detect_spy_button(); } break; case FIRM_MENU_TRAIN: detect_train_menu(); break; case FIRM_MENU_SPY: case FIRM_MENU_SELECT_BRIBER: detect_spy_menu(); break; case FIRM_MENU_SET_BRIBE_AMOUNT: detect_bribe_menu(); break; case FIRM_MENU_BRIBE_RESULT: detect_bribe_result(); break; case FIRM_MENU_VIEW_SECRET: if( spy_array.detect_view_secret_menu(action_spy_recno, nation_recno) ) { firm_menu_mode = FIRM_MENU_MAIN; // info.disp(); } break; case FIRM_MENU_ASSASSINATE_CONFIRM: detect_assassinate_confirm(); break; case FIRM_MENU_ASSASSINATE_RESULT: detect_assassinate_result(); break; case FIRM_MENU_STEAL_TECH_CONFIRM: detect_steal_tech_confirm(); break; case FIRM_MENU_STEAL_TECH_RESULT: detect_steal_tech_result(); break; case FIRM_MENU_INCIDENT_NATION: detect_incident_nation(); break; case FIRM_MENU_INCIDENT_CONFIRM: detect_incident_confirm(); break; case FIRM_MENU_INCIDENT_RESULT: detect_incident_result(); break; default: err_when( firm_menu_mode < FIRM_MENU_CAMP_LAST ); // if firm_menu_mode >= FIRM_MENU_CAMP_LAST, handled by sub-class } }