private bool parseProperty(string type, string intensity, out MovementWithProperty parsedProperty) { object parsedEnum; float parsedFloat; bool successfulEnumParse = EnumUtils.TryParse(typeof(PropertyEnum), type, out parsedEnum); bool successfulFloatParse = float.TryParse(intensity, out parsedFloat); if (successfulEnumParse && successfulFloatParse) { parsedProperty = new MovementWithProperty((PropertyEnum)parsedEnum, parsedFloat); return(true); } else { if (!successfulEnumParse) { Debug.Log(String.Format("{0} is not a reconizable movement property.", type)); } else { Debug.Log(String.Format("{0} could not be parsed as a float.", intensity)); } parsedProperty = null; return(false); } }
public void setParameter(Tutor tutor, MovementWithProperty movement) { object paramEnum; string parameterString = string.Concat(getFirstMovementString(movement), "_", getSecondMovementString(movement)); if (EnumUtils.TryParse(typeof(AnimatorParams), parameterString, out paramEnum)) { avatarManager.setParameter(tutor.Name, (AnimatorParams)paramEnum, movement.Value); } if (EnumUtils.TryParse(typeof(ControllerParams), parameterString, out paramEnum)) { avatarManager.setParameter(tutor.Name, (ControllerParams)paramEnum, movement.Value); } }
// Auxiliary Methods private string getSecondMovementString(MovementWithProperty movement) { return(movement.Property.ToString().ToUpperInvariant()); }