DayZ 1.27
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено

◆ SelectedObjectFocus()

void PluginBase::SelectedObjectFocus ( )
inlineprivate

См. определение в файле PluginSceneManager.c строка 610

611 {
612 SceneObject selected_obj = GetSelectedSceneObject();
613
614 if ( selected_obj )
615 {
616 vector cam_pos = FreeDebugCamera.GetInstance().GetPosition();
617 vector obj_pos = selected_obj.GetPosition();
618 vector view_target = obj_pos;
619
620 vector obj_size = selected_obj.GetSize();
621
622 cam_pos = obj_pos;
623
624 cam_pos[0] = cam_pos[0] + ( obj_size[0] * 2 );
625 cam_pos[1] = cam_pos[1] + obj_size[1] + 0.5;
626 cam_pos[2] = cam_pos[2] + ( obj_size[2] * 2 );
627
628 view_target[1] = view_target[1] + (obj_size[1] * 0.5);
629
630 vector cam_dir = view_target - cam_pos;
631 cam_dir.Normalize();
632
633 FreeDebugCamera.GetInstance().SetPosition(cam_pos);
634 FreeDebugCamera.GetInstance().SetDirection(cam_dir);
635
636 //vector debug_pos = cam_pos + (cam_dir * 50);
637 //Debug.DrawLine(cam_pos, debug_pos);
638 //Debug.DrawSphere(cam_pos);
639 }
640 }
SceneObject GetSelectedSceneObject()
Определения PluginSceneManager.c:491
vector GetPosition()
Определения SceneObject.c:423
vector GetSize()
Определения SceneObject.c:143
proto float Normalize()
Normalizes vector. Returns length.

Перекрестные ссылки SceneObject::GetPosition(), GetSelectedSceneObject(), SceneObject::GetSize() и vector::Normalize().

Используется в SelectAndFocusPlayerObject().