示例#1
0
void IFighterTask::AssignTo(CCircuitUnit* unit)
{
	IUnitTask::AssignTo(unit);

	CCircuitDef* cdef = unit->GetCircuitDef();
	attackPower += cdef->GetPower();
	if (unit->GetShield() != nullptr) {
		shields.insert(unit);
	}

	if (unit->HasDGun()) {
		const float range = std::max(cdef->GetDGunRange() * 1.1f, cdef->GetLosRadius());
		CDGunAction* act = new CDGunAction(unit, range);
		unit->PushBack(act);
	}
}