Commit Graph

175 Commits

Author SHA1 Message Date
b8b51bf35d Introduce Character
This commit is huge breaking change.
The Entity class has been downgraded to some generic object which can be pushed onto the ObjectLayer, whereas the former "entity" concept has been replaced with Character class.
2022-08-22 23:00:58 +02:00
439ec984a3 Extract coordinates-related code from Movable to Locationable interface 2022-08-22 19:53:29 +02:00
dc68f3d4ed Create ContextHolder helper class 2022-08-22 11:34:56 +02:00
dccc8fd5ff Improve entity spawner functionality and fix some spawner bugs 2022-08-19 14:33:40 +02:00
5c97a014f5 Add support for changing target/danger of built-in AI strategies 2022-08-19 12:11:05 +02:00
cfd53fdd10 Create entity spawner utility class 2022-08-19 11:30:46 +02:00
a4c7f48a23 Create helper class for distance calculation 2022-08-19 11:30:18 +02:00
44782d1328 Create KeepStraightDistanceAI AI strategy 2022-08-18 22:36:46 +02:00
a0774499db Create helper DiceRoller class 2022-08-18 16:27:18 +02:00
46132c556c Add support for setting animation frame 2022-08-18 16:27:18 +02:00
f09fb6a944 Create RunawayAI AI strategy 2022-08-18 16:27:08 +02:00
09d526d2b4 Improve BulletAnimationRunner 2022-08-18 14:06:35 +02:00
957e8fca0e Enable firing events from Context 2022-08-18 13:49:31 +02:00
225dd84b21 Refactor FollowEntityAI 2021-11-28 16:04:24 +01:00
2337dc98bf Make all methods default in GameRunner and MapHandler 2021-11-23 23:39:14 +01:00
1b9641862b Revert "Add support for disposing GUIs"
This reverts commit 9bc79e940e.
2021-04-09 23:10:30 +02:00
9bc79e940e Add support for disposing GUIs 2021-04-09 12:43:04 +02:00
cf20f390b5 Make GUI and Widget updatables 2021-04-09 10:14:28 +02:00
d3293e3004 Refactor event system | make Context events-aware | introduce GamePauseEvent 2021-04-08 23:00:42 +02:00
808155533d Move game pause logic from GameEngine to Context 2021-04-08 22:18:58 +02:00
028faae564 Add isPaused() and isStopped() methods to Sound interface 2021-04-08 22:17:51 +02:00
c8f182aef1 Add ObjectLayer and GameMap parameters to MapInitializer 2021-04-07 10:29:36 +02:00
8d709709a8 Improve FollowEntityAI to recompute path only on demand 2021-04-07 09:25:40 +02:00
125d063af3 Merge KeyEventHandler to Reactive and replace old key event system with Reactive API 2021-04-06 17:29:08 +02:00
898bcc809c Implement event system scaffolding 2021-04-06 11:57:11 +02:00
a11773e60c Transform Path class to interface
This is necessary to introduce a MovementPath, which is a special Path implementation that contains only non-ignore MoveSegments specialized to include also a target coordinates. Thanks to that, the PathFinder can create a path with consecutive directions as well as the coordinates that can be iterated in order to find, if no other Entity is blocking the path (`contains()` method in MovementPath).
2021-04-04 23:55:14 +02:00
7c777dca01 Make Path Executor reusable 2021-04-04 22:37:19 +02:00
b0655a0bb1 Improve PathFinder - add support for finding Path<T extends Movable> 2021-04-04 22:16:01 +02:00
34c388b1a3 Enable changing Screen resizable parameter and add support for fullscreen mode 2021-04-03 19:21:11 +02:00
13c0a66af0 Create CameraController interface and following camera implementation 2021-04-03 17:55:54 +02:00
d3755708d1 [Editor] Put MapObjectsCodeGenerator to work 2021-04-03 12:47:16 +02:00
fc96de47c5 Create MapInitializer internal interface 2021-04-03 12:22:16 +02:00
48ad4208bc Fix invalid key event handling in GLFWInput | make GUI does not extend KeyEventHandler interface anymore 2021-04-02 10:59:35 +02:00
8e6dfd4528 Prevent DefaultContext from being unregistered from key event handlers 2021-04-01 21:48:49 +02:00
075b0e67dc Make Entity supports KeyEventHandler 2021-04-01 21:33:29 +02:00
f5f8ec1595 Split InteractiveEntity to separate listeners and remove position checks 2021-04-01 20:12:25 +02:00
e1e6d897cd Simplify EntityInstantAnimation 2021-04-01 13:51:51 +02:00
b6aab0873e Make EntityInstantAnimation returns a CompletableFuture 2021-04-01 13:36:17 +02:00
143d7fd4a2 Refactor EntityInstantAnimation 2021-04-01 12:42:18 +02:00
dc472265ab Enable queueing entity instant animations 2021-04-01 12:29:48 +02:00
933d8258b7 Add support for entity instant animations 2021-04-01 11:23:09 +02:00
fbaf422f89 Extract Animated trait interface 2021-04-01 10:07:23 +02:00
efec9b18c4 Remove movement rules system 2021-03-31 23:08:26 +02:00
4f9a598d13 Create InteractiveEntity 2021-03-31 23:02:27 +02:00
d8a8e28dd3 Add getMap() method to Context 2021-03-30 22:30:11 +02:00
56dedb1b5b Enforce Entities exist on only one object layer at the same time 2021-03-30 22:15:38 +02:00
08694e4e02 Enable frustum culling 2021-03-30 16:03:16 +02:00
cb59434bc7 Remove Movement interface - make DefaultMovement a final Movement class and move it to :API 2021-03-30 13:15:59 +02:00
c87567358c Remove rules and create movement rules 2021-03-30 12:58:31 +02:00
06fb3258af Improve Time Profiler 2021-03-30 08:23:30 +02:00