Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_BirdAgent.c
Go to the documentation of this file.
4
5class SCR_Bird : AIFlock
6{
7 private const string IS_FLYING_SIGNAL_NAME = "IsFlying";
8 private const string SOUND_FLOCK_TAKEOFF_EVENT_NAME = "SOUND_FLOCK_TAKEOFF";
9 private const string SOUND_FLOCK_LAND_EVENT_NAME = "SOUND_FLOCK_LAND";
10
11 private int m_iFlyingSignalId;
12 SignalsManagerComponent m_signalComp;
13 SoundComponent m_soundComp;
14
15 override event protected void EOnInit(IEntity owner)
16 {
17
18 //--- Activate AI
19 //AIControlComponent control = AIControlComponent.Cast(owner.FindComponent(AIControlComponent));
20 //if (control)
21 //control.ActivateAI();
22
23 m_signalComp = SignalsManagerComponent.Cast(FindComponent(SignalsManagerComponent));
24 if (m_signalComp)
25 m_iFlyingSignalId = m_signalComp.AddOrFindSignal(IS_FLYING_SIGNAL_NAME);
26
27 m_soundComp = SoundComponent.Cast(FindComponent(SoundComponent));
28 }
29
30 //------------------------------------------------------------------------------------------------
31 override void OnReactToDanger()
32 {
33 super.OnReactToDanger();
34
35 SoundEvent(SOUND_FLOCK_TAKEOFF_EVENT_NAME);
36 SetIsFlyingSignal(true);
37 }
38
39 //------------------------------------------------------------------------------------------------
40 override void OnTakeOff()
41 {
42 super.OnTakeOff();
43
44 SetIsFlyingSignal(true);
45 }
46
47 //------------------------------------------------------------------------------------------------
48 override void OnLanding()
49 {
50 super.OnLanding();
51
52 SoundEvent(SOUND_FLOCK_LAND_EVENT_NAME);
53 SetIsFlyingSignal(false);
54 }
55
56 //------------------------------------------------------------------------------------------------
57 private void SetIsFlyingSignal(bool isFlying)
58 {
59 if (m_signalComp)
60 m_signalComp.SetSignalValue(m_iFlyingSignalId, isFlying);
61 }
62
63 //------------------------------------------------------------------------------------------------
64 private void SoundEvent(string soundEvent)
65 {
66 if (m_soundComp)
67 m_soundComp.SoundEvent(soundEvent);
68 }
69}
override void OnTakeOff()
override void OnLanding()
void EOnInit(IEntity owner)
override void OnReactToDanger()