public AnimatorControllerParameter(AnimatorController controller, int paramIndex) { ValueConstant value = controller.Controller.Values.Instance.ValueArray[paramIndex]; Name = controller.TOS[value.ID]; Type = value.GetTypeValue(controller.File.Version); switch (Type) { case AnimatorControllerParameterType.Trigger: DefaultBool = controller.Controller.DefaultValues.Instance.BoolValues[value.Index]; break; case AnimatorControllerParameterType.Bool: DefaultBool = controller.Controller.DefaultValues.Instance.BoolValues[value.Index]; break; case AnimatorControllerParameterType.Int: DefaultInt = controller.Controller.DefaultValues.Instance.IntValues[value.Index]; break; case AnimatorControllerParameterType.Float: DefaultFloat = controller.Controller.DefaultValues.Instance.FloatValues[value.Index]; break; default: throw new NotSupportedException($"Parameter type '{Type}' isn't supported"); } DefaultController = new PPtr <AnimatorController>(controller); }