示例#1
0
文件: oun_init.cpp 项目: 112212/7k2
//--------- Begin of function Unit::Unit ---------//
//
Unit::Unit()
{
	memset( sizeof(UnitB) + (char *)this, 0, sizeof(Unit) - sizeof(UnitB));

	pushed_order.mode = -1;		// -1 means not used

	set_original_target(-1, -1);

	auto_retreat_hit_point = 0;
}
示例#2
0
文件: oun_act.cpp 项目: mecirt/7k2
//--------- Begin of function Unit::pop_order ---------//
//
// Note: the stack only has space for one Order object.
//
void Unit::pop_order()
{
	stop_move();	// stop the current action first

	err_when( has_pushed_order() == 0 );		// cannot push when the only one stack space is used

	cur_order = pushed_order;

	pushed_order.set(-1);

	set_original_target(-1, -1);		// clear the original target
}
示例#3
0
文件: oun_act.cpp 项目: mecirt/7k2
//--------- Begin of function Unit::stop_order ---------//
//
// Stop the current order without completion.
//
void Unit::stop_order()
{
	stop_move();	// a UnitB function

	//----- if the order is initiated by an AI --//

	if( cur_order.ai_action_id && nation_recno )
		nation_array[nation_recno]->action_failure(cur_order.ai_action_id, sprite_recno);

	cur_order.set(UNIT_STOP);

	clear_pushed_order();			// clear pushed orders if there are any

	set_original_target(-1, -1);	// clear the original target

	force_move_flag = false;
}