Create Rule system scaffolding

This commit is contained in:
2021-03-04 20:08:43 +01:00
parent b80c5c4687
commit b8d2fdda53
6 changed files with 55 additions and 17 deletions

View File

@@ -3,13 +3,16 @@ package com.bartlomiejpluta.base.api.game.context;
import com.bartlomiejpluta.base.api.game.camera.Camera;
import com.bartlomiejpluta.base.api.game.entity.Entity;
import com.bartlomiejpluta.base.api.game.image.Image;
import com.bartlomiejpluta.base.api.game.window.Window;
public interface Context {
Window getWindow();
Camera getCamera();
void openMap(String mapUid);
Entity createEntity(String entitySetUid);
Image getImage(String imageUid);
Camera getCamera();
}

View File

@@ -3,6 +3,7 @@ package com.bartlomiejpluta.base.api.game.map.layer.object;
import com.bartlomiejpluta.base.api.game.entity.Entity;
import com.bartlomiejpluta.base.api.game.entity.Movement;
import com.bartlomiejpluta.base.api.game.map.layer.base.Layer;
import com.bartlomiejpluta.base.api.game.rule.Rule;
import java.util.List;
@@ -13,6 +14,12 @@ public interface ObjectLayer extends Layer {
List<Entity> getEntities();
void registerRule(Rule rule);
void unregisterRule(Rule rule);
void unregisterRules();
void setPassageAbility(int row, int column, PassageAbility passageAbility);
PassageAbility[][] getPassageMap();

View File

@@ -0,0 +1,9 @@
package com.bartlomiejpluta.base.api.game.rule;
import com.bartlomiejpluta.base.api.game.entity.Entity;
public interface Rule {
boolean test(Entity entity);
void invoke(Entity entity);
}