123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- package me.hammerle.supersnuvi.entity.components;
- import me.hammerle.supersnuvi.Game;
- import me.hammerle.supersnuvi.entity.Entity;
- public class DefaultEnergy extends Energy
- {
- private final float maxEnergy;
- private float energy;
-
- private static final float BASE = 1.0f / Game.getTicksForMillis(3000);
-
- public DefaultEnergy(Entity ent, float maxEnergy)
- {
- super(ent);
- this.maxEnergy = maxEnergy;
- this.energy = maxEnergy;
- }
- @Override
- public void tick()
- {
- float mx = ent.getMotionX();
-
- if(mx == 0.0f)
- {
- addEnergyPercent(BASE);
- }
- else if(Math.abs(mx) <= ent.getMovement().getVelocityX())
- {
- addEnergyPercent(BASE * 0.5f);
- }
- }
- @Override
- public float getMaxEnergy()
- {
- return maxEnergy;
- }
- @Override
- public float getEnergy()
- {
- return energy;
- }
- @Override
- public void addEnergy(float h)
- {
- energy += h;
- if(energy > maxEnergy)
- {
- energy = maxEnergy;
- }
- else if(energy < 0.0f)
- {
- energy = 0.0f;
- }
- }
- }
|