| 2008 | } |
| 2009 | |
| 2010 | void CCar::SyncNetState() |
| 2011 | { |
| 2012 | auto obj = PPhysicsShellHolder(); |
| 2013 | if (!obj) |
| 2014 | return; |
| 2015 | auto se_obj = obj->alife_object(); |
| 2016 | if (!se_obj) |
| 2017 | return; |
| 2018 | |
| 2019 | auto co = smart_cast<CSE_ALifeCar*>(se_obj); |
| 2020 | ASSERT_FMT(co, "[%s]: %s is not CSE_ALifeCar", __FUNCTION__, obj->Name_script()); |
| 2021 | |
| 2022 | co->o_Position = Position(); |
| 2023 | Fvector Angle; |
| 2024 | XFORM().getXYZ(Angle); |
| 2025 | co->o_Angle = Angle; |
| 2026 | |
| 2027 | co->door_states.clear(); |
| 2028 | for (auto& it : m_doors) |
| 2029 | { |
| 2030 | CSE_ALifeCar::SDoorState ds; |
| 2031 | it.second.SaveNetState(ds); |
| 2032 | co->door_states.push_back(ds); |
| 2033 | } |
| 2034 | |
| 2035 | co->wheel_states.clear(); |
| 2036 | for (auto& it : m_wheels_map) |
| 2037 | { |
| 2038 | CSE_ALifeCar::SWheelState ws; |
| 2039 | it.second.SaveNetState(ws); |
| 2040 | co->wheel_states.push_back(ws); |
| 2041 | } |
| 2042 | |
| 2043 | co->health = GetfHealth(); |
| 2044 | } |
no test coverage detected