示例#1
0
//--------- Begin of function FirmBase::put_info ---------//
//
void FirmBase::put_info(int refreshFlag)
{
	disp_basic_info(INFO_Y1, refreshFlag);

	if( !should_show_info() )
		return;

	disp_base_info(INFO_Y1+54, refreshFlag);
	disp_worker_list(INFO_Y1+104, refreshFlag);
	disp_worker_info(INFO_Y1+168, refreshFlag);
	disp_god_info(INFO_Y1+226, refreshFlag);

	//------ display button -------//

	int x, y=INFO_Y1+279;

	if( own_firm() )
	{
		if( refreshFlag==INFO_REPAINT )
		{
			button_invoke.paint( INFO_X1, y, 'A', "INVOKE" );
			button_reward.paint( INFO_X1 + BUTTON_ACTION_WIDTH, y, 'A', "REWARDSP" );
			button_vacate_firm.paint(INFO_X1 + BUTTON_ACTION_WIDTH * 2, y, 'A', "RECRUIT");
			button_vacate_firm.set_help_code("MOBILIZE");
		}

		if( can_invoke() )
			button_invoke.enable();
		else
			button_invoke.disable();

		if( nation_array[nation_recno]->cash >= REWARD_COST &&
			 ( (overseer_recno && unit_array[overseer_recno]->rank_id != RANK_KING)
			  || selected_worker_id ) )
		{
			button_reward.enable();
		}
		else
		{
			button_reward.disable();
		}

		if( have_own_workers() )
			button_vacate_firm.enable();
		else
			button_vacate_firm.disable();

		x=INFO_X1+BUTTON_ACTION_WIDTH * 3;
	}
	else
		x=INFO_X1;

	disp_spy_button(x, y, refreshFlag);
}
示例#2
0
文件: of_basei.cpp 项目: 112212/7k2
// -------- begin of function FirmBase::disp_firm_info --------//
//
void FirmBase::disp_firm_info(int dispY1, int refreshFlag)
{
   disp_god_info(INFO_Y1+226, refreshFlag);

	//------ display button -------//

	int x2 = INFO_X1 +13;
	int y2 = INFO_Y1 +281;

	if( refreshFlag == INFO_REPAINT )
	{
		button_clear_text.create( INFO_X1+13+3*BUTTON_DISTANCE, INFO_Y1+281, 'A', "PREVMENU" );
	}
			
	if( !is_own() )
		return;

	x2 += BUTTON_DISTANCE;

	char fileName[] = "GB-AX";
	char i = (char) (sys.frame_count % 9);
	if (i > 4)
		i = 8 - i;
	fileName[4] = '1' + i;
	
	if( (!can_invoke()) && (god_unit_recno == 0) )
	{
		button_invoke.paint( x2, y2, 'A', "INVOKE" );
		button_invoke.set_help_code("GDINVOKE");
		button_invoke.disable();
	}
	else
	{
		if( !god_unit_recno )
		{
			button_invoke.paint( x2, y2-12, 'A', "GB-A1" );
			button_invoke.set_help_code("GDINVOKE");
		}
		else
		{
			button_invoke.paint( x2, y2-12, 'A', fileName );
			button_invoke.set_help_code("GDINVOKE");
		}
		button_invoke.enable();
	}		

	x2 += BUTTON_DISTANCE;
	
	i = (char) (sys.frame_count % 9);
	if (i > 4)
		i = 8 - i;
	fileName[4] = '1' + i;
	
	fileName[3] = 'B';
	fileName[4] = '1' + i;

	if( (!can_make_wish()) && (invoked_effect_id == 0) )
	{
		button_unknown_effect.paint( x2, y2, 'A', "INVOKE" );
		button_unknown_effect.set_help_code("BLESS");
		button_unknown_effect.disable();
	}
	else
	{
		if ( !invoked_effect_id )
		{
			button_unknown_effect.paint( x2, y2-15, 'A', "GB-B1" );
			button_unknown_effect.set_help_code("BLESS");
			button_unknown_effect.enable();
		}
		else
		{ 
			button_unknown_effect.paint( x2, y2-15, 'A', fileName );
			button_unknown_effect.set_help_code("BLESS");
			button_unknown_effect.enable();
		}
	}

	// ----- display clear invoked_effect_text button -----//

	button_clear_text.visible_flag = invoked_effect_text[0];	// displaying invoked effect text
	button_clear_text.paint();
}