Arma Reforger Explorer
1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Toggle main menu visibility
Loading...
Searching...
No Matches
SCR_DoubleClickAction.c
Go to the documentation of this file.
1
class
SCR_DoubleClickAction
:
SCR_BaseEditorAction
2
{
3
[
Attribute
(
"1"
,
desc
:
"When enabled, action will not be performed if its shotcut is mouse double-click and mouse moved between two clicks."
)]
4
protected
bool
m_bIsDoubleClick
;
5
6
protected
const
string
LMB_ACTION
=
"MouseLeft"
;
7
protected
const
int
MAX_CURSOR_DIST_SQ
= 100;
8
9
protected
vector
m_vMouseLeftPos
;
10
11
protected
void
CachePosition
()
12
{
13
m_vMouseLeftPos
=
GetMousePosVector
();
14
}
15
protected
void
OnLMB
()
16
{
17
GetGame
().GetCallqueue().CallLater(
CachePosition
, 1);
18
}
19
protected
vector
GetMousePosVector
()
20
{
21
int
mouseX, mouseY;
22
WidgetManager
.GetMousePos(mouseX, mouseY);
23
return
Vector
(mouseX, mouseY, 0);
24
}
25
protected
bool
DidCursorMoveDuringDoubleClick
()
26
{
27
if
(!
m_bIsDoubleClick
|| !
GetGame
().
GetInputManager
().IsUsingMouseAndKeyboard() ||
m_vMouseLeftPos
==
vector
.Zero)
28
return
false
;
29
30
bool
didMove =
vector
.DistanceSq(
m_vMouseLeftPos
,
GetMousePosVector
()) >
MAX_CURSOR_DIST_SQ
;
31
m_vMouseLeftPos
=
vector
.Zero;
32
return
didMove;
33
}
34
35
override
void
AddShortcut
(SCR_BaseActionsEditorComponent actionsManager)
36
{
37
super.AddShortcut(actionsManager);
38
39
if
(
m_ActionsManager
)
40
GetGame
().GetInputManager().AddActionListener(
LMB_ACTION
,
EActionTrigger
.DOWN,
OnLMB
);
41
}
42
override
void
RemoveShortcut
()
43
{
44
if
(
m_ActionsManager
)
45
GetGame
().GetInputManager().RemoveActionListener(
LMB_ACTION
,
EActionTrigger
.DOWN,
OnLMB
);
46
47
super.RemoveShortcut();
48
}
49
};
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
GetInputManager
InputManager GetInputManager()
Definition
SCR_BaseManualCameraComponent.c:205
desc
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
Definition
SCR_RespawnBriefingComponent.c:17
SCR_BaseEditorAction
Definition
SCR_BaseEditorAction.c:25
SCR_BaseEditorAction::m_ActionsManager
SCR_BaseActionsEditorComponent m_ActionsManager
Definition
SCR_BaseEditorAction.c:50
SCR_DoubleClickAction
Definition
SCR_DoubleClickAction.c:2
SCR_DoubleClickAction::RemoveShortcut
override void RemoveShortcut()
Definition
SCR_DoubleClickAction.c:42
SCR_DoubleClickAction::m_bIsDoubleClick
bool m_bIsDoubleClick
Definition
SCR_DoubleClickAction.c:4
SCR_DoubleClickAction::DidCursorMoveDuringDoubleClick
bool DidCursorMoveDuringDoubleClick()
Definition
SCR_DoubleClickAction.c:25
SCR_DoubleClickAction::m_vMouseLeftPos
vector m_vMouseLeftPos
Definition
SCR_DoubleClickAction.c:9
SCR_DoubleClickAction::GetMousePosVector
vector GetMousePosVector()
Definition
SCR_DoubleClickAction.c:19
SCR_DoubleClickAction::MAX_CURSOR_DIST_SQ
const int MAX_CURSOR_DIST_SQ
Definition
SCR_DoubleClickAction.c:7
SCR_DoubleClickAction::LMB_ACTION
const string LMB_ACTION
Definition
SCR_DoubleClickAction.c:6
SCR_DoubleClickAction::CachePosition
void CachePosition()
Definition
SCR_DoubleClickAction.c:11
SCR_DoubleClickAction::OnLMB
void OnLMB()
Definition
SCR_DoubleClickAction.c:15
SCR_DoubleClickAction::AddShortcut
override void AddShortcut(SCR_BaseActionsEditorComponent actionsManager)
Definition
SCR_DoubleClickAction.c:35
WidgetManager
Definition
WidgetManager.c:16
vector
Definition
vector.c:13
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
EActionTrigger
EActionTrigger
Definition
EActionTrigger.c:13
Vector
proto native vector Vector(float x, float y, float z)
scripts
Game
Editor
Containers
Actions
ContextActions
SCR_DoubleClickAction.c
Generated by
1.17.0