12 RegisterNetSyncVariableBool(
"m_IsActive");
42 g_Game.RegisterNetworkStaticObject(
this);
52 string memPointStartName =
string.Format(
"%1_action", doorInfo.
m_DoorType);
53 string memPointEndName =
string.Format(
"%1_inside", doorInfo.
m_DoorType);
55 bool insideAndInactive = MiscGameplayFunctions.MemPointDirectionalCheck(
PlayerBase.Cast(params.m_Caller),
this, memPointStartName, memPointEndName) && super.CanDoorBeOpened(params);
58 return insideAndInactive || outside;
61 return super.CanDoorBeOpened(params);
119 CloseDoor(doorIndex);
136 codeLock.SetLockCode(codeLockCode);
137 codeLock.SetLockState(
true);
146 codeLock.SetLockState(
false);
153 #ifdef DIAG_DEVELOPER
156 string text = super.GetDebugText();
170class BroadcastedBunker :
Bunker
185 super.DeferredInit();
195 EntityAI attachment = GetInventory().FindAttachment(slotId);
198 m_CodeLock = DigitalCodeLock_Bunker.Cast(attachment);
204 m_CodeLock = DigitalCodeLock_Bunker.Cast(GetInventory().CreateAttachmentEx(
"DigitalCodeLock_Bunker", slotId));
220 m_CodeLock = DigitalCodeLock_Bunker.Cast(GetInventory().FindAttachment(slotId));
235 super.OnBunkerActivated(loadedAsActive, codeLockCode);
245 super.OnBunkerDeactivated();
282 g_Game.GetObjectsAtPosition3D(spawnPosWorld, 1.5, objects, proxyCargos);
284 float bestDist = 999999;
287 foreach (
Object obj : objects)
291 float dist =
vector.
Distance(spawnPosWorld, obj.GetWorldPosition());
311 vector positionWorld = ModelToWorld(positionModel);
316 vector directionModel = GetMemoryPointPos(
"storagecratedir");
317 vector directionWorld = ModelToWorld(directionModel);
332class Land_Bunker_Basement_Storage : BroadcastedBunker {}
333class Land_Bunker_Basement_Medical : BroadcastedBunker {}
334class Land_Bunker_Shelter_Office : BroadcastedBunker {}
335class Land_Bunker_Shelter_Storage : BroadcastedBunker {}
336class Land_Bunker_Shelter_Medical : BroadcastedBunker {}
Param1< int > DoorStartParams
const string STORAGE_BOX_CLASSNAME
const string CODE_LOCK_ATTACHMENT_NAME
ms between client retries while waiting for the codelock attachment to replicate
const string CRATE_SPAWN_POSITION_MEM_NAME
EntityAI SpawnStorageBox()
EntityAI FindExistingStorageBox()
EntityAI FindOrSpawnStorageBox(bool preferExisting)
Bunker RESOLVE_CODELOCK_RETRY_DELAY
void OnBunkerDeactivated()
override DigitalCodeLock_Bunker GetCodeLock()
void OnBunkerActivated(bool loadedAsActive, string codeLockCode)
const int ECE_EQUIP_CARGO
const int ECE_UPDATEPATHGRAPH
const int ECE_CREATEPHYSICS
void CodeLockComponent(notnull EntityAI parent, int minLockPinLength=MIN_LOCK_PIN_LENGTH)
void CodeLockVisualManager(DigitalCodeLock codeLock, CodeLockComponent component)
enum CodeLockLightState m_CodeLock
override bool IsInitialized()
override void DeferredInit()
void AutoCloseDoor(int doorIndex)
void OnBunkerDeactivated()
int GetMainDoorIndex()
adapt this to your lockable doors (model specific)
override bool CanDoorBeLocked(int doorIndex)
DigitalCodeLock_Bunker GetCodeLock()
override void OnDoorCloseStart(DoorStartParams params)
override bool CanDoorBeOpened(notnull DoorManipulationParams params)
ref map< int, ref Timer > m_AutoCloseTimers
const float DOOR_AUTOCLOSE_TIME
void SetActive(bool isActive)
DigitalCodeLock_Bunker m_CodeLock
override void OnDoorOpenStart(DoorStartParams params)
override void DeferredInit()
void OnBunkerActivated(bool loadedAsActive, string codeLockCode)
void RemoveDoorTimer(int doorIndex)
bool IsMainDoor(int doorIndex)
CodeLockComponent GetCodeLockComponent()
static proto native int GetSlotIdFromString(string slot_name)
converts string to slot_id
provides access to slot configuration
Result for an object found in CGame.IsBoxCollidingGeometryProxy.
static vector Direction(vector p1, vector p2)
Returns direction vector from point p1 to point p2.
static proto native float Distance(vector v1, vector v2)
Returns the distance between tips of two 3D vectors.
proto native vector Vector(float x, float y, float z)
Vector constructor from components.
static proto float Atan2(float y, float x)
Returns angle in radians from tangent.
static const float RAD2DEG
static proto string Format(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)
Gets n-th character from string.