Revision 5a4d4fba
Added by Leszek Koltunski almost 4 years ago
src/main/java/org/distorted/effects/scramble/ScrambleEffect.java | ||
---|---|---|
24 | 24 |
import org.distorted.library.main.DistortedEffects; |
25 | 25 |
import org.distorted.library.main.DistortedScreen; |
26 | 26 |
import org.distorted.library.message.EffectListener; |
27 |
import org.distorted.main.RubikPostRender;
|
|
27 |
import org.distorted.main.RubikPreRender;
|
|
28 | 28 |
import org.distorted.objects.RubikObject; |
29 | 29 |
|
30 | 30 |
import java.lang.reflect.Method; |
... | ... | |
32 | 32 |
|
33 | 33 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
34 | 34 |
|
35 |
public abstract class ScrambleEffect extends BaseEffect implements EffectListener, RubikPostRender.ActionFinishedListener
|
|
35 |
public abstract class ScrambleEffect extends BaseEffect implements EffectListener, RubikPreRender.ActionFinishedListener
|
|
36 | 36 |
{ |
37 | 37 |
public enum Type |
38 | 38 |
{ |
... | ... | |
63 | 63 |
} |
64 | 64 |
} |
65 | 65 |
|
66 |
private RubikPostRender mPostRender;
|
|
66 |
private RubikPreRender mPreRender;
|
|
67 | 67 |
private int mEffectReturned; |
68 | 68 |
private int mNumDoubleScramblesLeft, mNumScramblesLeft; |
69 | 69 |
private int mLastVector; |
... | ... | |
167 | 167 |
android.util.Log.e("effect", "ERROR: "+mNumDoubleScramblesLeft); |
168 | 168 |
} |
169 | 169 |
|
170 |
mPostRender.addRotation(this, mLastVector, rowBitmap, angle*(360/mBasicAngle), durationMillis);
|
|
170 |
mPreRender.addRotation(this, mLastVector, rowBitmap, angle*(360/mBasicAngle), durationMillis);
|
|
171 | 171 |
} |
172 | 172 |
else |
173 | 173 |
{ |
... | ... | |
175 | 175 |
|
176 | 176 |
if( mEffectReturned == mCubeEffectNumber+mNodeEffectNumber ) |
177 | 177 |
{ |
178 |
mPostRender.effectFinished(FAKE_EFFECT_ID);
|
|
178 |
mPreRender.effectFinished(FAKE_EFFECT_ID);
|
|
179 | 179 |
} |
180 | 180 |
} |
181 | 181 |
} |
... | ... | |
279 | 279 |
|
280 | 280 |
if( mNumScramblesLeft==0 ) |
281 | 281 |
{ |
282 |
mPostRender.effectFinished(FAKE_EFFECT_ID);
|
|
282 |
mPreRender.effectFinished(FAKE_EFFECT_ID);
|
|
283 | 283 |
} |
284 | 284 |
} |
285 | 285 |
|
... | ... | |
302 | 302 |
|
303 | 303 |
if( mNumScramblesLeft==0 ) |
304 | 304 |
{ |
305 |
mPostRender.effectFinished(FAKE_EFFECT_ID);
|
|
305 |
mPreRender.effectFinished(FAKE_EFFECT_ID);
|
|
306 | 306 |
} |
307 | 307 |
} |
308 | 308 |
|
... | ... | |
314 | 314 |
/////////////////////////////////////////////////////////////////////////////////////////////////// |
315 | 315 |
|
316 | 316 |
@SuppressWarnings("unused") |
317 |
public long start(int duration, DistortedScreen screen, RubikPostRender post)
|
|
317 |
public long start(int duration, DistortedScreen screen, RubikPreRender pre)
|
|
318 | 318 |
{ |
319 |
mObject = post.getObject();
|
|
320 |
mPostRender = post;
|
|
319 |
mObject = pre.getObject();
|
|
320 |
mPreRender = pre;
|
|
321 | 321 |
mRowChances = mObject.getRowChances(); |
322 | 322 |
|
323 | 323 |
mObject.solve(); |
... | ... | |
325 | 325 |
mNumAxis = mObject.getRotationAxis().length; |
326 | 326 |
mBasicAngle = mObject.getBasicAngle(); |
327 | 327 |
|
328 |
int numScrambles = post.getNumScrambles();
|
|
328 |
int numScrambles = pre.getNumScrambles();
|
|
329 | 329 |
int dura = (int)(duration*Math.pow(numScrambles,0.6f)); |
330 | 330 |
createBaseEffects(dura,numScrambles); |
331 | 331 |
createEffects (dura,numScrambles); |
Also available in: Unified diff
Convert the PostRender to a PreRender, called before we render.
This makes more sense as this way things are prepared for the very first render.