summary refs log tree commit diff stats
path: root/src/effect_system.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/effect_system.cpp')
-rw-r--r--src/effect_system.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/effect_system.cpp b/src/effect_system.cpp index aeccebb..4dff13c 100644 --- a/src/effect_system.cpp +++ b/src/effect_system.cpp
@@ -37,6 +37,15 @@ void EffectSystem::tick(double dt) {
37 cameraShakeOffset_.y() = 0; 37 cameraShakeOffset_.y() = 0;
38 } 38 }
39 } 39 }
40
41 if (circleEffect_ != circleEffectDest_) {
42 circleEffectThus_ += dt;
43 if (circleEffectThus_ >= circleEffectLength_) {
44 circleEffectThus_ = circleEffectLength_;
45 }
46
47 circleEffect_ = (circleEffectDest_ - circleEffectStart_) / circleEffectLength_ * circleEffectThus_ + circleEffectStart_;
48 }
40} 49}
41 50
42void EffectSystem::fadeScreen(int length, double amount) { 51void EffectSystem::fadeScreen(int length, double amount) {
@@ -64,3 +73,10 @@ void EffectSystem::stopShakingCamera() {
64 cameraShaking_ = false; 73 cameraShaking_ = false;
65 cameraShakeOffset_ = { 0, 0 }; 74 cameraShakeOffset_ = { 0, 0 };
66} 75}
76
77void EffectSystem::circleTransition(int length, double amount) {
78 circleEffectStart_ = circleEffect_;
79 circleEffectDest_ = amount;
80 circleEffectLength_ = length;
81 circleEffectThus_ = 0;
82}