예제 #1
0
        public override void createUI(ISkillEvent value, EditorUI p)
        {
            base.createUI(value, p);

            this.ev = value as CameraShakeEvent;

            slider = new EditorSlider("幅度:");
            slider.setRank(0.1f, 10.0f, 0.1f);
            slider.value = ev.factor;

            slider1 = new EditorSlider("周期:");
            slider1.setRank(0.1f, 10.0f, 1);
            slider1.value = ev.period;

            formItem       = new EditorVector3("偏移:");
            formItem.value = ev.shaderVector;
            formItem.addEventListener(EventX.CHANGE, formHandle);

            slider.addEventListener(EventX.CHANGE, changeHandle);
            slider1.addEventListener(EventX.CHANGE, changeHandle1);

            p.addChild(slider);
            p.addChild(slider1);
            p.addChild(formItem);
        }
예제 #2
0
    void OnCameraShakeEvent(CameraShakeEvent eve)
    {
        Sequence shakeSeq = DOTween.Sequence();

        shakeSeq.Append(this.transform.DOShakePosition(eve.Duration, eve.Strength, eve.Vibrato, eve.Randomness, false))
        .AppendCallback(() => {
            this.transform.position = initPos;
        });
    }
        public ShakeEvent(CameraShakeEvent data)
        {
            _data = data;

            _duration      = data.duration;
            _timeRemaining = _duration;

            const float rand = 32f;

            noiseOffset.x = Random.Range(0f, rand);
            noiseOffset.y = Random.Range(0f, rand);
            noiseOffset.z = Random.Range(0f, rand);
        }
예제 #4
0
    void OnStartShake(CameraShakeEvent evt)
    {
        float amp = evt.amp, freq = evt.freq, duration = evt.duration;
        int   octaves = evt.octaves;

        while (octaves > 0)
        {
            activeShakes.Add(new Shake {
                amp      = amp,
                freq     = freq,
                duration = duration,
                elapsed  = 0,
            });

            amp     /= 2;
            freq    *= 2;
            octaves -= 1;
        }
    }
 public void AddShakeEvent(CameraShakeEvent data)
 {
     _shakeEvents.Add(new ShakeEvent(data));
 }