// Returns true is the groups match directly OR in the group overrides. private bool InGroup(Muscle.Group group1, Muscle.Group group2) { if (group1 == group2) { return(true); } foreach (MusclePropsGroup musclePropsGroup in groupOverrides) { foreach (Muscle.Group g in musclePropsGroup.groups) { if (g == group1) { foreach (Muscle.Group g2 in musclePropsGroup.groups) { if (g2 == group2) { return(true); } } } } } return(false); }
protected bool MusclesContainsGroup(Muscle.Group group) { foreach (Muscle m in puppetMaster.muscles) { if (m.props.group == group) { return(true); } } return(false); }
protected void RemoveMusclesOfGroup(Muscle.Group group) { while (MusclesContainsGroup(group)) { for (int i = 0; i < puppetMaster.muscles.Length; i++) { if (puppetMaster.muscles[i].props.group == group) { puppetMaster.RemoveMuscleRecursive(puppetMaster.muscles[i].joint, true); break; } } } }
private FallParams GetFallParams(Muscle.Group group) { foreach (FallParamsGroup g in groupOverrides) { foreach (Muscle.Group muscleGroup in g.groups) { if (muscleGroup == group) { return(g.fallParams); } } } return(defaults); }
// Returns the MusclePropsGroup of the specified muscle group. private MuscleProps GetProps(Muscle.Group group) { foreach (MusclePropsGroup g in groupOverrides) { foreach (Muscle.Group group2 in g.groups) { if (group2 == group) { return(g.props); } } } return(defaults); }
/// <summary> /// Sets the muscle weights for all muscles in the specified group. /// </summary> public void SetMuscleWeights(Muscle.Group group, float muscleWeight, float pinWeight = 1f, float mappingWeight = 1f, float muscleDamper = 1f) { if (!CheckIfInitiated()) { return; } foreach (Muscle m in muscles) { if (m.props.group == group) { m.props.muscleWeight = muscleWeight; m.props.pinWeight = pinWeight; m.props.mappingWeight = mappingWeight; m.props.muscleDamper = muscleDamper; } } }