Exemple #1
0
        //convention parameters : 0[targetValue] / 1[duration]
        public override ITweenJob TweenTo <T>(T targetInstance, JObType job, params object[] parameters)
        {
            currentJobType = job;
            _transform     = targetInstance as Transform;
            if (selectedEase == null)
            {
                selectedEase = Easing.GetEase(EaseType.Linear);
            }

            switch (currentJobType)
            {
            case JObType.Position:      jobAction = () => SetupTweenPosition((Vector3)parameters[0]);         break;

            case JObType.Scale:         jobAction = () => SetupTweenScale((Vector3)parameters[0]);            break;

            case JObType.Rotation:      jobAction = () => SetupTweenRotation((Vector3)parameters[0]);         break;

            case JObType.LocalPosition: jobAction = () => SetupTweenLocalPosition((Vector3)parameters[0]);    break;

            case JObType.LocalRotation: jobAction = () => SetupTweenLocalRotation((Vector3)parameters[0]);    break;

            default: ThrowInvalidJobType();                                                                    break;
            }

            duration = (float)parameters[1];
            return(this);
        }
        public static ITweenJob Tween <T>(T targetReference, JObType job, params object[] parameters)
        {
            if (Instance == null)
            {
                Debug.Log($"TJS Created !");
            }
            var tweenJob = GetTweenJob <T>();

            tweenJob.TweenTo <T>(targetReference, job, parameters);
            return(tweenJob);
        }
        public override ITweenJob TweenTo <T>(T targetInstance, JObType job, params object[] parameters)
        {
            currentJobType = job;
            _canvasGroup   = targetInstance as CanvasGroup;
            if (selectedEase == null)
            {
                selectedEase = Easing.GetEase(EaseType.Linear);
            }

            switch (currentJobType) //setup
            {
            case JObType.Opacity:     jobAction = () => SetupTweenOpacity((float)parameters[0]);     break;

            default: ThrowInvalidJobType();                                                           break;
            }
            duration = (float)parameters[1];
            return(this);
        }
        //-convention parameters : 0[targetValue] / 1[propertyName] / 2[Duration]

        public override ITweenJob TweenTo <T>(T targetInstance, JObType job, params object[] parameters)
        {
            currentJobType = job;
            _material      = targetInstance as Material;
            if (selectedEase == null)
            {
                selectedEase = Easing.GetEase(EaseType.Linear);
            }

            _propertyName = (string)parameters[1];  //assign property name
            switch (currentJobType)
            {
            case JObType.Offset:   jobAction = () => SetupTweenOffset((Vector2)parameters[0]); break;

            case JObType.Color:    jobAction = () => SetupTweenColor((Color)parameters[0]);    break;

            case JObType.Opacity:  jobAction = () => SetupTweenOpacity((float)parameters[0]);  break;

            default: ThrowInvalidJobType();                                                     break;
            }
            duration = (float)parameters[2];
            return(this);
        }