Rev 99 |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
package com.gebauz.pingK.game;
import android.util.Log;
public class PowerUpEffect
{
private GameLogic mGameLogic = null;
private float mConcaveTime = 0.0f;
private float mMosaicTime = 0.0f;
private float mFlowerTime = 0.0f;
private float mSlowMoTime = 0.0f;
private int mCrystalActiveCount = 0;
public PowerUpEffect(GameLogic gameLogic)
{
mGameLogic = gameLogic;
}
public void update(float deltaTime)
{
// PowerUpEffect should be unaffected by slo mo
if (isSlowMoActive())
deltaTime /= GameConsts.POWERUP_SLOWMO_FACTOR;
if (mConcaveTime >= 0.0f)
mConcaveTime -= deltaTime;
if (mMosaicTime >= 0.0f)
mMosaicTime -= deltaTime;
if (mFlowerTime >= 0.0f)
mFlowerTime -= deltaTime;
if (mSlowMoTime >= 0.0f)
mSlowMoTime -= deltaTime;
//Log.v(GameConsts.LOG_TAG, "ConcaveTime=" + mConcaveTime);
}
public void render()
{
}
public boolean isConcaveActive()
{
return (mConcaveTime > 0.0f);
}
public void activateConcave()
{
mConcaveTime = GameConsts.POWERUP_CONCAVE_TIME;
}
public boolean isMosaicActive()
{
return (mMosaicTime > 0.0f);
}
public float getMoasicTime()
{
return mMosaicTime;
}
public boolean isMosaicFading()
{
if (mMosaicTime < GameConsts.POWERUP_MOSAIC_FADE_TIME)
return true;
else if (mMosaicTime > (GameConsts.POWERUP_MOSAIC_TIME - GameConsts.POWERUP_MOSAIC_FADE_TIME))
return true;
return false;
}
public void activateMosaic()
{
if (isMosaicActive())
mMosaicTime = GameConsts.POWERUP_MOSAIC_TIME - GameConsts.POWERUP_MOSAIC_FADE_TIME;
else
mMosaicTime = GameConsts.POWERUP_MOSAIC_TIME;
}
public boolean isFlowerActive()
{
return (mFlowerTime > 0.0f);
}
public boolean isFlowerFading()
{
if (mFlowerTime < GameConsts.POWERUP_FLOWER_TIME)
return true;
else if (mFlowerTime > (GameConsts.POWERUP_FLOWER_TIME - GameConsts.POWERUP_FLOWER_FADE_TIME))
return true;
return false;
}
public float getFlowerTime()
{
return mFlowerTime;
}
public void activateFlower()
{
if (isFlowerActive())
mFlowerTime = GameConsts.POWERUP_FLOWER_TIME - GameConsts.POWERUP_FLOWER_FADE_TIME;
else
mFlowerTime = GameConsts.POWERUP_FLOWER_TIME;
}
public boolean isSlowMoActive()
{
return (mSlowMoTime > 0.0f);
}
public void activateSlowMo()
{
mSlowMoTime = GameConsts.POWERUP_SLOWMO_TIME;
}
public boolean isCrystalActive()
{
return (mCrystalActiveCount > 0);
}
public void activateCrystal()
{
mCrystalActiveCount++;
}
public void deactivateCrystal()
{
mCrystalActiveCount--;
if (mCrystalActiveCount < 0)
mCrystalActiveCount = 0;
}
public void activateBarrier(boolean horizontal)
{
// spawn a barrier
}
}