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_TaskSolverBase.c
Go to the documentation of this file.
1
void
OnTaskSolverStateChangedDelegate
(
SCR_TaskSolverBase
taskSolver,
SCR_ETaskSolverState
taskSolverState);
2
typedef
func
OnTaskSolverStateChangedDelegate
;
3
typedef
ScriptInvokerBase<OnTaskSolverStateChangedDelegate>
OnTaskSolverStateChangedInvoker
;
4
5
class
SCR_TaskSolverBase
6
{
7
protected
SCR_Task
m_Task
;
8
protected
SCR_AIGroup
m_AiGroup
;
9
protected
SCR_ETaskSolverState
m_eState
;
10
protected
int
m_iId
= -1;
11
12
protected
ref
OnTaskSolverStateChangedInvoker
m_OnStateChanged
;
13
14
//------------------------------------------------------------------------------------------------
15
int
GetId
()
16
{
17
return
m_iId
;
18
}
19
20
//------------------------------------------------------------------------------------------------
21
void
SetId
(
int
id
)
22
{
23
if
(
m_iId
==
id
)
24
return
;
25
26
m_iId
=
id
;
27
}
28
29
//------------------------------------------------------------------------------------------------
30
void
SetAiGroup
(
SCR_AIGroup
aiGroup)
31
{
32
if
(
m_AiGroup
== aiGroup)
33
return
;
34
35
m_AiGroup
= aiGroup;
36
}
37
38
//------------------------------------------------------------------------------------------------
39
OnTaskSolverStateChangedInvoker
GetOnStateChanged
()
40
{
41
if
(!
m_OnStateChanged
)
42
m_OnStateChanged
=
new
OnTaskSolverStateChangedInvoker
();
43
44
return
m_OnStateChanged
;
45
}
46
47
//------------------------------------------------------------------------------------------------
48
SCR_Task
GetTask
()
49
{
50
return
m_Task
;
51
}
52
53
//------------------------------------------------------------------------------------------------
54
SCR_ETaskSolverState
GetState
()
55
{
56
return
m_eState
;
57
}
58
59
//------------------------------------------------------------------------------------------------
61
void
StartTaskSolving
()
62
{
63
SetState
(
SCR_ETaskSolverState
.IN_PROGRESS);
64
}
65
66
//------------------------------------------------------------------------------------------------
68
void
FailTaskSolving
()
69
{
70
SetState
(
SCR_ETaskSolverState
.FAILED);
71
}
72
73
//------------------------------------------------------------------------------------------------
74
void
Update
(
float
timeSlice);
75
76
//------------------------------------------------------------------------------------------------
77
protected
void
SetState
(
SCR_ETaskSolverState
state)
78
{
79
if
(
m_eState
== state)
80
return
;
81
82
string
previousStateName =
SCR_Enum
.GetEnumName(
SCR_ETaskSolverState
,
m_eState
);
83
string
currentStateName =
SCR_Enum
.GetEnumName(
SCR_ETaskSolverState
, state);
84
PrintFormat
(
"SCR_TaskSolverBase: Changed state from %1 to %2."
, previousStateName, currentStateName, level:
LogLevel
.DEBUG);
85
86
m_eState
= state;
87
88
if
(
m_OnStateChanged
)
89
m_OnStateChanged
.Invoke(
this
, state);
90
}
91
92
//------------------------------------------------------------------------------------------------
94
protected
void
CompleteTaskSolving
()
95
{
96
SetState
(
SCR_ETaskSolverState
.COMPLETED);
97
}
98
99
//------------------------------------------------------------------------------------------------
100
protected
void
OnTaskStateChanged
(
SCR_Task
task
,
SCR_ETaskState
newState)
101
{
102
if
(
task
!=
m_Task
)
103
return
;
104
105
if
(newState !=
SCR_ETaskState
.COMPLETED && newState !=
SCR_ETaskState
.FAILED && newState !=
SCR_ETaskState
.CANCELLED)
106
return
;
107
108
CompleteTaskSolving
();
109
}
110
111
//------------------------------------------------------------------------------------------------
112
void
Init
(
SCR_Task
task
,
SCR_TaskSolverContext
context)
113
{
114
SetState
(
SCR_ETaskSolverState
.NOT_STARTED);
115
116
m_Task
=
task
;
117
118
SCR_Task
.GetOnTaskStateChanged().Insert(
OnTaskStateChanged
);
119
}
120
121
//------------------------------------------------------------------------------------------------
122
void
Deinit
()
123
{
124
SCR_Task
.GetOnTaskStateChanged().Remove(
OnTaskStateChanged
);
125
}
126
}
id
AddonBuildInfoTool id
func
func
Definition
SCR_AIThreatSystem.c:6
SCR_ETaskSolverState
SCR_ETaskSolverState
Definition
SCR_ETaskSolverState.c:2
SCR_Task
void SCR_Task(IEntitySource src, IEntity parent)
Definition
SCR_Task.c:1938
SCR_ETaskState
SCR_ETaskState
Definition
SCR_Task.c:3
task
from task
Definition
SCR_TaskNotificationConfigs.c:12
OnTaskSolverStateChangedInvoker
ScriptInvokerBase< OnTaskSolverStateChangedDelegate > OnTaskSolverStateChangedInvoker
Definition
SCR_TaskSolverBase.c:3
OnTaskSolverStateChangedDelegate
func OnTaskSolverStateChangedDelegate
Definition
SCR_TaskSolverBase.c:2
SCR_AIGroup
Definition
SCR_AIGroup.c:75
SCR_Enum
Definition
SCR_Enum.c:2
SCR_TaskSolverBase
Definition
SCR_TaskSolverBase.c:6
SCR_TaskSolverBase::m_OnStateChanged
ref OnTaskSolverStateChangedInvoker m_OnStateChanged
Definition
SCR_TaskSolverBase.c:12
SCR_TaskSolverBase::StartTaskSolving
void StartTaskSolving()
Marks the task solver as in progress.
Definition
SCR_TaskSolverBase.c:61
SCR_TaskSolverBase::GetId
int GetId()
Definition
SCR_TaskSolverBase.c:15
SCR_TaskSolverBase::Init
void Init(SCR_Task task, SCR_TaskSolverContext context)
Definition
SCR_TaskSolverBase.c:112
SCR_TaskSolverBase::SetState
void SetState(SCR_ETaskSolverState state)
Definition
SCR_TaskSolverBase.c:77
SCR_TaskSolverBase::GetState
SCR_ETaskSolverState GetState()
Definition
SCR_TaskSolverBase.c:54
SCR_TaskSolverBase::m_eState
SCR_ETaskSolverState m_eState
Definition
SCR_TaskSolverBase.c:9
SCR_TaskSolverBase::FailTaskSolving
void FailTaskSolving()
Marks the task solver as failed.
Definition
SCR_TaskSolverBase.c:68
SCR_TaskSolverBase::SetAiGroup
void SetAiGroup(SCR_AIGroup aiGroup)
Definition
SCR_TaskSolverBase.c:30
SCR_TaskSolverBase::CompleteTaskSolving
void CompleteTaskSolving()
Marks the task solver as completed.
Definition
SCR_TaskSolverBase.c:94
SCR_TaskSolverBase::GetTask
SCR_Task GetTask()
Definition
SCR_TaskSolverBase.c:48
SCR_TaskSolverBase::SetId
void SetId(int id)
Definition
SCR_TaskSolverBase.c:21
SCR_TaskSolverBase::Update
void Update(float timeSlice)
SCR_TaskSolverBase::m_Task
SCR_Task m_Task
Definition
SCR_TaskSolverBase.c:7
SCR_TaskSolverBase::GetOnStateChanged
OnTaskSolverStateChangedInvoker GetOnStateChanged()
Definition
SCR_TaskSolverBase.c:39
SCR_TaskSolverBase::OnTaskStateChanged
void OnTaskStateChanged(SCR_Task task, SCR_ETaskState newState)
Definition
SCR_TaskSolverBase.c:100
SCR_TaskSolverBase::m_AiGroup
SCR_AIGroup m_AiGroup
Definition
SCR_TaskSolverBase.c:8
SCR_TaskSolverBase::m_iId
int m_iId
Definition
SCR_TaskSolverBase.c:10
SCR_TaskSolverBase::Deinit
void Deinit()
Definition
SCR_TaskSolverBase.c:122
SCR_TaskSolverContext
Definition
SCR_TaskSolverContext.c:2
LogLevel
LogLevel
Enum with severity of the logging message.
Definition
LogLevel.c:14
PrintFormat
proto void PrintFormat(string fmt, void param1=NULL, void param2=NULL, void param3=NULL, void param4=NULL, void param5=NULL, void param6=NULL, void param7=NULL, void param8=NULL, void param9=NULL, LogLevel level=LogLevel.NORMAL)
scripts
Game
TaskSolver
SCR_TaskSolverBase.c
Generated by
1.17.0