36 m_sToPosition = toPos;
46 protected ref array<ref SCR_TransferSuppliesInteraction>
m_Interactions =
new array<ref SCR_TransferSuppliesInteraction>();
47 protected static const string BASE =
"BASE";
96 if (SCR_HelicopterControllerComponent.Cast(vehicle.GetVehicleController()))
99 return typename.EnumToString(
EVehicleType, vehicle.m_eVehicleType);
112 if (areContainersOrphans || missingInventoryComponent)
127 string ownerPos = resource.GetOwner().GetOrigin().ToString();
128 IEntity resourceOwner = resource.GetOwner();
134 if (!playerController)
135 return utility.GetAIAgent().GetOrigin().ToString();
137 PlayerId transferingPlayerId = playerController.GetPlayerId();
139 IEntity playerEntity = SCR_PossessingManagerComponent.GetPlayerMainEntity(transferingPlayerId);
141 return playerEntity.
GetOrigin().ToString();
148 if (!
base.GetOwner())
151 return base.GetOwner().GetOrigin().ToString();
182 IEntity controlledEntity = playerController.GetControlledEntity();
183 if (!controlledEntity)
186 FactionAffiliationComponent factionAffiliation = FactionAffiliationComponent.Cast(controlledEntity.
FindComponent(FactionAffiliationComponent));
187 if (factionAffiliation)
188 return factionAffiliation.GetAffiliatedFaction().GetFactionKey();
210 PlayerId playerid = playerController.GetPlayerId();
218 return resourceComponent.GetOwner().GetRootParent().GetPrefabData().GetPrefabName();
224 AIGroup group = AIGroup.Cast(utility.GetAIAgent());
228 AIAgent leaderAgent = group.GetLeaderAgent();
236 CompartmentAccessComponent compartment = character.GetCompartmentAccessComponent();
240 return compartment.GetVehicleIn(character).GetPrefabData().GetPrefabName();
246 if(!isPlayer && resourceType ==
"SUPPLY_TRUCK")
255 OnTransferSupplies(interactionType, resourceComponentFrom, resourceComponentTo, resourceType, resourceValue, playerController, null);
261 OnTransferSupplies(interactionType, resourceComponentFrom, resourceComponentTo, resourceType, resourceValue, null, utility);
267 if (resourceValue <= 0)
272 Print(
"SCR_AnalyticsDataCollectionTransferSuppliesModule: interaction cap reached, dropping entry",
LogLevel.WARNING);
276 bool isPlayer = playerController;
291 fromPrefab =
SetPrefabName(isPlayer, fromType, resourceComponentFrom, utility);
307 toPrefab =
SetPrefabName(isPlayer, toType, resourceComponentTo, utility);
310 string tranferFactionName;
316 string characterName;
320 characterName =
"AI";
322 PrintFormat(
"SCR_AnalyticsDataCollectionTransferSuppliesModule: Transferring %1 supplies from %2 (%3) to %4 (%5) \n Faction is: %6 , and it is moved from %7 to %8", resourceValue, fromPrefab, fromType, toPrefab, toType, tranferFactionName, fromPos, toPos, level:
LogLevel.DEBUG);
327 protected string GetPrefabType(SCR_ResourceComponent resourceComponent,
bool isPlayer)
332 type =
"SUPPLY_TRUCK";
356 if (!sessionDataEvent)
359 sessionDataEvent.array_supplies_from_prefab =
"[";
360 sessionDataEvent.array_supplies_to_prefab =
"[";
361 sessionDataEvent.array_supplies_from_type =
"[";
362 sessionDataEvent.array_supplies_to_type =
"[";
363 sessionDataEvent.array_supplies_values =
"[";
364 sessionDataEvent.array_supplies_by_player =
"[";
365 sessionDataEvent.array_supplies_from_pos =
"[";
366 sessionDataEvent.array_supplies_to_pos =
"[";
367 sessionDataEvent.array_supplies_faction =
"[";
373 sessionDataEvent.array_supplies_from_prefab +=
",";
374 sessionDataEvent.array_supplies_to_prefab +=
",";
375 sessionDataEvent.array_supplies_from_type +=
",";
376 sessionDataEvent.array_supplies_to_type +=
",";
377 sessionDataEvent.array_supplies_values +=
",";
378 sessionDataEvent.array_supplies_by_player +=
",";
379 sessionDataEvent.array_supplies_from_pos +=
",";
380 sessionDataEvent.array_supplies_to_pos +=
",";
381 sessionDataEvent.array_supplies_faction +=
",";
384 sessionDataEvent.array_supplies_from_prefab +=
"\"" + interaction.m_sFromPrefab +
"\"";
385 sessionDataEvent.array_supplies_to_prefab +=
"\"" + interaction.m_sToPrefab +
"\"";
386 sessionDataEvent.array_supplies_from_type +=
"\"" + interaction.m_sFromType +
"\"";
387 sessionDataEvent.array_supplies_to_type +=
"\"" + interaction.m_sToType +
"\"";
388 sessionDataEvent.array_supplies_values +=
"\"" + interaction.m_fValue.ToString() +
"\"";
389 sessionDataEvent.array_supplies_by_player +=
"\"" + interaction.m_sPlayerId +
"\"";
390 sessionDataEvent.array_supplies_from_pos +=
"\"" + interaction.m_sFromPosition +
"\"";
391 sessionDataEvent.array_supplies_to_pos +=
"\"" + interaction.m_sToPosition +
"\"";
392 sessionDataEvent.array_supplies_faction +=
"\"" + interaction.m_sFaction +
"\"";
395 sessionDataEvent.array_supplies_from_prefab +=
"]";
396 sessionDataEvent.array_supplies_to_prefab +=
"]";
397 sessionDataEvent.array_supplies_from_type +=
"]";
398 sessionDataEvent.array_supplies_to_type +=
"]";
399 sessionDataEvent.array_supplies_values +=
"]";
400 sessionDataEvent.array_supplies_by_player +=
"]";
401 sessionDataEvent.array_supplies_from_pos +=
"]";
402 sessionDataEvent.array_supplies_to_pos +=
"]";
403 sessionDataEvent.array_supplies_faction +=
"]";
SCR_AIAnimation_Loitering BaseContainerProps
Commanding menu commanding element class.
enum SCR_EAICombatMoveRequestType CHARACTER
void SCR_TransferSuppliesInteraction(ResourceName from, ResourceName to, string fromType, string toType, float value, string fromPos, string toPos, string playerId, string faction)
string m_sToPosition string m_sPlayerId
enum SCR_EAnalyticalStorageType m_sFromPrefab
SCR_EAnalyticalStorageType
SCR_CampaignMilitaryBaseComponent GetMilitaryBase()
void SCR_GameModeCampaign(IEntitySource src, IEntity parent)
EResourceContainerStorageType
EResourcePlayerInteractionType
proto external Managed FindComponent(typename typeName)
proto external vector GetOrigin()
proto external IEntity GetRootParent()
SCR_SessionDataEvent GetSessionDataEvent()
bool DistinguishOrphanAndBase(SCR_ResourceComponent resourceComponent, IEntity parent)
override void SessionMeasures()
string GetMilitaryBasePosition(SCR_ResourceComponent resourceComponent)
ResourceName SetPrefabName(bool isPlayer, string resourceType, SCR_ResourceComponent resourceComponent, SCR_AIGroupUtilityComponent utility)
ResourceName GetPrefabNameFromAITruck(SCR_AIGroupUtilityComponent utility)
void OnTransferSupplies(EResourcePlayerInteractionType interactionType, SCR_ResourceComponent resourceComponentFrom, SCR_ResourceComponent resourceComponentTo, EResourceType resourceType, float resourceValue, PlayerController playerController, SCR_AIGroupUtilityComponent utility)
string GetDestinationPosition(string type, SCR_ResourceComponent resource, PlayerController playerController, SCR_AIGroupUtilityComponent utility)
static const int MAX_INTERACTIONS
string GetTransferingPlayerFaction(PlayerController playerController)
string GetTransferingAIFaction(SCR_AIGroupUtilityComponent utility)
void OnTransferSuppliesByAI(EResourcePlayerInteractionType interactionType, SCR_ResourceComponent resourceComponentFrom, SCR_ResourceComponent resourceComponentTo, EResourceType resourceType, float resourceValue, SCR_AIGroupUtilityComponent utility)
string GetTypeFromResourceComponent(SCR_ResourceComponent resourceComponent)
string GetCharacterUniqueId(notnull PlayerController playerController)
void OnTransferSuppliesByPlayer(EResourcePlayerInteractionType interactionType, SCR_ResourceComponent resourceComponentFrom, SCR_ResourceComponent resourceComponentTo, EResourceType resourceType, float resourceValue, PlayerController playerController)
ref array< ref SCR_TransferSuppliesInteraction > m_Interactions
override void OnGameModeEnd()
string GetPrefabType(SCR_ResourceComponent resourceComponent, bool isPlayer)
ResourceName GetPrefabName(SCR_ResourceComponent resourceComponent)
bool GetMilitaryBase(IEntity resourceOwner, out SCR_CampaignMilitaryBaseComponent outBase)
Created in SCR_GameModeCampaign.
SCR_CampaignMilitaryBaseComponent FindClosestBase(vector position, SCR_ECampaignBaseType searchedType=-1)
Takes care of Campaign-specific server <> client communication and requests.
static ScriptInvokerTransferSupplies GetOnTransferSupplies()
EResourceContainerStorageType GetStorageType()
enum EPhysicsLayerPresets Vehicle
proto void Print(void var, LogLevel level=LogLevel.NORMAL)
Prints content of variable to console/log.
LogLevel
Enum with severity of the logging message.
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)