Commit 1b561d38 authored by p x's avatar p x
Browse files

调通行人感知物头上的方框

parent bb95327c
...@@ -12,6 +12,7 @@ package com.sd.cavphmi.bean ...@@ -12,6 +12,7 @@ package com.sd.cavphmi.bean
val typeName: String val typeName: String
) )
//第一个是自己的车 第二个是预警车
data class VObject( data class VObject(
val elevation: Double, val elevation: Double,
val id: String, val id: String,
......
package com.sd.cavphmi.ui package com.sd.cavphmi.ui
import android.os.Handler
import android.util.Log
import android.view.KeyEvent import android.view.KeyEvent
import android.widget.RelativeLayout import android.widget.RelativeLayout
import android.widget.Toast import android.widget.Toast
...@@ -106,7 +104,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>(), ...@@ -106,7 +104,7 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>(),
//感知目标物 //感知目标物
binding.btTarget.setOnClickListener { binding.btTarget.setOnClickListener {
mainVm.subTarget().observe(this) { mainVm.subTarget().observe(this) {
if(it.size==0){ if (it.size == 0) {
HighMapApi.clearPtcData() HighMapApi.clearPtcData()
return@observe return@observe
} }
...@@ -119,17 +117,17 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>(), ...@@ -119,17 +117,17 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>(),
unityPtc.lon = item.longitude unityPtc.lon = item.longitude
unityPtc.ptcid = item.ptcId unityPtc.ptcid = item.ptcId
unityPtc.heading = item.heading unityPtc.heading = item.heading
// unityPtc.aniTime=ptc.aniTime
unityPtc.aniTime = 1
if (item.ptcType == "car") { if (item.ptcType == "car") {
unityPtc.pType = 1 unityPtc.pType = 1
} else { } else {
unityPtc.pType = 2 unityPtc.pType = 2
} }
// unityPtc.aniTime=ptc.aniTime
// unityPtc.aniTime = 1
// unityPtc.isFlash=ptc.isFlash // unityPtc.isFlash=ptc.isFlash
// unityPtc.isRed=ptc.isRed // unityPtc.isRed=ptc.isRed
unityPtc.isFlash = true // unityPtc.isFlash = true
unityPtc.isRed = true // unityPtc.isRed = true
ptcList.add(unityPtc) ptcList.add(unityPtc)
} }
HighMapApi.setPtcData(ptcList) HighMapApi.setPtcData(ptcList)
...@@ -139,7 +137,24 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>(), ...@@ -139,7 +137,24 @@ class MainActivity : BaseActivity<ActivityMainBinding, MyBaseViewModel>(),
} }
//v2x 预警 //v2x 预警
binding.btV2x.setOnClickListener { binding.btV2x.setOnClickListener {
mainVm.subStartV2x() mainVm.subStartV2x().observe(this) { v2x ->
if (v2x.objects.isEmpty())
return@observe
//获取预警感知目标物的id
var v2xId = v2x.objects.get(1).id
v2xId = "19448"
var unityPtc = UnityPtc()
// unityPtc.pType = 1
unityPtc.ptcid = v2xId
unityPtc.isRed = true
unityPtc.isFlash = true
// unityPtc.aniTime=5000
// unityPtc.isRed= true
val ptcList = listOf(unityPtc)
HighMapApi.setPtcData(ptcList)
}
} }
//模拟选择车辆 //模拟选择车辆
binding.btSetcar.setOnClickListener { binding.btSetcar.setOnClickListener {
......
...@@ -7,8 +7,11 @@ import android.view.View ...@@ -7,8 +7,11 @@ import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.FrameLayout import android.widget.FrameLayout
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels
import com.sd.cavphmi.viewmodels.UnityMapVm
import com.unity3d.player.IUnityPlayerLifecycleEvents import com.unity3d.player.IUnityPlayerLifecycleEvents
import com.unity3d.player.UnityPlayer import com.unity3d.player.UnityPlayer
import kotlin.getValue
/** /**
...@@ -80,6 +83,8 @@ class UnityFragment : Fragment(), IUnityPlayerLifecycleEvents { ...@@ -80,6 +83,8 @@ class UnityFragment : Fragment(), IUnityPlayerLifecycleEvents {
// UnityPlayer 实例 // UnityPlayer 实例
private lateinit var mUnityPlayer: UnityPlayer private lateinit var mUnityPlayer: UnityPlayer
//UNITY map 控制类
private val unityMapVm: UnityMapVm by activityViewModels()
override fun onCreate(savedInstanceState: Bundle?) { override fun onCreate(savedInstanceState: Bundle?) {
...@@ -92,6 +97,8 @@ class UnityFragment : Fragment(), IUnityPlayerLifecycleEvents { ...@@ -92,6 +97,8 @@ class UnityFragment : Fragment(), IUnityPlayerLifecycleEvents {
// 视图创建完成后,可以在这里进行最终设置 // 视图创建完成后,可以在这里进行最终设置
mUnityPlayer.windowFocusChanged(true) mUnityPlayer.windowFocusChanged(true)
// mUnityPlayer.requestFocus() // mUnityPlayer.requestFocus()
//使用拼接服务器资源加载地图
unityMapVm.loadTileJson()
} }
// 可选:向 Unity 发送消息的方法 // 可选:向 Unity 发送消息的方法
......
package com.sd.cavphmi.viewmodels
import android.content.Context
import androidx.lifecycle.ViewModel
import com.sd.cavphmi.highmap.HighMapApi
import com.sd.cavphmi.highmap.TileJsonBean
import dagger.hilt.android.lifecycle.HiltViewModel
import dagger.hilt.android.qualifiers.ApplicationContext
import javax.inject.Inject
@HiltViewModel
class UnityMapVm @Inject constructor(
@ApplicationContext var context: Context
) : ViewModel() {
/**给unity读取3d tile json配置***/
fun loadTileJson() {
var tileJsonBean = TileJsonBean()
HighMapApi.setTileInit(tileJsonBean)
}
}
\ No newline at end of file
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