4 [
Attribute(
desc:
"A list of Bio Lists that are specific for a gender (other then NEUTRAL). Each list needs a specific gender, never have two list holders with the same gender!",
category:
"Identities")]
19 if (!super.IsValidFaction(factionKey))
40 if (!super.IsValidFaction(factionIndex))
60 if (super.IsValidForRandomization(entity, extendedIdentity))
71 if (extendedCharacterIdentity)
91 array<int> foundIndexes;
93 return !foundIndexes.IsEmpty();
117 if (genderSpecificList.GetGender() == gender)
119 array<ref SCR_IdentityBio> identityBioList = {};
120 if (
index >= genderSpecificList.GetIdentityBioList(identityBioList))
123 return identityBioList[
index];
138 super.AssignRandomAvailableBio(randomizer, entity,
index, bio);
145 int random = randomizer.RandInt(0, count + genderSpecificCount);
182 array<ref SCR_IdentityBio> identityBioList = {};
186 if (specificBioList.GetGender() == gender)
188 specificBioList.GetIdentityBioList(identityBioList);
194 if (!identityBioList.IsIndexValid(
index))
197 bio = identityBioList[
index];
231 super.ResetAvailable();
248 gender = genderSpecificList.GetGender();
253 count = genderSpecificList.GetIdentityBioListCount();
255 for(
int i = 0; i < count; i++)
267 if (!characterExtendedIdentityComponent)
278 int genderSpecificEntryCount = 0;
285 genderSpecificEntryCount += genderSpecific.GetIdentityBioListCount();
301 int genderSpecificEntryCount = 0;
308 genderSpecificEntryCount += genderSpecific.GetIdentityBioListCount();
327 Print(
string.Format(
"'SCR_CharacterIdentityBioGroupConfig', CharacterIdentityBioGroup '%1' has a specific gender list for gender NEUTRAL! use the default list for gender neutral Bios!",
m_sBioGroupID),
LogLevel.ERROR);
333 if (genderSpecificList != genderCheck && genderSpecificList.GetGender() == genderCheck.GetGender())
335 Print(
string.Format(
"'SCR_CharacterIdentityBioGroupConfig', CharacterIdentityBioGroup '%1' has two (or more) gender specific lists for the same gender! This should never happen!",
m_sBioGroupID),
LogLevel.ERROR);
344class SCR_GenderSpecificIdentityBios
346 [
Attribute(
"1",
desc:
"Genders required for the bio's to be valid. For gender neutral use the default entity list (m_aIdentityList)", uiwidget:
UIWidgets.SearchComboBox, enumType:
SCR_EIdentityGender)]
349 [
Attribute(
desc:
"List of character bio's in group for a specific gender. If the bio group is chosen in the randomizer and the entity is the correct gender then these are added to the randomizer.")]
350 protected ref array<ref SCR_IdentityBio> m_aIdentityList;
355 return m_eSpecificGender;
359 int GetIdentityBioList(notnull array<ref SCR_IdentityBio> identityBioList)
361 identityBioList.Clear();
365 identityBioList.Insert(bio);
368 return identityBioList.Count();
372 int GetIdentityBioListCount()
374 return m_aIdentityList.Count();
ArmaReforgerScripted GetGame()
SCR_EIdentityCharacterControlType
SCR_CharacterIdentityBioGroupConfig SCR_IdentityBioGroupConfig SCR_BaseContainerCustomTitleEnum(SCR_EIdentityGender, "m_eSpecificGender")
SCR_ECharacterIdentityBioGroupType m_eIdentityGroupType
SCR_CharacterIdentityBioGroupConfig SCR_IdentityBioGroupConfig BaseContainerProps()
SCR_DestructionSynchronizationComponentClass ScriptComponentClass int index
SCR_ECharacterIdentityBioGroupType
class SCR_FactionHomeTerritoryConfig BaseContainerCustomDoubleTitleField("m_sID", "m_iWeight")
UI Textures DeployMenu Briefing conflict_HintBanner_1_UI desc
proto external Managed FindComponent(typename typeName)
override bool IsValidForRandomization(IEntity entity, SCR_ExtendedIdentityComponent extendedIdentity)
ref map< SCR_EIdentityGender, ref array< int > > m_mAvailableGenderSpecificBioIndexLists
void SCR_CharacterIdentityBioGroupConfig()
override bool IsValidFaction(int factionIndex)
override void ResetAvailable()
override bool IsValidFaction(string factionKey)
override SCR_IdentityBio GetIdentityBio(IEntity entity, int index)
ref array< ref SCR_GenderSpecificIdentityBios > m_aGenderSpecificIdentityLists
override void SetAdditionalWeight()
override void DelayedInit()
override void AssignRandomAvailableBio(RandomGenerator randomizer, IEntity entity, out int index, out SCR_IdentityBio bio)
SCR_EIdentityGender GetEntityGender(IEntity entity)
SCR_ECharacterIdentityBioGroupType m_eIdentityGroupType
ref map< SCR_EIdentityGender, ref array< int > > m_mUnavailableGenderSpecificBioIndexLists
override SCR_IdentityBio OnCharacterBioAssigned(IEntity entity, int index)
SCR_EIdentityCharacterControlType m_eCharacterControlTypes
SCR_EIdentityGender GetGender()
ref array< int > m_aAvailableIdentityBioIndexList
ref array< ref SCR_IdentityBio > m_aIdentityList
void SCR_IdentityBioGroupConfig()
float m_fEntryAmountWeightMulti
static const int MAX_IDENTITY_ENTRIES
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)
SCR_FieldOfViewSettings Attribute
proto external Faction GetFactionByIndex(int index)
FactionManagerClass GenericEntityClass GetFactionByKey(FactionKey factionKey)
proto native bool IsEmpty()