Commit 9723db98 authored by p x's avatar p x
Browse files

集成预警代码,按协议先磊代码

parent d381cdf5
...@@ -81,8 +81,8 @@ object HighMapApi { ...@@ -81,8 +81,8 @@ object HighMapApi {
this.drawpassed = drawpassed this.drawpassed = drawpassed
this.showdistance = showdistance this.showdistance = showdistance
} }
// UnityPlayer.UnitySendMessage(MODELNAME, "SetCarNavPath", gson.toJson(carNavPath)) UnityPlayer.UnitySendMessage(MODELNAME, "SetCarNavPath", gson.toJson(carNavPath))
UnityPlayer.UnitySendMessage(MODELNAME, "SetCarAvpNavPath", gson.toJson(carNavPath)) // UnityPlayer.UnitySendMessage(MODELNAME, "SetCarAvpNavPath", gson.toJson(carNavPath))
} }
/** /**
...@@ -104,6 +104,17 @@ object HighMapApi { ...@@ -104,6 +104,17 @@ object HighMapApi {
UnityPlayer.UnitySendMessage(MODELNAME, "SetPtcData", gson.toJson(ptcData)) UnityPlayer.UnitySendMessage(MODELNAME, "SetPtcData", gson.toJson(ptcData))
} }
/**
* 感知物预警
*/
fun setWarnPtc(warnPtc: List<WarnPtc>) {
UnityPlayer.UnitySendMessage(
MODELNAME,
"SetWarnPre",
gson.toJson(warnPtc)
)
}
/** /**
* 设置相机角度 * 设置相机角度
......
...@@ -37,3 +37,11 @@ class UnityPtc { ...@@ -37,3 +37,11 @@ class UnityPtc {
var lon: Double = 0.0 var lon: Double = 0.0
var ptcid: String = "" var ptcid: String = ""
} }
class WarnPtc {
//闪烁时间
var aniTime = 0L
var isFlash = false
var isRed = false
var ptcid: String = ""
}
...@@ -5,6 +5,7 @@ import android.widget.RelativeLayout ...@@ -5,6 +5,7 @@ import android.widget.RelativeLayout
import android.widget.Toast import android.widget.Toast
import androidx.activity.viewModels import androidx.activity.viewModels
import androidx.lifecycle.ViewModelProvider import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.viewModelScope
import com.sd.cavphmi.BR import com.sd.cavphmi.BR
import com.sd.cavphmi.R import com.sd.cavphmi.R
import com.sd.cavphmi.base.BaseActivity import com.sd.cavphmi.base.BaseActivity
...@@ -12,14 +13,20 @@ import com.sd.cavphmi.base.MyBaseViewModel ...@@ -12,14 +13,20 @@ import com.sd.cavphmi.base.MyBaseViewModel
import com.sd.cavphmi.databinding.ActivityMainBinding import com.sd.cavphmi.databinding.ActivityMainBinding
import com.sd.cavphmi.highmap.HighMapApi import com.sd.cavphmi.highmap.HighMapApi
import com.sd.cavphmi.highmap.UnityPtc import com.sd.cavphmi.highmap.UnityPtc
import com.sd.cavphmi.highmap.WarnPtc
import com.sd.cavphmi.intfaces.OnConCan import com.sd.cavphmi.intfaces.OnConCan
import com.sd.cavphmi.ui.fragment.CarPanelFragment import com.sd.cavphmi.ui.fragment.CarPanelFragment
import com.sd.cavphmi.ui.fragment.ExoPlayFragment import com.sd.cavphmi.ui.fragment.ExoPlayFragment
import com.sd.cavphmi.ui.view.CustomListDialog import com.sd.cavphmi.ui.view.CustomListDialog
import com.sd.cavphmi.utils.DisplayUtil import com.sd.cavphmi.utils.DisplayUtil
import com.sd.cavphmi.utils.MyContants
import com.sd.cavphmi.viewmodels.MainVm import com.sd.cavphmi.viewmodels.MainVm
import com.sd.cavphmi.viewmodels.MockVM import com.sd.cavphmi.viewmodels.MockVM
import dagger.hilt.android.AndroidEntryPoint import dagger.hilt.android.AndroidEntryPoint
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
/** /**
...@@ -119,7 +126,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>(), ...@@ -119,7 +126,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>(),
if (it.ptcType == "car") { if (it.ptcType == "car") {
pType = 1 pType = 1
} else { } else {
pType = 2 pType = 2
} }
} }
return@map unityPtc return@map unityPtc
...@@ -132,20 +139,24 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>(), ...@@ -132,20 +139,24 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>(),
mainVm.subStartV2x().observe(this) { v2x -> mainVm.subStartV2x().observe(this) { v2x ->
if (v2x.objects.isEmpty()) if (v2x.objects.isEmpty())
return@observe return@observe
//获取预警感知目标物的id //获取预警感知目标物的id 第二个是
var v2xId = v2x.objects.get(1).id var v2xId = v2x.objects.get(1).id
v2xId = "19448" v2xId = "19448"
var unityPtc = UnityPtc() var warnPtc = WarnPtc().apply {
// unityPtc.pType = 1 this.ptcid = v2xId
unityPtc.ptcid = v2xId this.isRed = true
unityPtc.isRed = true this.isFlash = true
unityPtc.isFlash = true }
// unityPtc.aniTime=5000
// unityPtc.isRed= true
val ptcList = listOf(unityPtc) val warnPtcs = listOf(warnPtc)
HighMapApi.setPtcData(ptcList) HighMapApi.setWarnPtc(warnPtcs)
CoroutineScope(Dispatchers.Default).launch {
delay(MyContants.WARNINGTIME)
warnPtc.isRed = false
HighMapApi.setWarnPtc(listOf(warnPtc))
}
} }
} }
//模拟选择车辆 //模拟选择车辆
......
...@@ -2,6 +2,8 @@ package com.sd.cavphmi.utils ...@@ -2,6 +2,8 @@ package com.sd.cavphmi.utils
object MyContants { object MyContants {
const val IS_DEBUG = true const val IS_DEBUG = true
/**全局预警持续时间 5秒*/
const val WARNINGTIME = 5000L
//测试环境 //测试环境
// var HOST = "https://itg-dev.cu-sc.com:19443/" // var HOST = "https://itg-dev.cu-sc.com:19443/"
//开发环境切勿动 //开发环境切勿动
......
...@@ -89,12 +89,6 @@ class MainVm @Inject constructor( ...@@ -89,12 +89,6 @@ class MainVm @Inject constructor(
//获取已绑定车辆列表 //获取已绑定车辆列表
var bindCars = MutableLiveData<List<BindCarItem>>() var bindCars = MutableLiveData<List<BindCarItem>>()
//交通感知
// var trafficPerBean = MutableLiveData<TrafficPerBean>()
//交通信号灯
// var trafficLightBean = MutableLiveData<TrafficLightBean>()
// fun startWS() { // fun startWS() {
// val httpHeaders = mutableMapOf<String, String>() // val httpHeaders = mutableMapOf<String, String>()
// httpHeaders.put("Cookie", "username=nemo") // httpHeaders.put("Cookie", "username=nemo")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment