Android Open Source - shapemergency Hitpoint Bonus Decorator From Project Back to project page shapemergency .
License The source code is released under:
GNU General Public License
If you think the Android project shapemergency listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.
Java Source Code package com.adsg0186.shapemergency.testgame1.blobs;
/ / f r o m w w w . j a v a 2 s . c o m
import com.adsg0186.shapemergency.testgame1.GameSound;
import com.adsg0186.shapemergency.testgame1.TargetUtils;
import com.adsg0186.shapemergency.testgame1.BonusFactory.BonusCommandIF;
import com.adsg0186.shapemergency.testgame1.GameSound.SoundId;
import com.github.adsgray.gdxtry1.engine.blob.BlobIF;
import com.github.adsgray.gdxtry1.engine.blob.TextBlobIF;
import com.github.adsgray.gdxtry1.engine.blob.decorator.BlobDecorator;
import com.github.adsgray.gdxtry1.engine.util.TriggerFactory;
public class HitpointBonusDecorator extends BlobDecorator implements BonusIF, EnemyIF {
protected int hitPoints;
protected TextBlobIF companionText;
protected BonusCommandIF bonusCommand;
public HitpointBonusDecorator(BlobIF component, TextBlobIF companionText, int hitPoints, BonusCommandIF bonusCommand) {
super (component);
this.hitPoints = hitPoints;
this.companionText = companionText;
this.bonusCommand = bonusCommand;
}
@Override
public int getHitPoints() { return hitPoints; }
protected void destroyCompanionBlobs() {
companionText.setLifeTime(0);
}
@Override
public BlobIF reactToMissileHit(BlobIF missile) {
destroyCompanionBlobs();
EnemyFactory.flashMessage(world, renderer, "Lost Bonus :-(" , 30);
GameSound.get().playSoundId(SoundId.defenderHit); // use this one for now...
return TargetUtils.replaceWithBonusExplosion(this );
}
@Override public int getWeight() { return 1; }
@Override
public void grantBonus() {
destroyCompanionBlobs();
bonusCommand.execute();
}
}
Java Source Code List com.adsg0186.shapemergency.GameActivity.java com.adsg0186.shapemergency.GameScreen.java com.adsg0186.shapemergency.HelpView.java com.adsg0186.shapemergency.HighScoreView.java com.adsg0186.shapemergency.MainActivity.java com.adsg0186.shapemergency.SettingsView.java com.adsg0186.shapemergency.testgame1.AngryTargetMissileSource.java com.adsg0186.shapemergency.testgame1.BonusFactory.java com.adsg0186.shapemergency.testgame1.BossTargetMissileSource.java com.adsg0186.shapemergency.testgame1.CreateEnemyTrigger.java com.adsg0186.shapemergency.testgame1.DefenderCollisionTrigger.java com.adsg0186.shapemergency.testgame1.FiringGameTest.java com.adsg0186.shapemergency.testgame1.GameSound.java com.adsg0186.shapemergency.testgame1.MissileBlobSource.java com.adsg0186.shapemergency.testgame1.MissileCollisionTrigger.java com.adsg0186.shapemergency.testgame1.ShieldCollisionTrigger.java com.adsg0186.shapemergency.testgame1.TargetMissileSource.java com.adsg0186.shapemergency.testgame1.TargetUtils.java com.adsg0186.shapemergency.testgame1.Vibrate.java com.adsg0186.shapemergency.testgame1.blobs.BonusDropper.java com.adsg0186.shapemergency.testgame1.blobs.BonusIF.java com.adsg0186.shapemergency.testgame1.blobs.BossEnemy.java com.adsg0186.shapemergency.testgame1.blobs.DamagableIF.java com.adsg0186.shapemergency.testgame1.blobs.DamagerIF.java com.adsg0186.shapemergency.testgame1.blobs.DefaultEnemy.java com.adsg0186.shapemergency.testgame1.blobs.EnemyBomb.java com.adsg0186.shapemergency.testgame1.blobs.EnemyFactory.java com.adsg0186.shapemergency.testgame1.blobs.EnemyIF.java com.adsg0186.shapemergency.testgame1.blobs.FiringBlobDecorator.java com.adsg0186.shapemergency.testgame1.blobs.FlashMessage.java com.adsg0186.shapemergency.testgame1.blobs.HitpointBonusDecorator.java com.adsg0186.shapemergency.testgame1.blobs.ScoreTextDisplay.java com.adsg0186.shapemergency.testgame1.blobs.ShieldRing.java com.adsg0186.shapemergency.testgame1.config.BaseGameConfig.java com.adsg0186.shapemergency.testgame1.config.EasyGameConfig.java com.adsg0186.shapemergency.testgame1.config.GameConfigIF.java com.adsg0186.shapemergency.testgame1.config.GameConfig.java com.adsg0186.shapemergency.testgame1.config.GamePreferences.java com.adsg0186.shapemergency.testgame1.config.InsaneGameConfig.java com.adsg0186.shapemergency.testgame1.config.SavedGame.java