Commit Graph

164 Commits

Author SHA1 Message Date
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
6918e5edda Improve FPS Profiler 2021-03-29 20:28:29 +02:00
ff311021f0 Enable Lombok annotation processor in :API module 2021-03-29 20:27:57 +02:00
8bdd421f63 Add support for Lombok in :api 2021-03-26 23:29:34 +01:00
7d114e9bae Make BulletAnimationRunner triggers onHit() callback only for blocking entities 2021-03-26 23:17:49 +01:00
140cfcacae Add support for z-index parameters in Entity which determines the Entity rendering order 2021-03-26 22:53:55 +01:00
dac79b9fd1 Enable database support in :engine 2021-03-26 21:44:37 +01:00
a2b03b3fbc Refactor Audio API and remove source-positioning related code 2021-03-23 23:23:31 +01:00
b8f316f9d5 Create basic Audio API 2021-03-23 22:52:57 +01:00
ca89c302de Improve Animation Runners 2021-03-23 09:25:01 +01:00
23accf16df Improve slightly Movable 2021-03-23 09:24:24 +01:00
921463fc14 Make EntityManager shares common Mesh 1x1 between all entities, which in turn scale it to theirs dimensions | add support for dynamic replacing entity sets 2021-03-23 00:13:04 +01:00