1[
EntityEditorProps(
category:
"GameScripted/GameMode", description:
"Spawn protection component for gamemode.", color:
"0 0 255 255")]
8 [
Attribute(defvalue:
"0.1",
desc:
"How long should be player protected?")]
9 protected float m_fProtectionTime;
11 [
Attribute(defvalue:
"1",
desc:
"Should be protection disabled if player shoots?")]
12 protected bool m_bDisableOnAttack;
15 protected bool m_bAllowPlayerSpawnpoints;
27 #ifdef _ENABLE_RESPAWN_LOGS
29 requestComponent.GetPlayerId(), entity);
35 if (!m_bAllowPlayerSpawnpoints)
41 if (SCR_PlayerRadioSpawnPoint.Cast(spawnData.
GetSpawnPoint()))
46 SCR_DamageManagerComponent damageManager = SCR_DamageManagerComponent.Cast(entity.
FindComponent(SCR_DamageManagerComponent));
50 #ifdef _ENABLE_RESPAWN_LOGS
52 requestComponent.GetPlayerId(), entity);
56 damageManager.EnableDamageHandling(
false);
59 if (m_bDisableOnAttack)
61 EventHandlerManagerComponent eventHandlerManager = EventHandlerManagerComponent.Cast(entity.
FindComponent(EventHandlerManagerComponent));
62 if (eventHandlerManager)
65 SCR_MeleeComponent meleeComp = SCR_MeleeComponent.Cast(entity.
FindComponent(SCR_MeleeComponent));
70 if (!m_mSpawnedCharacters)
71 m_mSpawnedCharacters =
new map<int, IEntity>();
73 m_mSpawnedCharacters.Set(requestComponent.GetPlayerId(), entity);
81 if (!m_mSpawnedCharacters || m_mSpawnedCharacters.IsEmpty())
84 IEntity character = m_mSpawnedCharacters.Get(playerId);
88 m_mSpawnedCharacters.Remove(playerId);
102 if (m_mSpawnedCharacters && !m_mSpawnedCharacters.IsEmpty())
103 m_mSpawnedCharacters.Remove(requestComponent.GetPlayerId());
121 IEntity weaponEntity = currentWeapon.GetOwner();
138 if (m_mSpawnedCharacters && !m_mSpawnedCharacters.IsEmpty())
140 int playerId =
GetGame().GetPlayerManager().GetPlayerIdFromControlledEntity(character);
141 m_mSpawnedCharacters.Remove(playerId);
144 SCR_DamageManagerComponent damageManager = character.GetDamageManager();
145 if (!damageManager || damageManager.IsDamageHandlingEnabled())
148 damageManager.EnableDamageHandling(
true);
150 #ifdef _ENABLE_RESPAWN_LOGS
152 GetGame().GetPlayerManager().GetPlayerIdFromControlledEntity(character), character);
155 if (!m_bDisableOnAttack)
158 EventHandlerManagerComponent eventHandlerManager = EventHandlerManagerComponent.Cast(character.FindComponent(EventHandlerManagerComponent));
159 if (eventHandlerManager)
ArmaReforgerScripted GetGame()
void SCR_BaseGameModeComponent(IEntityComponentSource src, IEntity ent, IEntity parent)
bool PreparePlayerEntity_S(SCR_SpawnRequestComponent requestComponent, SCR_SpawnHandlerComponent handlerComponent, SCR_SpawnData data, IEntity entity)
enum SCR_ECompassType EntityEditorProps(category:"GameScripted/Gadgets", description:"Compass", color:"0 0 255 255")
Prefab data class for compass component.
Get all prefabs that have the spawner data
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
override void OnSpawnPlayerEntityFailure_S(SCR_SpawnRequestComponent requestComponent, SCR_SpawnHandlerComponent handlerComponent, IEntity entity, SCR_SpawnData data, SCR_ESpawnResult reason)
override void OnPlayerSpawnFinalize_S(SCR_SpawnRequestComponent requestComponent, SCR_SpawnHandlerComponent handlerComponent, SCR_SpawnData data, IEntity entity)
void DisablePlayerProtection(IEntity playerEntity)
void OnPlayerAmmoChangeCallback(BaseWeaponComponent currentWeapon, BaseMuzzleComponent currentMuzzle, BaseMagazineComponent magazine, int ammoCount, bool isChambered)
proto external Managed FindComponent(typename typeName)
proto external IEntity GetParent()
OnMeleePerformedInvoker GetOnMeleePerformed()
SCR_SpawnPoint GetSpawnPoint()
proto void PrintFormat(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, LogLevel level=LogLevel.NORMAL)
SCR_FieldOfViewSettings Attribute
override void OnPlayerDisconnected(int playerId, KickCauseCode cause, int timeout)
proto external string ToString()
Plain C++ pointer, no weak pointers, no memory management.