14class Land_Underground_Panel:
House
17 static ref set<Land_Underground_Panel> m_Panels;
40 RegisterNetSyncVariableBool(
"m_PanelWasUsed");
48 UnregisterPanel(
this);
66 GetGame().RegisterNetworkStaticObject(
this);
69 m_PanelWasUsed =
true;
74 ErrorEx(
"Can't find the instance of entrance the panel is linkined to");
82 m_Entrances =
new set<Land_Underground_EntranceBase>();
98 ErrorEx(
"Attempted to unregistered non-registered entrance");
103 static void RegisterPanel(Land_Underground_Panel panel)
107 m_Panels =
new set<Land_Underground_Panel>;
109 m_Panels.Insert(panel);
112 static void UnregisterPanel(Land_Underground_Panel panel)
116 int index = m_Panels.Find(panel);
119 m_Panels.Remove(index);
123 ErrorEx(
"Attempted to unregistered non-registered panel");
147 float closestDst =
float.MAX;
153 float dist =
vector.DistanceSq(thisPos, obj.GetPosition());
154 if (dist < closestDst)
167 if (color == ELEDColors.RED)
266 m_PanelWasUsed =
false;
274 case EUndegroundDoorType.MAIN:
303 case EUndegroundDoorType.SMALL:
331 protected void UpdateLED(
string selection,
string color)
333 int selectionIdx = GetHiddenSelectionIndex(selection);
334 SetObjectTexture(selectionIdx, color);
346 PlaySoundSet(
m_ActivationSound,
"UndergroundDoor_PanelActivation_SoundSet", 0, 0 );
Wrapper class for managing sound through SEffectManager.
override void OnVariablesSynchronized()
proto native CGame GetGame()
class JsonUndergroundAreaTriggerData GetPosition
const string SELECTION_NAME_LED_RED
void ~Land_Underground_Panel()
const string COLOR_LED_OFF
void Land_Underground_Panel()
void OnPanelUsedSynchronized()
EUndegroundDoorType GetLinkedDoorType()
void OnDoorStateChangedClient(EUndegroundEntranceState newState, EUndegroundEntranceState prevState)
const string SELECTION_NAME_LED_GREEN
const string COLOR_LED_GREEN
void SetBlinkingTimer(bool enable)
bool m_PanelWasUsed bool m_PanelWasUsedPrev
enum ELEDState m_Entrances
void UpdateLED(string selection, string color)
ELEDState m_LedStateGreen
EffectSound m_ActivationSound
Land_Underground_EntranceBase m_LinkedDoor
Land_Underground_EntranceBase GetClosestDoor()
void SetLEDState(ELEDColors color, ELEDState state)
Land_Underground_EntranceBase GetLinkedDoor()
const string COLOR_LED_RED
ref Timer m_FlipFlopTimer