Advertisement
Guest User

Untitled

a guest
May 27th, 2015
263
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.17 KB | None | 0 0
  1. /* CLASS:
  2. * AUTHOR: Anders & Lea
  3. * DESCRIPTION:
  4. ****************************************************************************/
  5. package com.survivalsystem;
  6.  
  7. import com.badlogic.ashley.core.ComponentMapper;
  8. import com.badlogic.ashley.core.Engine;
  9. import com.badlogic.ashley.core.Entity;
  10. import com.badlogic.ashley.core.EntitySystem;
  11. import com.badlogic.ashley.core.Family;
  12. import com.badlogic.ashley.utils.ImmutableArray;
  13. import com.common.data.components.BehaviourComponent;
  14. import com.common.data.components.HealthComponent;
  15. import com.common.data.components.SurvivalComponent;
  16. import com.common.interfaces.IEntitySystem;
  17. import java.util.HashMap;
  18. import org.openide.util.lookup.ServiceProvider;
  19.  
  20. @ServiceProvider(service = IEntitySystem.class)
  21. public class Survival extends EntitySystem implements IEntitySystem {
  22.  
  23. private ImmutableArray<Entity> entities;
  24. private ComponentMapper<SurvivalComponent> survival = ComponentMapper.getFor(SurvivalComponent.class);
  25. private ComponentMapper<HealthComponent> health = ComponentMapper.getFor(HealthComponent.class);
  26. private ComponentMapper<BehaviourComponent> bcm = ComponentMapper.getFor(BehaviourComponent.class);
  27.  
  28. @Override
  29. public void update(float deltaTime) {
  30. for (Entity entity : entities) {
  31. SurvivalComponent surv = survival.get(entity);
  32. HealthComponent hp = health.get(entity);
  33. BehaviourComponent behaviourComp = bcm.get(entity);
  34.  
  35. if (surv.water < 0 || surv.food <= 0) {
  36. if (hp.hitpoints > 0) {
  37. hp.hitpoints -= 0.1;
  38. }else
  39. behaviourComp.scheduledForCleanup = true;
  40. }else{
  41. surv.water -= 0.01;
  42. surv.food -= 0.01;
  43. }
  44.  
  45. }
  46. }
  47.  
  48. @Override
  49. public void addedToEngine(Engine engine) {
  50. this.entities = engine.getEntitiesFor(Family.all(SurvivalComponent.class).get());
  51. }
  52.  
  53. @Override
  54. public EntitySystem getSystem() {
  55. return this;
  56. }
  57.  
  58. @Override
  59. public void loadSystem(HashMap<String, Object> data) throws Exception {
  60. }
  61.  
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement