DayZ 1.30
DayZ Explorer by KGB
 
Загрузка...
Поиск...
Не найдено
NavmeshTest.c
См. документацию.
1// for testing NavmeshEntityType
3{
5
7 {
8 }
9
10 void AddSignal(string name, bool flipped)
11 {
12 Param2<string, bool> signal = new Param2<string, bool>(name, flipped);
13 m_Signals.Insert(signal);
14 }
15
16 bool IsSignalActive(int idx)
17 {
18 string signal = m_Signals[idx].param1;
19 if (m_Signals[idx].param2)
20 {
21 return GetAnimationPhase(signal) < 0.001;
22 }
23 return GetAnimationPhase(signal) > 0;
24 }
25
26 void SetSignalActive(int idx, bool state)
27 {
28 string signal = m_Signals[idx].param1;
29 if (state)
30 {
31 if (m_Signals[idx].param2)
32 {
33 SetAnimationPhase(signal, 0.0);
34 }
35 else
36 {
37 SetAnimationPhase(signal, 1.0);
38 }
39 }
40 else
41 {
42 if (m_Signals[idx].param2)
43 {
44 SetAnimationPhase(signal, 1.0);
45 }
46 else
47 {
48 SetAnimationPhase(signal, 0.0);
49 }
50 }
51 }
52
53 void ToggleSignal(int idx)
54 {
55 bool isActive = IsSignalActive(idx);
56 if (isActive)
57 {
58 SetSignalActive(idx, false);
59 }
60 else
61 {
62 SetSignalActive(idx, true);
63 }
64 }
65
66 #ifdef DIAG_DEVELOPER
67 override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
68 {
69 int i;
70 int cnt;
71 int val;
72 string name;
73
74 cnt = m_Signals.Count();
75
76 for (i = 0; i < cnt; i++)
77 {
78 val = i + EActions.PLAYER_BOT_INTERNAL_START;
79
80 name = m_Signals[i].param1;
81 if (IsSignalActive(i))
82 {
83 name = name + " (active)";
84 }
85
86 outputList.Insert(new TSelectableActionInfoWithColor(SAT_DEBUG_ACTION, val, name, FadeColors.LIGHT_GREY));
87 }
88
89 outputList.Insert(new TSelectableActionInfoWithColor(SAT_DEBUG_ACTION, EActions.SEPARATOR, "___________________________", FadeColors.RED));
90
91 super.GetDebugActions(outputList);
92 }
93
94 override bool OnAction(int action_id, Man player, ParamsReadContext ctx)
95 {
96 if (super.OnAction(action_id, player, ctx))
97 return true;
98
99 if (!GetGame().IsServer())
100 {
101 return false;
102 }
103
104 int idx = action_id - EActions.PLAYER_BOT_INTERNAL_START;
105 if (idx >= 0 && idx < m_Signals.Count())
106 {
107 ToggleSignal(idx);
108 return true;
109 }
110
111 return false;
112 }
113 #endif
114};
115
116// use case examples
117
119{
121 {
122 AddSignal("Wall_Hide", true);
123 }
124};
125
127{
129 {
130 AddSignal("Wall_Hide", true);
131 AddSignal("Door_Hide", true);
132 AddSignal("Door_Rotate", false);
133 }
134};
135
137{
139 {
140 AddSignal("Wall_Hide", true);
141 AddSignal("Window_Hide", true);
142 }
143};
144
146{
148 {
149 AddSignal("Wall_Hide", true);
150 AddSignal("Roof_Hide", true);
151 }
152};
153
155{
157 {
158 AddSignal("Wall_Hide", true);
159 AddSignal("Door_Hide", true);
160 AddSignal("Door_Rotate", false);
161 AddSignal("Roof_Hide", true);
162 }
163};
164
166{
168 {
169 AddSignal("Wall_Hide", true);
170 AddSignal("Window_Hide", true);
171 AddSignal("Roof_Hide", true);
172 }
173};
Param4< int, int, string, int > TSelectableActionInfoWithColor
PlayerSpawnPresetDiscreteItemSetSlotData name
one set for cargo
EActions
Определения EActions.c:2
override void GetDebugActions(out TSelectableActionInfoArrayEx outputList)
override bool OnAction(int action_id, Man player, ParamsReadContext ctx)
void Building()
void Man()
Определения 3_Game/DayZ/Entities/Man.c:43
void NavmeshTest_A()
Определения NavmeshTest.c:120
void NavmeshTest_B()
Определения NavmeshTest.c:128
void NavmeshTest_C()
Определения NavmeshTest.c:138
void NavmeshTest_D()
Определения NavmeshTest.c:147
void NavmeshTest_E()
Определения NavmeshTest.c:156
void NavmeshTest_F()
Определения NavmeshTest.c:167
ref array< ref Param2< string, bool > > m_Signals
Определения NavmeshTest.c:4
void AddSignal(string name, bool flipped)
Определения NavmeshTest.c:10
void ToggleSignal(int idx)
Определения NavmeshTest.c:53
void NavmeshTest()
Определения NavmeshTest.c:6
void SetSignalActive(int idx, bool state)
Определения NavmeshTest.c:26
bool IsSignalActive(int idx)
Определения NavmeshTest.c:16
Определения PPEConstants.c:68
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
Serializer ParamsReadContext
Определения gameplay.c:15
DayZGame GetGame()
Определения gameplay.c:636
const int SAT_DEBUG_ACTION
Определения 3_Game/DayZ/constants.c:486