/** * Обработка активации ловушки. * * @param object объект, который изменил свое положение. */ public boolean activate(TObject object) { if (!object.isCharacter()) return false; Character owner = getOwner(); Character target = object.getCharacter(); if (owner == null || owner == target || !owner.checkTarget(target)) { return false; } float dist = target.getGeomDistance(x, y); if (dist > radius) { return false; } if (lifeTask != null) { lifeTask.cancel(false); lifeTask = null; } ExecutorManager executor = ExecutorManager.getInstance(); executor.scheduleGeneral(this, 100); return true; }