Effect(Entity origin, float duration) { this(origin); mTimer = TickTimer.createInterval(duration); }
Tower(GameEngine gameEngine, KeyValueStore settings) { super(gameEngine); mSettings = settings; mValue = mSettings.getInt("value"); mDamage = mSettings.getFloat("damage"); mRange = mSettings.getFloat("range"); mReloadTime = mSettings.getFloat("reload"); mLevel = 1; mReloadTimer = TickTimer.createInterval(mReloadTime); mBuilt = false; }
private RocketLauncher(GameEngine gameEngine, KeyValueStore settings) { super(gameEngine, settings); StaticData s = (StaticData) getStaticData(); mSettings = settings; mSprite = getSpriteFactory().createStatic(Layers.TOWER_BASE, s.mSpriteTemplate); mSprite.setListener(this); mSprite.setIndex(RandomUtils.next(4)); mSpriteRocket = getSpriteFactory().createStatic(Layers.TOWER, s.mSpriteTemplateRocket); mSpriteRocket.setListener(this); mSpriteRocket.setIndex(RandomUtils.next(4)); mExplosionRadius = settings.getFloat("explosionRadius"); mRocketLoadTimer = TickTimer.createInterval(ROCKET_LOAD_TIME); mSound = getSoundFactory().createSound(R.raw.explosive2_tsh); }
@Override public Object initStatic() { StaticData s = new StaticData(); s.mHealInterval = mHealerSettings.getFloat("healInterval"); s.mHealDuration = mHealerSettings.getFloat("healDuration"); s.mHealTimer = TickTimer.createInterval(s.mHealInterval); s.mHealedEnemies = new ArrayList<>(); s.mScaleFunction = Function.sine() .join(Function.constant(0), (float) Math.PI) .multiply(HEAL_SCALE_FACTOR - 1f) .offset(1f) .stretch(GameEngine.TARGET_FRAME_RATE * s.mHealDuration * 0.66f / (float) Math.PI) .invert() .sample(); s.mRotateFunction = Function.constant(0) .join(Function.sine(), (float) Math.PI / 2f) .multiply(HEAL_ROTATION / GameEngine.TARGET_FRAME_RATE * 360f) .stretch(GameEngine.TARGET_FRAME_RATE * s.mHealDuration * 0.66f / (float) Math.PI) .sample(); s.mSpriteTemplate = getSpriteFactory().createTemplate(R.attr.healer, 4); s.mSpriteTemplate.setMatrix(0.9f, 0.9f, null, null); s.mReferenceSprite = getSpriteFactory().createAnimated(Layers.ENEMY, s.mSpriteTemplate); s.mReferenceSprite.setSequenceForward(); s.mReferenceSprite.setFrequency(ANIMATION_SPEED); getGameEngine().add(s); return s; }