public static float MaximumAttribute(string attributeName) { float max = 0; foreach (MinionIdentity identity in Components.MinionIdentities) { MinionModifiers modifiers = identity.GetComponent <MinionModifiers>(); if (modifiers == null) { continue; } Klei.AI.AttributeInstance attributeInstance = modifiers.attributes.AttributeTable.Where(p => p.Name == attributeName).FirstOrDefault(); if (attributeInstance == null) { continue; } float value = attributeInstance.GetTotalValue(); if (value > max) { max = value; } } return(max); }
public static int DuplicantsWithMorale(int morale) { int count = 0; foreach (MinionIdentity identity in Components.MinionIdentities) { //MinionModifiers modifiers = identity.GetComponent<MinionModifiers>(); //if (modifiers == null) //continue; Klei.AI.AttributeInstance attributeInstance = Db.Get().Attributes.QualityOfLife.Lookup((Component)identity.gameObject.GetComponent <MinionModifiers>()); if (attributeInstance == null) { continue; } float value = attributeInstance.GetTotalValue(); if (value >= morale) { count++; } } return(count); }