Arma Reforger Explorer 1.7.0.54
Arma Reforger Code Explorer by Zeroy - Thanks to MisterOutofTime
Loading...
Searching...
No Matches
SCR_Tutorial_Intro_GearUp.c
Go to the documentation of this file.
1[EntityEditorProps(insertable: false)]
5
6//------------------------------------------------------------------------------------------------
8{
9 protected bool m_bItemA;
10 protected bool m_bItemB;
11 protected SCR_BaseTriggerEntity m_Trigger;
12
13 //------------------------------------------------------------------------------------------------
14 override protected void Setup()
15 {
16 SCR_Waypoint gearWP;
17
18 if (m_TutorialComponent.IsEntityInPlayerInventory("intro_binoculars"))
19 {
20 m_bItemA = true;
21 }
22 else
23 {
24 gearWP = RegisterWaypoint("intro_binoculars", "", "PICKUP");
25 }
26
27 if (m_TutorialComponent.IsEntityInPlayerInventory("intro_gloves"))
28 {
29 m_bItemB = true;
30 }
31 else
32 {
33 gearWP = RegisterWaypoint("intro_gloves", "", "PICKUP");
34 }
35
36 SCR_InventoryStorageManagerComponent storageManComp = SCR_InventoryStorageManagerComponent.Cast(m_Player.FindComponent(SCR_InventoryStorageManagerComponent));
37
38 if (storageManComp)
39 {
40 storageManComp.m_OnItemAddedInvoker.Remove(OnItemAdded);
41 storageManComp.m_OnItemAddedInvoker.Insert(OnItemAdded);
42 }
43
44 m_Trigger = SCR_BaseTriggerEntity.Cast(GetGame().GetWorld().FindEntityByName("INTRO_FALLTHROUGH_TRIGGER"));
45 if (!m_Trigger)
46 return;
47
48 m_Trigger.GetOnActivate().Insert(OnStageFinished);
49 m_Trigger.EnablePeriodicQueries(true);
50 }
51
52
53 //------------------------------------------------------------------------------------------------
54 override protected void OnStageFinished()
55 {
56 m_Trigger.GetOnActivate().Remove(OnStageFinished);
57 m_Trigger.EnablePeriodicQueries(false);
58 super.OnStageFinished();
59 }
60
61 //------------------------------------------------------------------------------------------------
62 override protected bool GetIsFinished()
63 {
64 if (m_bItemA && m_bItemB)
65 return true;
66
67 return false;
68 }
69
70 //------------------------------------------------------------------------------------------------
71 protected bool OnItemAdded(IEntity item, BaseInventoryStorageComponent storageComponent)
72 {
73 if (item.GetName() == "intro_binoculars")
74 {
75 m_bItemA = true;
76 UnregisterWaypoint("intro_binoculars");
77 }
78 else if (item.GetName() == "intro_gloves")
79 {
80 m_bItemB = true;
81 UnregisterWaypoint("intro_gloves");
82 }
83
84 return true;
85 }
86}
ArmaReforgerScripted GetGame()
Definition game.c:1398
enum SCR_ECompassType EntityEditorProps(category:"GameScripted/Gadgets", description:"Compass", color:"0 0 255 255")
Prefab data class for compass component.
void IEntity(IEntitySource src, IEntity parent)
protected script Constructor
proto external BaseWorld GetWorld()
proto external string GetName()
void UnregisterWaypoint(IEntity waypointEntity)
SCR_TutorialGamemodeComponent m_TutorialComponent
SCR_Waypoint RegisterWaypoint(string entityName, string title=string.Empty, string icon="MISC")
bool OnItemAdded(IEntity item, BaseInventoryStorageComponent storageComponent)