Exemple #1
0
    sealed public override void update(float deltaTime)
    {
        if (_delay >= 0)
        {
            _delay -= deltaTime;
            if (_delay < 0)
            {
                progressTime += (-_delay);
            }
            return;
        }

        progressTime += deltaTime;

        if (progressTime >= time)
        {
            //_cam.transform.rotation = _targetRot;
            _cam.transform.rotation = Quaternion.Slerp(fromRot, _targetRot, 1.0f);
            isComplete = true;
            doComplete();
        }
        else
        {
            timeStep = progressTime / time;
            if (useEasing)
            {
                timeStep = MiniTweenEasingType.getEasingValue(timeStep, easingMethod, easingStyle);
            }
            _cam.transform.rotation = Quaternion.Slerp(fromRot, _targetRot, timeStep);
        }
    }
Exemple #2
0
    public void init(Camera cam, Vector3 targetRot, float duration, string easingType, float delay = 0.0f, System.Delegate callback = null, params object[] args)
    {
        time    = duration;
        _cam    = cam;
        fromRot = _cam.transform.rotation;

        Quaternion q = cam.transform.rotation;

        q.eulerAngles = targetRot;
        _targetRot    = q;
        isComplete    = false;
        progressTime  = 0.0f;

        _method     = callback;
        _delay      = delay;
        _parameters = args;

        if (string.IsNullOrEmpty(easingType) == false)
        {
            useEasing = true;
            string[] e = easingType.Split(',');
            easingStyle  = MiniTweenEasingType.getEasingType(e[1]);
            easingMethod = e[0];
        }
    }
Exemple #3
0
    public void init(Transform tf, Vector3 targetPos, float duration, string easingType, float delay = 0.0f, System.Delegate callback = null, params object[] args)
    {
        time    = duration;
        _target = tf;

        _fromPos = tf.localPosition;
        _toPos   = targetPos;

        isComplete   = false;
        progressTime = 0.0f;
        //_speedX = (_toPos.x - _fromPos.x) / duration ;
        //_speedY = (_toPos.y - _fromPos.y) / duration ;
        //_speedZ = (_toPos.z - _fromPos.z) / duration ;

        _method     = callback;
        _delay      = delay;
        _parameters = args;

        if (string.IsNullOrEmpty(easingType) == false)
        {
            useEasing = true;
            string[] e = easingType.Split(',');
            easingStyle  = MiniTweenEasingType.getEasingType(e[1]);
            easingMethod = e[0];
        }
    }
Exemple #4
0
    sealed public override void update(float deltaTime)
    {
        if (_delay >= 0)
        {
            _delay -= deltaTime;
            if (_delay < 0)
            {
                progressTime += (-_delay);
            }
            return;
        }

        progressTime += deltaTime;

        if (progressTime >= time)
        {
            _cam.fieldOfView = to;
            isComplete       = true;
            doComplete();
        }
        else
        {
            //_cam.fieldOfView += _speedX * deltaTime;
            float timeStep = progressTime / time;
            if (useEasing)
            {
                timeStep = MiniTweenEasingType.getEasingValue(timeStep, easingMethod, easingStyle);
            }
            _cam.fieldOfView = Mathf.Lerp(fromValue, to, timeStep);
        }
    }
Exemple #5
0
    sealed public override void update(float deltaTime)
    {
        if (_delay >= 0)
        {
            _delay -= deltaTime;
            if (_delay < 0)
            {
                progressTime += (-_delay);
            }
            return;
        }

        progressTime += deltaTime;

        _v = _target.localPosition;
        //_v.x += _speedX * deltaTime;
        //_v.y += _speedY * deltaTime;
        //_v.z += _speedZ * deltaTime;

        if (progressTime >= time)
        {
            _target.localPosition = _toPos + GameManager.me.uiManager.uiPlay.getPlayerSkillEffectCamRuntimeOffsetPosition();

            if (UIPlay.nowSkillEffectCamStatus == UIPlay.SKILL_EFFECT_CAM_STATUS.Close)
            {
                GameManager.me.uiManager.uiPlay.gameCameraContainer.position = Vector3.Lerp(GameManager.me.uiManager.uiPlay.gameCameraContainer.position, GameManager.me.uiManager.uiPlay.cameraTarget.position, 0.9f);
            }

            isComplete = true;
            doComplete();
        }
        else
        {
            timeStep = progressTime / time;
            if (useEasing)
            {
                timeStep = MiniTweenEasingType.getEasingValue(timeStep, easingMethod, easingStyle);
            }
            _target.localPosition = Vector3.Lerp(_fromPos, _toPos, timeStep) + GameManager.me.uiManager.uiPlay.getPlayerSkillEffectCamRuntimeOffsetPosition();           //_v;

            if (UIPlay.nowSkillEffectCamStatus == UIPlay.SKILL_EFFECT_CAM_STATUS.Close)
            {
                GameManager.me.uiManager.uiPlay.gameCameraContainer.position = Vector3.Lerp(GameManager.me.uiManager.uiPlay.gameCameraContainer.position, GameManager.me.uiManager.uiPlay.cameraTarget.position, (timeStep > 0.7f)?timeStep * 0.9f:timeStep);
            }

//			float step = progressTime/time;
//			step = Easing.EaseInOut(step,EasingType.Quadratic);
//			_target.localPosition = Vector3.Lerp(_fromPos,_toPos,step);//_v;
        }
    }
Exemple #6
0
 public bool update(float delta, Monster mon)
 {
     progressTime += delta;
     if (progressTime >= motionTime)
     {
         isEnabled = false;
         mon.setColor(_targetColor);
         return(false);
     }
     else
     {
         _timeStep = progressTime / motionTime;
         if (_useEasing)
         {
             _timeStep = MiniTweenEasingType.getEasingValue(_timeStep, _easingMethod, _easingStyle);
         }
         mon.setColor(Util.colorLerp(_startColor, _targetColor, _timeStep));
         return(true);
     }
 }
Exemple #7
0
 public bool update(float delta, Monster mon)
 {
     progressTime += delta;
     if (progressTime >= motionTime)
     {
         isEnabled = false;
         mon.setPositionCtransform(_targetPos);
         return(false);
     }
     else
     {
         _timeStep = progressTime / motionTime;
         if (_useEasing)
         {
             _timeStep = MiniTweenEasingType.getEasingValue(_timeStep, _easingMethod, _easingStyle);
         }
         mon.setPositionCtransform(Vector3.Lerp(_startPos, _targetPos, _timeStep));
         return(true);
     }
 }
    void LateUpdate()
    {
        if (GameManager.renderSkipFrame == false)
        {
            _doRenderSkipFrame = _needPositionRender;
        }

        if (_needPositionRender)
        {
            tf.position = targetPosition * GameManager.renderRatio + prevTransformPosition * (1.0f - GameManager.renderRatio);
            //prevPos = tf.position;
            //tf.position = VectorUtil.lerp(tf.position, targetPosition, GameManager.renderDeltaTime);
        }
        else if (GameManager.renderSkipFrame && _doRenderSkipFrame)
        {
            tf.position = targetPosition * GameManager.renderRatio + prevTransformPosition * (1.0f - GameManager.renderRatio);
            //tf.position = VectorUtil.lerp(prevPos, targetPosition, GameManager.renderDeltaTime);
        }
        _needPositionRender = false;


        if (_isDecreaseSpinningSpeedType)
        {
            _progressTime += Time.smoothDeltaTime;

            if (rotater == null)
            {
                return;
            }

            float s = (200.0f - (200.0f * MiniTweenEasingType.getEasingValue(_progressTime / _decreaseSpinningDuration, MiniTweenEasingType.EaseIn, EasingType.Cubic))) * 0.95f;
            if (s < 1.0f)
            {
                rotater.speed = 0.0f;
            }
            else
            {
                rotater.speed = s;
            }
        }
    }
Exemple #9
0
    public void init(Camera cam, float targetFov, float duration, string easingType, float delay = 0.0f, System.Delegate callback = null, params object[] args)
    {
        time         = duration;
        _cam         = cam;
        fromValue    = _cam.fieldOfView;
        to           = targetFov;
        isComplete   = false;
        progressTime = 0.0f;
        _speedX      = (to - fromValue) / duration;
        _method      = callback;
        _delay       = delay;
        _parameters  = args;

        if (string.IsNullOrEmpty(easingType) == false)
        {
            useEasing = true;
            string[] e = easingType.Split(',');
            easingStyle  = MiniTweenEasingType.getEasingType(e[1]);
            easingMethod = e[0];
        }
    }
Exemple #10
0
    public void update(float delta, Transform target)
    {
        progressTime += delta;
        if (progressTime >= motionTime)
        {
            isEnabled = false;
            _v.x      = _targetScale;
        }
        else
        {
            _timeStep = progressTime / motionTime;
            if (_useEasing)
            {
                _timeStep = MiniTweenEasingType.getEasingValue(_timeStep, _easingMethod, _easingStyle);
            }
            _v.x = Mathf.Lerp(_startScale, _targetScale, _timeStep);
        }

        _v.y = _v.x; _v.z = _v.x;

        target.localScale = _v;
    }
Exemple #11
0
    sealed public override void update(float deltaTime)
    {
        if (_delay >= 0)
        {
            _delay -= deltaTime;
            if (_delay < 0)
            {
                progressTime += (-_delay);
            }
            return;
        }

        progressTime += deltaTime;

        _v = _target.localPosition;

        if (progressTime >= time)
        {
            _target.localPosition = _toPos;
            isComplete            = true;
            doComplete();
        }
        else
        {
            timeStep = progressTime / time;
            if (useEasing)
            {
                timeStep = MiniTweenEasingType.getEasingValue(timeStep, easingMethod, easingStyle);
            }
            _target.localPosition = Vector3.Lerp(_fromPos, _toPos, timeStep);           //_v;

            //			float step = progressTime/time;
            //			step = Easing.EaseInOut(step,EasingType.Quadratic);
            //			_target.localPosition = Vector3.Lerp(_fromPos,_toPos,step);//_v;
        }
    }
    public void start(Vector3 targetStartPos,      // 속성1> 기준점좌표 [x,y,z(/x,y,z)] : 기준점 시작좌표 / 기준점 끝좌표(생략가능)
                      Vector3 targetEndPos,
                      bool useTargetEndPos,

                      Vector3 targetStartScreenPos,      // 속성2> 화면좌표A [x,y(/x,y)] : 기준점을 위치시킬 화면좌표(시작) / 기준점을 위치시킬 화면좌표(끝)
                      Vector3 targetEndScreenPos,
                      bool useTargetEndScreenPos,

                      float duration,              // 속성3> 카메라이동시간 (sec) : 설정된 시간동안 카메라 이동

                      int finalCamYpos,            //속성4> 최종카메라 높이(y)값 : 현재 높이값에서 설정된 높이값으로 변경 (0 세팅시 높이 변화 없음)
                      float distanceTweeningValue, //속성5> 기준점과의 거리변경(%) : 기준점과의 현재거리 대비 N%만큼 거리를 줄이거나 늘림 (y축은 무시, x,z 값만 가지고 기준점과의 거리를 계산)
                      int rotValue,                //속성6> 회전각도 : 오른쪽 (or 왼쪽) 이동시 양수 / 반대쪽 이동은 음수로 지정 (예 : -540 세팅시 왼쪽으로 한바퀴반 돌기)
                      string easingType)           // 속성7> 가속도 : CAM_MOVE 와 동일
    {
        isEnabled = true;


        if (UIPlay.nowSkillEffectCamStatus == UIPlay.SKILL_EFFECT_CAM_STATUS.Play)
        {
            targetStartPos += GameManager.me.uiManager.uiPlay.getUnitSkillCamOffsetPosition() + GameManager.me.uiManager.uiPlay.gameCameraContainer.position;
            targetEndPos   += GameManager.me.uiManager.uiPlay.getUnitSkillCamOffsetPosition() + GameManager.me.uiManager.uiPlay.gameCameraContainer.position;
        }

        UIPlay.isFollowPlayerWhenSkillEffectCamIdle = false;


        _targetStartPos  = targetStartPos;
        _targetEndPos    = targetEndPos;
        _useTargetEndPos = useTargetEndPos;

        _targetStartScreenPos  = targetStartScreenPos;
        _targetEndScreenPos    = targetEndScreenPos;
        _useTargetEndScreenPos = useTargetEndScreenPos;


        if (targetStartScreenPos.z < 0)
        {
            _targetStartScreenPos = GameManager.me.gameCamera.WorldToScreenPoint(_targetStartPos);
            _targetStartScreenPos = Util.screenPositionWithCamViewRect(_targetStartScreenPos);
        }


        _v = GameManager.me.uiManager.uiPlay.gameCameraPosContainer.localPosition;

        if (UIPlay.nowSkillEffectCamStatus == UIPlay.SKILL_EFFECT_CAM_STATUS.Play)
        {
            _v += GameManager.me.uiManager.uiPlay.gameCameraContainer.position;
        }

        _startAngle = Util.getFloatAngleBetweenXZ(_v, targetStartPos);
        _startDist  = VectorUtil.DistanceXZ(_v, targetStartPos);


        csCamOffset.x = (GameManager.screenSize.x * 0.5f - _targetStartScreenPos.x) / GameManager.screenSize.x;
        csCamOffset.y = (GameManager.screenSize.y * 0.5f - _targetStartScreenPos.y) / GameManager.screenSize.y;
        csCamOffset.x = GameManager.screenWidth * csCamOffset.x * GameManager.me.uiManager.uiPlay.gameCamera.rect.width;
        csCamOffset.y = GameManager.screenHeight * csCamOffset.y * GameManager.me.uiManager.uiPlay.gameCamera.rect.height;

        useEasing = false;

        _progressTime = 0.0f;
        _time         = duration;

        _startYpos = GameManager.me.uiManager.uiPlay.gameCameraPosContainer.localPosition.y;

        _endYpos = finalCamYpos;

        useYPosMove = (finalCamYpos != 0);

        _distTweeningValue = distanceTweeningValue;

        _endAngle = _startAngle + rotValue;

        if (string.IsNullOrEmpty(easingType) == false)
        {
            useEasing = true;
            string[] e = easingType.Split(',');
            easingStyle  = MiniTweenEasingType.getEasingType(e[1]);
            easingMethod = e[0];
        }
    }
    public void update()
    {
        if (CutSceneManager.nowOpenCutScene)
        {
            _csDelta = CutSceneManager.cutSceneDeltaTime;
        }
        else
        {
            _csDelta = Time.smoothDeltaTime;
        }

        _progressTime += _csDelta;        ///motionTime;

        timeStep = _progressTime / _time;

        if (timeStep >= 1.0f)
        {
            timeStep  = 1.0f;
            isEnabled = false;
        }

        if (useEasing)
        {
            timeStep = MiniTweenEasingType.getEasingValue(timeStep, easingMethod, easingStyle);
        }

        _nowDist  = _startDist * Mathf.Lerp(1.0f, _distTweeningValue, timeStep);
        _nowAngle = Mathf.Lerp(_startAngle, _endAngle, timeStep);

        while (_nowAngle < 0)
        {
            _nowAngle += 360.0f;
        }

        if (_useTargetEndPos)
        {
            _nowTargetPosition = Vector3.Lerp(_targetStartPos, _targetEndPos, timeStep);
        }
        else
        {
            _nowTargetPosition = _targetStartPos;
        }


//		Debug.Log(_nowTargetPosition);

        _nowTargetPosition += GameManager.me.uiManager.uiPlay.getPlayerSkillEffectCamRuntimeOffsetPosition();


        _v = Util.getPositionByAngleAndDistanceXZWithoutTable(_nowAngle, _nowDist);

        if (useYPosMove)
        {
            _v.y = Mathf.Lerp(_startYpos, _endYpos, timeStep);
        }
        else
        {
            _v.y = _startYpos;
        }

        _v.x = _nowTargetPosition.x - _v.x;
        _v.z = _nowTargetPosition.z - _v.z;

        if (UIPlay.nowSkillEffectCamStatus == UIPlay.SKILL_EFFECT_CAM_STATUS.Play)
        {
            GameManager.me.uiManager.uiPlay.gameCameraPosContainer.position = _v;
        }
        else
        {
            GameManager.me.uiManager.uiPlay.gameCameraPosContainer.localPosition = _v;
        }


        if (_useTargetEndScreenPos)
        {
            _nowScreenTargetPosition = Vector3.Lerp(_targetStartScreenPos, _targetEndScreenPos, timeStep);

            csCamOffset.x = (GameManager.screenSize.x * 0.5f - _nowScreenTargetPosition.x) / GameManager.screenSize.x;
            csCamOffset.y = (GameManager.screenSize.y * 0.5f - _nowScreenTargetPosition.y) / GameManager.screenSize.y;
            csCamOffset.x = GameManager.screenWidth * csCamOffset.x * GameManager.me.uiManager.uiPlay.gameCamera.rect.width;
            csCamOffset.y = GameManager.screenHeight * csCamOffset.y * GameManager.me.uiManager.uiPlay.gameCamera.rect.height;
        }


        _v    = GameManager.me.uiManager.uiPlay.gameCamera.WorldToScreenPoint(_nowTargetPosition);
        _v.x += csCamOffset.x;
        _v.y += csCamOffset.y;
        _v    = GameManager.me.uiManager.uiPlay.gameCamera.ScreenToWorldPoint(_v);


        GameManager.me.uiManager.uiPlay.gameCamera.transform.rotation = Util.getLookRotationQuaternion(_v - GameManager.me.uiManager.uiPlay.gameCamera.transform.position);

        //gameCamera.transform.rotation = Util.getLookRotationQuaternion( Vector3.zero - gameCameraPosContainer.position);

        if (isEnabled == false && timeStep >= 1.0f)
        {
            UIPlay.isFollowPlayerWhenSkillEffectCamIdle = true;
        }
    }