12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- 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 = 100.0f;
- private float energy = maxEnergy;
-
- private static final float BASE = 1.0f / Game.getTicksForMillis(3000);
- @Override
- public void tick(Entity ent)
- {
- float mx = ent.getOwnForceX();
- 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;
- }
- }
- }
|