Android Open Source - Ready-Set-Rogue Leveling Processor






From Project

Back to project page Ready-Set-Rogue.

License

The source code is released under:

GNU General Public License

If you think the Android project Ready-Set-Rogue 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.warsheep.scamp.processors;
/*from  w  w w  .  ja v  a2  s  . c o  m*/
import com.badlogic.ashley.core.Entity;
import com.badlogic.ashley.core.Family;
import com.badlogic.ashley.systems.IteratingSystem;
import com.warsheep.scamp.components.AttackerComponent;
import com.warsheep.scamp.components.DamageableComponent;
import com.warsheep.scamp.components.ECSMapper;
import com.warsheep.scamp.components.LevelComponent;

public class LevelingProcessor extends IteratingSystem {

    private LevelComponent levelComp;

    public LevelingProcessor() {
        super(Family.all(LevelComponent.class).get());
    }

    @Override
    public void processEntity(Entity entity, float deltaTime) {
        levelComp = ECSMapper.level.get(entity);

        int currentLevel = currentLevel();

        if (currentLevel > levelComp.level) {
            levelComp.level++;
            levelComp.nextLevelExp = (levelComp.level+1) * (levelComp.level+1) * 100;

            AttackerComponent atkComp = ECSMapper.attack.get(entity);
            DamageableComponent dmgComp = ECSMapper.damage.get(entity);

            if (atkComp != null) {
                atkComp.baseDamage += levelComp.damageOnLevel;
            }

            if (dmgComp != null) {
                dmgComp.maxHealth += levelComp.healthOnLevel;
                dmgComp.currentHealth = dmgComp.maxHealth;
            }
        }
    }

    private int currentLevel() {
        return (int) (0.1 * Math.sqrt(levelComp.experiencePoints));
    }

}




Java Source Code List

com.warsheep.scamp.AssetDepot.java
com.warsheep.scamp.IOSLauncher.java
com.warsheep.scamp.MapImporter.java
com.warsheep.scamp.PrefabFactory.java
com.warsheep.scamp.Scamp.java
com.warsheep.scamp.adt.BSPRectangle.java
com.warsheep.scamp.adt.Container.java
com.warsheep.scamp.adt.Pair.java
com.warsheep.scamp.adt.Room.java
com.warsheep.scamp.algorithms.BSPMapGenerator.java
com.warsheep.scamp.algorithms.Compositor.java
com.warsheep.scamp.android.AndroidLauncher.java
com.warsheep.scamp.client.HtmlLauncher.java
com.warsheep.scamp.components.AIControllableComponent.java
com.warsheep.scamp.components.AttackerComponent.java
com.warsheep.scamp.components.CameraComponent.java
com.warsheep.scamp.components.CollidableComponent.java
com.warsheep.scamp.components.ControllableComponent.java
com.warsheep.scamp.components.DamageableComponent.java
com.warsheep.scamp.components.DropComponent.java
com.warsheep.scamp.components.ECSMapper.java
com.warsheep.scamp.components.FactionComponent.java
com.warsheep.scamp.components.InventoryComponent.java
com.warsheep.scamp.components.LevelComponent.java
com.warsheep.scamp.components.MovementComponent.java
com.warsheep.scamp.components.StateComponent.java
com.warsheep.scamp.components.TileComponent.java
com.warsheep.scamp.components.TransformComponent.java
com.warsheep.scamp.components.VisibleComponent.java
com.warsheep.scamp.desktop.AssetPacker.java
com.warsheep.scamp.desktop.DesktopLauncher.java
com.warsheep.scamp.processors.AIProcessor.java
com.warsheep.scamp.processors.CameraProcessor.java
com.warsheep.scamp.processors.CollisionProcessor.java
com.warsheep.scamp.processors.CombatProcessor.java
com.warsheep.scamp.processors.ControlProcessor.java
com.warsheep.scamp.processors.DeathProcessor.java
com.warsheep.scamp.processors.LevelingProcessor.java
com.warsheep.scamp.processors.MovementProcessor.java
com.warsheep.scamp.processors.StateProcessor.java
com.warsheep.scamp.processors.TileProcessor.java
com.warsheep.scamp.processors.VisibilityProcessor.java
com.warsheep.scamp.screens.MainGameScreen.java
com.warsheep.scamp.screens.MainMenuScreen.java