package core.controllers;
import org.magnos.entity.Entity;
import org.magnos.entity.EntityIterator;
import org.magnos.entity.filters.ComponentFilter;
import org.magnos.entity.vals.IntVal;
import com.maceswinger.Vector2;
import com.maceswinger.client.GameClient;
import core.Core;
public class Jump
{
public static void jump(Entity e, Object updateState, Vector2 velocity)
{
if (!e.has(Core.Components.jumpCooldown))
return;
IntVal jumpCooldown = e.get(Core.Components.jumpCooldown);
if (jumpCooldown.v == 0)
jumpCooldown.v = 35;
else
{
GameClient program = (GameClient) updateState;
for (Entity ent : new EntityIterator(program.entities, new ComponentFilter(Core.Components.collider)))
if (ent != e)
if (e.get(Core.Components.collider).overlaps(new Vector2(0, -1), ent.get(Core.Components.collider)))
velocity.y = 16;
if (velocity.y > -1)
velocity.y += 0.3f;
jumpCooldown.v -= 1;
}
}
}