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

◆ Event_OnClick()

void PluginBase::Event_OnClick ( )
inlineprivate

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

117 {
118 if ( !IsMouseInScene() || !m_IsOpen )
119 {
120 return;
121 }
122
123 // Direction Vector from current active Camera
124 vector dir = GetGame().GetPointerDirection();
125
126 // Raycast from
127 vector from = FreeDebugCamera.GetInstance().GetPosition();
128 // Raycast to
129 vector to = from + ( dir * 10000 );
130 // Raycast out parameter
131 vector contact_pos;
132 vector contact_dir;
133 int contact_component;
134 set<Object> objects = new set<Object>;
135 bool selected = false;
136
137 if ( DayZPhysics.RaycastRV(from, to, contact_pos, contact_dir, contact_component, objects) )
138 {
139 for ( int i = 0; i < objects.Count(); ++i )
140 {
141 Object obj = objects.Get(i);
142
143 if ( obj.IsInherited( EntityAI ) )
144 {
145 SceneObject sc_object = SceneObject.Cast( m_SceneData.GetSceneObjectByEntityAI(EntityAI.Cast( obj ) ) );
146
147 if ( sc_object == NULL )
148 {
149 //sc_object = m_SceneData.AddObject(obj);
150 return;
151 }
152
153 SelectObject( sc_object );
154 selected = true;
155
156 break;
157 }
158 }
159 }
160
161 if ( !selected )
162 {
164
165 // Ruler
166 if ( IsRulerActivated() && GetSelectedSceneObject() == NULL )
167 {
169 }
170 }
171
172 EditorUpdate();
173 }
class LogManager EntityAI
proto native vector GetPointerDirection()
Returns the direction where the mouse points, from the camera view.
static bool m_IsOpen
Определения PluginCameraTools.c:4
ref SceneData m_SceneData
Определения PluginSceneManager.c:1129
void DeselectObject()
Определения PluginSceneManager.c:1137
bool IsRulerActivated()
Определения PluginSceneManager.c:929
void EditorUpdate()
Определения PluginSceneManager.c:1145
bool IsMouseInScene()
Определения PluginSceneManager.c:1227
void SelectObject(SceneObject obj)
Определения PluginSceneManager.c:474
void RulerAddPoint()
Определения PluginSceneManager.c:937
SceneObject GetSelectedSceneObject()
Определения PluginSceneManager.c:491
class LOD Object
proto native CGame GetGame()

Перекрестные ссылки DeselectObject(), EditorUpdate(), GetGame(), CGame::GetPointerDirection(), GetSelectedSceneObject(), IsMouseInScene(), IsRulerActivated(), m_IsOpen, m_SceneData, DayZPhysics::RaycastRV(), RulerAddPoint() и SelectObject().