From 6fcfceda118c636c52b6447f4d3290be68b7267b Mon Sep 17 00:00:00 2001 From: renwj Date: Tue, 27 Dec 2022 15:30:25 +0800 Subject: [PATCH] =?UTF-8?q?[2.13.0]=E4=BC=98=E5=8C=96=E8=A7=86=E8=A7=92?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../call/map/CallerVisualAngleManager.kt | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerVisualAngleManager.kt b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerVisualAngleManager.kt index 1d04a769d3..e8c3611806 100644 --- a/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerVisualAngleManager.kt +++ b/core/mogo-core-function-call/src/main/java/com/mogo/eagle/core/function/call/map/CallerVisualAngleManager.kt @@ -314,14 +314,14 @@ object CallerVisualAngleManager { private fun CoroutineScope.doRealVisualAngleChange(triggerTime: Long, target: Scene, displayed: Record? = null) { if (target is Default) { Log.d("${M_DEVA}${TAG}", "--- doRealVisualAngleChange --- 1 ---") + displayed?.also { + queue -= it + } defaultDelayJob?.safeCancel() launch { val delay = target.unit.toMillis(target.delay) Log.d("${M_DEVA}${TAG}", "--- doRealVisualAngleChange --- 2 ---") delay(delay) - displayed?.also { - queue -= it - } Log.d("${M_DEVA}${TAG}", "--- doRealVisualAngleChange --- 3 ---") doChangeAngle(Record(target, triggerTime = triggerTime)) }.also { itx -> @@ -337,7 +337,24 @@ object CallerVisualAngleManager { defaultDelayJob?.safeCancel() if (displayed == null || displayed.target.priority < target.priority) { Log.d("${M_DEVA}${TAG}", "--- doRealVisualAngleChange --- 6 ---") - queue -= displayed + displayed?.also { + queue -= it + } + if (target is Turning) { + if (!target.open) { + Log.d("${M_DEVA}${TAG}", "--- doRealVisualAngleChange --- 7 ---") + changeVisualAngle(Default()) + return + } + } + if (target is CrossRoad) { + if (!target.open) { + Log.d("${M_DEVA}${TAG}", "--- doRealVisualAngleChange --- 8 ---") + changeVisualAngle(Default()) + return + } + } + Log.d("${M_DEVA}${TAG}", "--- doRealVisualAngleChange --- 10 ---") doChangeAngle(Record(target, triggerTime = triggerTime)) } }