127 vector from = FreeDebugCamera.GetInstance().GetPosition();
129 vector to = from + ( dir * 10000 );
133 int contact_component;
134 set<Object> objects =
new set<Object>;
135 bool selected =
false;
139 for (
int i = 0; i < objects.Count(); ++i )
141 Object obj = objects.Get(i);
147 if ( sc_object == NULL )
191 vector from = FreeDebugCamera.GetInstance().GetPosition();
193 vector to = from + ( dir * 10000 );
197 int contact_component;
198 set<Object> objects =
new set<Object>;
199 bool selected =
false;
203 for (
int i = 0; i < objects.Count(); ++i )
205 Object obj = objects.Get(i);
254 vector from = FreeDebugCamera.GetInstance().GetPosition();
256 vector to = from + ( dir * 10000 );
260 int contact_component;
264 if (
DayZPhysics.
RaycastRV(from, to, contact_pos, contact_dir, contact_component, NULL, NULL, NULL,
false,
true) )
287 vector from = FreeDebugCamera.GetInstance().GetPosition();
289 vector to = from + ( dir * 10000 );
293 int contact_component;
316 SceneLoad( PluginMissionConfig.GetInstance().GetSceneEditorName() );
330 for (
int i = 0; i < scene_objects.Count(); i++ )
335 if (linked_scene_objects_indices)
337 for (
int j = 0; j < linked_scene_objects_indices.Count(); j++ )
339 int index = linked_scene_objects_indices.Get(j);
340 if ( index >= 0 && index < scene_objects.Count() )
358 for (
int i = 0; i < scene_objects.Count(); i++ )
372 if (
g_Game.IsMultiplayer() )
380 g_Game.GetUIManager().Back();
412 g_Game.GetInput().ChangeGameFocus(-1);
415 g_Game.GetUIManager().ShowUICursor(
false);
417 if(
g_Game.GetUIManager().GetMenu() )
418 g_Game.GetUIManager().GetMenu().OnHide();
427 g_Game.GetInput().ChangeGameFocus(1);
430 g_Game.GetUIManager().ShowUICursor(
true);
432 if(
g_Game.GetUIManager().GetMenu() )
433 g_Game.GetUIManager().GetMenu().OnShow();
443 if ( selected_obj != NULL )
448 for (
int i = 0; i < scene_objects.Count(); i++ )
458 scene_objects.RemoveItem(selected_obj);
518 for (
int i = 0; i < attachments.Count(); i++ )
601 selected_obj.
SetHealth(
Math.
Clamp ( value, 0, selected_obj_EAI.GetMaxHealth(
"",
"") ));
616 vector cam_pos = FreeDebugCamera.GetInstance().GetPosition();
618 vector view_target = obj_pos;
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 );
628 view_target[1] = view_target[1] + (obj_size[1] * 0.5);
630 vector cam_dir = view_target - cam_pos;
633 FreeDebugCamera.GetInstance().SetPosition(cam_pos);
634 FreeDebugCamera.GetInstance().SetDirection(cam_dir);
758 PluginMissionConfig.GetInstance().SetSceneEditorName(scene_name);
858 void SetWeather(
float overcast,
float rain,
float fog,
float wind_force)
869 void SetDate(
int year,
int month,
int day,
int hour,
int minute )
884 for (
int i = 0; i < scene_objects.Count(); i++ )
886 if ( scene_objects.Get(i).GetObject() ==
g_Game.GetPlayer() )
902 string cls = scene_object.
GetObject().ClassName();
903 string wrapped_script =
"void scMngMain() \n{\n PluginSceneManager se = GetPlugin(Type(\"PluginSceneManager\")); \n SceneObject this_obj = se.GetSceneObjectByIndex(" + index.ToString() +
"); \n " + cls +
" this_eai = this_obj.GetObject(); \n " + script +
"\n}\n";
905 g_Game.ExecuteEnforceScript(wrapped_script,
"scMngMain");
988 for (
int i = 0; i < scene_objects.Count(); i++ )
1045 if ( scene_objects != NULL )
1047 if ( index > -1 && index < scene_objects.Count() )
1049 return scene_objects.Get( index );
1063 if ( scene_objects != NULL )
1065 for (
int i = 0; i <= scene_objects.Count(); ++i )
1117 protected PluginDeveloper m_ModuleDeveloper;
1147 if (
g_Game.IsMultiplayer() )
1155 for (
int i = 0; i < objects.Count(); ++i )
1178 for ( j = 0; j < linked_scene_objects.Count(); j++ )
1187 if (linked_scene_objects)
1189 for ( j = 0; j < linked_scene_objects.Count(); j++ )
1231 if ( widget_under_mouse != NULL && widget_under_mouse.GetName() ==
"pnl_SceneControl" )
1266 vector from = FreeDebugCamera.GetInstance().GetPosition();
1267 vector to = from + ( dir * 10000 );
1270 int contact_component;
static proto bool RaycastRV(vector begPos, vector endPos, out vector contactPos, out vector contactDir, out int contactComponent, set< Object > results=NULL, Object with=NULL, Object ignore=NULL, bool sorted=false, bool ground_only=false, int iType=ObjIntersectView, float radius=0.0, CollisionFlags flags=CollisionFlags.NEARESTCONTACT)
Raycasts world by given parameters.
static Shape DrawLine(vector from, vector to, int color=0xFFFFFFFF, int flags=0)
DrawLine \nFlags: ShapeFlags.NOZBUFFER ShapeFlags.NOZUPDATE ShapeFlags.DOUBLESIDE ShapeFlags....
static Shape DrawSphere(vector pos, float size=1, int color=0x1fff7f7f, ShapeFlags flags=ShapeFlags.TRANSP|ShapeFlags.NOOUTLINE)
static void EnableFreeCameraSceneEditor(PlayerBase player)
Class PluginMessageManager provides some basic Message Distribution mechanics, if you get instance of...
PluginConfigDebugProfile m_ModuleConfigDebugProfile
void SceneRename(string scene_name, string new_name)
ref array< Shape > m_RulerSpheres
void SetRotationAngle(int angle)
void SelectedObjectDuplicate()
void SelectedObjectSetDamage(float value)
void FreeCameraControlEnable()
void RestoreSceneObjectsLinks()
SceneObject m_SelectedObject
vector GetMousePositionInScene()
array< ref SceneObject > GetSceneObjects()
SceneObject Event_OnDoubleClick()
void Event_OnClickMiddle()
bool SceneCanDelete(string scene_name)
void SelectedObjectAddAttachment(string att_name)
SceneData GetLoadedScene()
array< ref ScenePlayer > GetScenePlayers()
void SceneEditorMenuCmdRefresh()
void SetLoadPlayerPos(bool save)
void SelectClassName(string class_name)
TStringArray GetSceneList()
void LinkSceneObjects(SceneObject scene_object1, SceneObject scene_object2)
void SceneDuplicate(string scene_name)
int GetSelectedSceneObjectIndex()
static string SCENE_SUFIX
void SelectObject(SceneObject obj)
void OnMouseWheel(int wheel)
void DeleteSceneObject(SceneObject obj)
PluginDeveloper m_ModuleDeveloper
string m_ClassBrowserSelected
ref SceneData m_SceneData
void SelectedObjectSetPosX(float value)
void SceneEditorMenuCmdSave()
void PluginSceneManager()
ref array< Shape > m_ShapesSceneObjects
void UnlinkSceneObjects(SceneObject scene_object1, SceneObject scene_object2)
array< ref SceneObject > GetSceneObjectsAll()
static const int SCENE_EDITOR_CMD_SAVE
bool SceneDelete(string scene_name)
SceneObject GetSceneObjectByEntity(EntityAI entity)
override void OnDestroy()
SceneObject GetSceneObjectByIndex(int index)
float m_TimeLastClickRelease
void SetDate(int year, int month, int day, int hour, int minute)
static const int SCENE_EDITOR_CMD_POPUP
void SetWeather(float overcast, float rain, float fog, float wind_force)
void ExecuteEnforceScript(int index, SceneObject scene_object, string script)
void ExecuteInitScripts()
void FreeCameraControlDisable()
void SelectAndFocusPlayerObject()
bool AreSceneObjectsLinked(SceneObject scene_object1, SceneObject scene_object2)
void SceneLoad(string scene_name)
void SetDrawSelection(bool draw)
void DeleteSelectedObject()
ref array< Shape > m_RulerLines
ref array< vector > m_RulerPoints
void SelectedObjectSetRot(float dir)
float m_TimeLastClickPress
SceneObject GetSelectedSceneObject()
void ~PluginSceneManager()
ref array< ref KeyBinding > m_KeyBindings
PluginConfigScene m_ModuleConfigScene
static PluginKeyBinding instance
void SceneEditorMenuCmdPopup(string message)
void SelectedObjectRemoveAttachment(EntityAI e)
void SelectedObjectSetPosZ(float value)
static string SCENE_DEFAULT_NAME
void SelectedObjectSetPosY(float value)
static const int SCENE_EDITOR_CMD_REFRESH
static PluginSceneManager GetInstance()
void SelectedObjectFocus()
bool IsLinkedWithSceneObject(SceneObject scene_object)
void SetRotation(float rot)
void EditorShapeDeselect()
void SetPosition(vector pos)
array< EntityAI > GetAttachments()
ref array< int > m_LinkedSceneObjectsIndices
void AddAttachment(string att_name)
void LinkSceneObject(SceneObject scene_object, bool draw_line=true)
void EditorLineAdd(SceneObject obj)
void SetHealth(float value)
array< SceneObject > GetLinkedSceneObjects()
void UnlinkSceneObject(SceneObject scene_object)
void EditorLineRemove(SceneObject obj)
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
proto float Normalize()
Normalizes vector.
const CallID CALL_ID_SCENE_EDITOR_COMMAND
Param CallMethod(CallID call_id, Param params)
array< string > TStringArray
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
static proto float Clamp(float value, float min, float max)
Clamps 'value' to 'min' if it is lower than 'min', or to 'max' if it is higher than 'max'.
const string STRING_EMPTY
class OptionSelectorMultistate extends OptionSelector class_name
PluginBase GetPlugin(typename plugin_type)