public static UCL_TweenerComponent Create(TC_Type iType) { UCL_TweenerComponent aTC = null; switch (iType) { case TC_Type.Move: { aTC = UCL_TC_Move.Create(); break; } case TC_Type.Rotate: { aTC = UCL_TC_Rotate.Create(); break; } case TC_Type.LookAt: { aTC = UCL_TC_LookAt.Create(); break; } case TC_Type.Curve: { aTC = UCL_TC_Curve.Create(); break; } case TC_Type.Action: { aTC = UCL_TC_Action.Create(); break; } case TC_Type.Shake: { aTC = UCL_TC_Shake.Create(); break; } case TC_Type.Scale: { aTC = UCL_TC_Scale.Create(); break; } case TC_Type.Jump: { aTC = UCL_TC_Jump.Create(); break; } case TC_Type.EulerRotation: { aTC = UCL_TC_EulerRotation.Create(); break; } case TC_Type.Color: { aTC = UCL_TC_Color.Create(); break; } case TC_Type.TweenerComponent: { aTC = new UCL_TweenerComponent(); break; } case TC_Type.RectTransform: { aTC = UCL_TC_RectTransform.Create(); break; } default: { string type_name = "UCL.TweenLib.UCL_TC_" + iType.ToString(); Type tc_type = Type.GetType(type_name); if (tc_type != null) { aTC = Activator.CreateInstance(tc_type) as UCL_TweenerComponent; } else { Debug.LogError("type_name:" + type_name + ", not exist!!"); } break; } } if (aTC == null) { aTC = new UCL_TweenerComponent(); } return(aTC); }
/// <summary> /// Create a TC_Jump /// </summary> /// <param name="iTarget">Move target</param> /// <param name="iTargetPosition">Target position that target will move to</param> /// <param name="iJumpTimes">Jump times</param> /// <param name="iUp">Up vector of jump , etc. (0,1,0)</param> /// <param name="iHeight">Initial Jump height</param> /// <param name="iBounciness">Height decade after each jump, if == 1 then the height stay the same each jump</param> /// <returns></returns> static public UCL_TC_Jump TC_Jump(this Transform iTarget, Vector3 iTargetPosition, int iJumpTimes, Vector3 iUp, float iHeight, float iBounciness) { return(UCL_TC_Jump.Create().Init(iTarget, iTargetPosition, iJumpTimes, iUp, iHeight, iBounciness)); }