[2.13.0]优化视角切换逻辑

This commit is contained in:
renwj
2022-12-27 15:30:25 +08:00
parent 82ab8d48d7
commit 6fcfceda11

View File

@@ -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))
}
}