Example #1
0
        public void Shake(out bool bIsFinish)
        {
            if (_fRemainShakePow > 0f)
            {
                Vector3 vecShakePos = PrimitiveHelper.RandomRange(vecOriginPos.AddFloat(-_fRemainShakePow), vecOriginPos.AddFloat(_fRemainShakePow));
                if (eShakePosType != EShakePos.All)
                {
                    if (eShakePosType == EShakePos.Y || eShakePosType == EShakePos.YZ || eShakePosType == EShakePos.Z)
                    {
                        vecShakePos.x = vecOriginPos.x;
                    }

                    if (eShakePosType == EShakePos.X || eShakePosType == EShakePos.XZ || eShakePosType == EShakePos.Z)
                    {
                        vecShakePos.y = vecOriginPos.y;
                    }

                    if (eShakePosType == EShakePos.X || eShakePosType == EShakePos.XY || eShakePosType == EShakePos.Y)
                    {
                        vecShakePos.z = vecOriginPos.z;
                    }
                }

                pTransform.position = vecShakePos;
                _fRemainShakePow   -= _fShakeMinusDelta;
                bIsFinish           = false;
            }
            else
            {
                pTransform.position = vecOriginPos;
                bIsFinish           = true;
            }
        }
    private Vector3 ProcShake(Vector3 vecFollowPos)
    {
        if (_fRemainShakePow > 0f)
        {
            _fRemainShakePow -= _fShakeMinusDelta;
            if (_fRemainShakePow <= 0f)
            {
                if (_bFollowX == false)
                {
                    vecFollowPos.x = _vecOriginPos.x;
                }

                if (_bFollowY == false)
                {
                    vecFollowPos.y = _vecOriginPos.y;
                }

                if (_bFollowZ == false)
                {
                    vecFollowPos.z = _vecOriginPos.z;
                }
            }
            else
            {
                Vector3 vecShakePos = PrimitiveHelper.RandomRange(vecFollowPos.AddFloat(-_fRemainShakePow), vecFollowPos.AddFloat(_fRemainShakePow));
                //if (_bFollowX) vecFollowPos.x = vecShakePos.x;
                //if (_bFollowY) vecFollowPos.y = vecShakePos.y;
                //if (_bFollowZ) vecFollowPos.z = vecShakePos.z;

                vecFollowPos = vecShakePos;
            }
        }

        return(vecFollowPos);
    }
Example #3
0
    // ========================== [ Division ] ========================== //

    private IEnumerator CoStartShake()
    {
        _vecOriginPos = transform.localPosition;
        while (_fRemainShakePow > 0f)
        {
            // Vector3 vecOriginPos = transform.localPosition;
            Vector3 vecShakePos = PrimitiveHelper.RandomRange(_vecOriginPos.AddFloat(-_fRemainShakePow), _vecOriginPos.AddFloat(_fRemainShakePow));
            if(_eShakePosType != EShakePos.All)
            {
                if (_eShakePosType == EShakePos.Y || _eShakePosType == EShakePos.YZ || _eShakePosType == EShakePos.Z)
                    vecShakePos.x = _vecOriginPos.x;

                if (_eShakePosType == EShakePos.X || _eShakePosType == EShakePos.XZ|| _eShakePosType == EShakePos.Z)
                    vecShakePos.y = _vecOriginPos.y;

                if (_eShakePosType == EShakePos.X || _eShakePosType == EShakePos.XY || _eShakePosType == EShakePos.Y)
                    vecShakePos.z = _vecOriginPos.z;
            }

            transform.localPosition = vecShakePos;
            _fRemainShakePow -= _fShakeMinusDelta;

            yield return null;
        }

        if (_bBackToOriginPos)
            transform.localPosition = _vecOriginPos;

        yield break;
    }
Example #4
0
    private void Update()
    {
        if (_bIsShaking)
        {
            if (_fRemainShakePow > 0f)
            {
                Vector3 vecShakePos = PrimitiveHelper.RandomRange(_vecOriginPos.AddFloat(-_fRemainShakePow), _vecOriginPos.AddFloat(_fRemainShakePow));
                if (_eShakePosType != EShakePos.All)
                {
                    if (_eShakePosType == EShakePos.Y || _eShakePosType == EShakePos.YZ || _eShakePosType == EShakePos.Z)
                    {
                        vecShakePos.x = _vecOriginPos.x;
                    }

                    if (_eShakePosType == EShakePos.X || _eShakePosType == EShakePos.XZ || _eShakePosType == EShakePos.Z)
                    {
                        vecShakePos.y = _vecOriginPos.y;
                    }

                    if (_eShakePosType == EShakePos.X || _eShakePosType == EShakePos.XY || _eShakePosType == EShakePos.Y)
                    {
                        vecShakePos.z = _vecOriginPos.z;
                    }
                }

                transform.localPosition = vecShakePos;
                _fRemainShakePow       -= _fShakeMinusDelta;
            }
            else
            {
                transform.localPosition = _vecOriginPos;
                _bIsShaking             = false;
            }
        }
    }
Example #5
0
    public void DoShakeObject(float fShakePow, float fTime)
    {
        _vecOriginPos = _pTransformCached.localPosition;
        Vector3 vecShakePos = PrimitiveHelper.RandomRange(_vecOriginPos.AddFloat(-fShakePow), _vecOriginPos.AddFloat(fShakePow));

        iTween.ShakePosition(_pGameObjectCached, vecShakePos, fTime);
        //if(_bMachineShaking)
        //	PCManagerFramework.instance.DoShakeMobile();
    }
Example #6
0
    // ========================== [ Division ] ========================== //

    private IEnumerator CoStartShake()
    {
        _vecOriginPos = _pTransformCached.localPosition;
        while (_fRemainShakePow > 0f)
        {
            Vector3 vecOriginPos = _pTransformCached.localPosition;
            Vector3 vecShakePos  = PrimitiveHelper.RandomRange(vecOriginPos.AddFloat(-_fRemainShakePow), vecOriginPos.AddFloat(_fRemainShakePow));
            if (_eShakePosType != EShakePos.All)
            {
                if (_eShakePosType == EShakePos.Y || _eShakePosType == EShakePos.YZ || _eShakePosType == EShakePos.Z)
                {
                    vecShakePos.x = vecOriginPos.x;
                }

                if (_eShakePosType == EShakePos.X || _eShakePosType == EShakePos.XZ || _eShakePosType == EShakePos.Z)
                {
                    vecShakePos.y = vecOriginPos.y;
                }

                if (_eShakePosType == EShakePos.X || _eShakePosType == EShakePos.XY || _eShakePosType == EShakePos.Y)
                {
                    vecShakePos.z = vecOriginPos.z;
                }
            }

            _pTransformCached.localPosition = vecShakePos;
            _fRemainShakePow -= _fShakeMinusDelta;

            yield return(null);
        }

        if (_bBackToOriginPos)
        {
            _pTransformCached.localPosition = _vecOriginPos;
        }

        yield break;
    }
Example #7
0
    public Vector3 DoCalculate_ShakePosition(Vector3 vecOriginPos, EShakePos eShakePosType, float fShakePower)
    {
        Vector3 vecShakePos = PrimitiveHelper.RandomRange(vecOriginPos.AddFloat(-fShakePower), vecOriginPos.AddFloat(fShakePower));

        if (eShakePosType != EShakePos.All)
        {
            if (eShakePosType == EShakePos.Y || eShakePosType == EShakePos.YZ || eShakePosType == EShakePos.Z)
            {
                vecShakePos.x = vecOriginPos.x;
            }

            if (eShakePosType == EShakePos.X || eShakePosType == EShakePos.XZ || eShakePosType == EShakePos.Z)
            {
                vecShakePos.y = vecOriginPos.y;
            }

            if (eShakePosType == EShakePos.X || eShakePosType == EShakePos.XY || eShakePosType == EShakePos.Y)
            {
                vecShakePos.z = vecOriginPos.z;
            }
        }

        return(vecShakePos);
    }