51 GetGame().SpawnEntityPrefabLocal(res, world);
65 return previewedEntity;
67 SCR_ArsenalManagerComponent arsenalManager;
68 if (!SCR_ArsenalManagerComponent.GetArsenalManager(arsenalManager))
69 return previewedEntity;
73 return previewedEntity;
77 EquipedLoadoutStorageComponent loadoutStorage = EquipedLoadoutStorageComponent.Cast(previewedEntity.
FindComponent(EquipedLoadoutStorageComponent));
80 for (
int i = 0; i <
loadoutData.Clothings.Count(); ++i)
94 slot.AttachEntity(cloth);
102 for (
int i = 0, weaponsCount =
loadoutData.Weapons.Count(); i < weaponsCount; ++i)
116 slot.AttachEntity(weapon);
119 activeWeaponEntity = weapon;
121 const int attachmentsCount =
loadoutData.Weapons[i].Attachments.Count();
122 WeaponAttachmentsStorageComponent attachmentsStorage = WeaponAttachmentsStorageComponent.Cast(weapon.
FindComponent(WeaponAttachmentsStorageComponent));
123 if (!attachmentsStorage || attachmentsStorage.GetSlotsCount() != attachmentsCount)
128 for (
int nAttachment = 0; nAttachment < attachmentsCount; ++nAttachment)
130 slot = attachmentsStorage.GetSlot(nAttachment);
131 attachment = slot.GetAttachedEntity();
133 prefab =
loadoutData.Weapons[i].Attachments[nAttachment];
134 if (current == prefab)
144 attachment =
GetGame().SpawnEntityPrefabLocal(resource, previewedEntity.
GetWorld());
148 slot.AttachEntity(attachment);
153 BaseWeaponManagerComponent weaponManager = BaseWeaponManagerComponent.Cast(previewedEntity.
FindComponent(BaseWeaponManagerComponent));
156 array<WeaponSlotComponent> outSlots = {};
157 weaponManager.GetWeaponsSlots(outSlots);
160 if (weaponSlot.GetWeaponEntity() == activeWeaponEntity)
162 weaponManager.SelectWeapon(weaponSlot);
169 return previewedEntity;