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_MoveTask.c
Go to the documentation of this file.
1
[
EntityEditorProps
(
category
:
"GameScripted/Tasks"
, description:
"Move task."
, color:
"0 0 255 255"
)]
2
class
SCR_MoveTaskClass
:
SCR_AttachableTaskClass
3
{
4
}
5
6
class
SCR_MoveTask
:
SCR_AttachableTask
7
{
8
[
Attribute
(
"5"
)]
9
protected
float
m_fMaxDistance;
10
11
//------------------------------------------------------------------------------------------------
12
void
PeriodicalCheck
()
13
{
14
if
(!
SCR_TaskSystem
.GetInstance())
15
return
;
16
17
array<ref SCR_TaskExecutor> assignees =
GetTaskAssignees
();
18
19
SCR_TaskExecutorPlayer
playerExecutor;
20
IEntity
controlledEntity;
21
foreach
(
SCR_TaskExecutor
assignee : assignees)
22
{
23
playerExecutor =
SCR_TaskExecutorPlayer
.Cast(assignee);
24
if
(!playerExecutor)
25
continue
;
26
27
int
id
= playerExecutor.
GetPlayerID
();
28
controlledEntity = SCR_PossessingManagerComponent.GetPlayerMainEntity(
id
);
29
if
(!controlledEntity)
30
continue
;
31
32
float
distance
=
vector
.Distance(controlledEntity.
GetOrigin
(),
GetOrigin
());
33
if
(
distance
< m_fMaxDistance)
34
{
35
SetTaskState
(
SCR_ETaskState
.COMPLETED);
36
return
;
37
}
38
}
39
}
40
41
//------------------------------------------------------------------------------------------------
42
override
void
SetTaskCompletionType
(
EEditorTaskCompletionType
newTaskCompletionType)
43
{
44
if
(
m_iTaskCompletionType
== newTaskCompletionType)
45
return
;
46
47
super.SetTaskCompletionType(newTaskCompletionType);
48
49
if
(
Replication
.IsClient())
50
return
;
51
52
if
(
m_iTaskCompletionType
==
EEditorTaskCompletionType
.AUTOMATIC)
53
SetEventMask(
EntityEvent
.FRAME);
54
else
55
ClearEventMask(
EntityEvent
.FRAME);
56
}
57
58
//------------------------------------------------------------------------------------------------
59
override
void
EOnInit
(
IEntity
owner)
60
{
61
super.EOnInit(owner);
62
63
PeriodicalCheck
();
64
}
65
66
//------------------------------------------------------------------------------------------------
67
void
SCR_MoveTask
(
IEntitySource
src,
IEntity
parent)
68
{
69
if
(
SCR_Global
.
IsEditMode
(
this
))
70
return
;
71
72
if
(
Replication
.IsClient())
73
return
;
74
75
if
(
m_iTaskCompletionType
==
EEditorTaskCompletionType
.AUTOMATIC)
76
SetEventMask(
EntityEvent
.FRAME);
77
}
78
79
//------------------------------------------------------------------------------------------------
80
void
~SCR_MoveTask
()
81
{
82
if
(
SCR_Global
.
IsEditMode
(
this
) || !
GetGame
().
GetGameMode
())
83
return
;
84
85
if
(
Replication
.IsClient())
86
return
;
87
88
if
(
m_iTaskCompletionType
==
EEditorTaskCompletionType
.AUTOMATIC)
89
ClearEventMask(
EntityEvent
.FRAME);
90
}
91
92
}
EEditorTaskCompletionType
EEditorTaskCompletionType
Way of determening if a task is completed automaticly, manually or always manually (In the latter cas...
Definition
EEditorTaskCompletionType.c:3
GetGame
ArmaReforgerScripted GetGame()
Definition
game.c:1398
GetOrigin
vector GetOrigin()
Definition
SCR_AIUtilityComponent.c:471
PeriodicalCheck
void PeriodicalCheck()
Definition
SCR_AttackTaskEntity.c:35
SetTaskState
override void SetTaskState(SCR_ETaskState state)
Definition
SCR_AttackTaskEntity.c:290
GetGameMode
SCR_BaseGameMode GetGameMode()
Definition
SCR_BaseGameModeComponent.c:15
EntityEditorProps
enum SCR_ECompassType EntityEditorProps(category:"GameScripted/Gadgets", description:"Compass", color:"0 0 255 255")
Prefab data class for compass component.
Definition
SCR_CompassComponent.c:10
distance
float distance
Definition
SCR_DestructibleTreeV2.c:29
SetTaskCompletionType
void SetTaskCompletionType(EEditorTaskCompletionType completionType)
Definition
SCR_EditableTaskComponent.c:130
m_iTaskCompletionType
EEditorTaskCompletionType m_iTaskCompletionType
Definition
SCR_EditorTask.c:15
~SCR_MoveTask
void ~SCR_MoveTask()
Definition
SCR_MoveTask.c:80
SCR_MoveTask
void SCR_MoveTask(IEntitySource src, IEntity parent)
Definition
SCR_MoveTask.c:67
SCR_ETaskState
SCR_ETaskState
Definition
SCR_Task.c:3
GetTaskAssignees
array< ref SCR_TaskExecutor > GetTaskAssignees()
Definition
SCR_Task.c:447
category
params category
Definition
SCR_VehicleDamageManagerComponent.c:302
IEntity
Definition
IEntity.c:13
IEntity::GetOrigin
proto external vector GetOrigin()
IEntitySource
Definition
IEntitySource.c:13
Replication
Main replication API.
Definition
Replication.c:14
SCR_AttachableTaskClass
Definition
SCR_AttachableTask.c:3
SCR_AttachableTask
Definition
SCR_AttachableTask.c:7
SCR_Global
Definition
Functions.c:7
SCR_Global::IsEditMode
static bool IsEditMode()
Definition
Functions.c:1566
SCR_MoveTaskClass
Definition
SCR_MoveTask.c:3
SCR_TaskExecutor
Definition
SCR_TaskExecutor.c:2
SCR_TaskExecutorPlayer
Definition
SCR_TaskExecutorPlayer.c:2
SCR_TaskExecutorPlayer::GetPlayerID
int GetPlayerID()
Definition
SCR_TaskExecutorPlayer.c:23
SCR_TaskSystem
Definition
SCR_TaskSystem.c:6
vector
Definition
vector.c:13
EOnInit
override void EOnInit(IEntity owner)
Definition
SCR_AIConfigComponent.c:87
Attribute
SCR_FieldOfViewSettings Attribute
Definition
SendGoalMessage.c:170
EntityEvent
EntityEvent
Various entity events.
Definition
EntityEvent.c:14
scripts
Game
Tasks
SCR_MoveTask.c
Generated by
1.17.0