1[
EntityEditorProps(
category:
"GameScripted/Weapon/Sights/Picture in Picture Sights", description:
"", color:
"0 0 255 255")]
4 [
Attribute(
"{EF091399D840192D}UI/layouts/Sights/PictureInPictureSightsLayout.layout",
UIWidgets.ResourceNamePicker,
"The layout used for this PIP component",
params:
"layout")]
7 [
Attribute(
"RTTexture0",
UIWidgets.EditBox,
"Name of RTTexture widget within provided layout")]
10 [
Attribute(
"RenderTarget0",
UIWidgets.EditBox,
"Name of RenderTarget widget within provided layout")]
114 return data.GetLayoutResource();
120 return data.GetRTTextureWidgetName();
126 return data.GetRTargetWidgetName();
132 return data.GetCameraIndex();
138 return data.GetCameraFOV();
144 return data.GetNearPlane();
150 return data.GetFarPlane();
156 return data.GetResolutionScale();
162 return data.GetCameraPoint();
169 return EEntityFrameUpdateSpecs.CALL_WHEN_ENTITY_VISIBLE;
173 protected override void _WB_AfterWorldUpdate(
IEntity owner,
float timeSlice)
175 const float axisLength = 0.1;
182 ref
auto rightArrow = Shape.CreateArrow(origin, right, 0.01,
ARGB(240,255,0,0),
ShapeFlags.ONCE);
183 ref
auto upArrow = Shape.CreateArrow(origin, up, 0.01,
ARGB(240,0,255,0),
ShapeFlags.ONCE);
184 ref
auto fwdArrow = Shape.CreateArrow(origin, fwd, 0.01,
ARGB(240,0,0,255),
ShapeFlags.ONCE);
209 Print(
"Could not create PIP layout!");
245 if (
layout ==
string.Empty)
258 if (!RTTexture || !RTWidget)
260 root.RemoveFromHierarchy();
272 root.RemoveFromHierarchy();
293 Math3D.MatrixIdentity3(mat);
297 pipCamera.SetTransform(mat);
298 pipCamera.Index = cameraIndex;
299 pipCamera.FreeFly =
false;
311 baseWorld.SetCameraVerticalFOV(cameraIndex,
data.GetCameraFOV());
312 baseWorld.SetCameraFarPlane(cameraIndex, farPlane);
313 baseWorld.SetCameraNearPlane(cameraIndex, nearPlane);
346 super.OnSightADSActivated();
353 super.OnSightADSDeactivated();
ArmaReforgerScripted GetGame()
IEntity SpawnEntity(ResourceName entityResourceName, notnull IEntity slotOwner)
SCR_CharacterSoundComponentClass GetComponentData()
enum SCR_ECompassType EntityEditorProps(category:"GameScripted/Gadgets", description:"Compass", color:"0 0 255 255")
Prefab data class for compass component.
Get all prefabs that have the spawner data
UI layouts Menus CleanSweep CleanSweepAreaSelection layout
void ScriptCamera(IEntitySource src, IEntity parent)
enum EVehicleType IEntity
proto external vector GetOrigin()
proto external int AddChild(notnull IEntity child, TNodeId pivot, EAddChildFlags flags=EAddChildFlags.AUTO_TRANSFORM)
Add Entity to hierarchy. Pivot is pivot index, or -1 for center of parent.
proto external BaseWorld GetWorld()
proto external vector GetTransformAxis(int axis)
See IEntity::GetTransformAxis.
proto external IEntity GetParent()
proto external void RemoveChild(notnull IEntity child, bool keepTransform=false)
Remove Entity from hierarchy.
string GetRTargetWidgetName()
string GetRTTextureWidgetName()
float GetResolutionScale()
string m_sRTargetWidgetName
string m_sRTTextureWidgetName
ResourceName GetLayoutResource()
ResourceName m_sLayoutResource
ResourceName GetLayoutResource()
void SCR_PIPSightsComponent(IEntityComponentSource src, IEntity ent, IEntity parent)
Constructor.
bool m_bIsEnabled
Is this PIP currently enabled?
ScriptCamera m_PIPCamera
The camera to be used by this pip component.
RTTextureWidget m_wRenderTargetTextureWidget
The render target texture found within our layout.
ref Widget m_wRoot
The root layout hierarchy widget.
void SetEnabled(bool enabled)
override void OnInit(IEntity owner)
float GetResolutionScale()
override void OnSightADSDeactivated()
void ~SCR_PIPSightsComponent()
Destructor.
void DestroyCamera(ScriptCamera camera)
IEntity m_pOwner
Parent entity owner.
string GetRTTextureWidgetName()
Widget CreateUI(string layout, string rtTextureName, string rtName, out RTTextureWidget RTTexture, out RenderTargetWidget RTWidget)
ScriptCamera CreateCamera(IEntity parent, vector position, int cameraIndex, float fov, float nearPlane, float farPlane)
override void OnSightADSActivated()
string GetRTargetWidgetName()
RenderTargetWidget m_wRenderTargetWidget
The render target found within our layout.
void DestroyUI(Widget root)
IEntity GetOwner()
Owner entity of the fuel tank.
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
SCR_FieldOfViewSettings Attribute
proto int ARGB(int a, int r, int g, int b)