Commit Graph

185 Commits

Author SHA1 Message Date
43c36a30ec Enable programmatically referencing Window's components 2022-08-25 17:30:05 +02:00
23738566e3 Create IconDelegate helper class 2022-08-25 13:59:42 +02:00
7a51400985 Create *GridOptionChoice components 2022-08-25 12:17:44 +02:00
cbf0eefb3f Create *Grid layouts 2022-08-25 00:59:02 +02:00
18010cbb0f Enable full support for icon sets in GUI 2022-08-24 15:59:34 +02:00
20a2a5f1e7 Make *OptionChoice components scrollable 2022-08-24 09:56:48 +02:00
7ccc478eb1 Create Warp util class 2022-08-23 20:40:13 +02:00
38d7baaef1 Create AbstractEntity class 2022-08-23 20:05:38 +02:00
b8400bd23b Refactor speed-related methods to support 1/s unit rather than 1/frame 2022-08-23 13:36:55 +02:00
084eeef79a Enable full support for icon sets 2022-08-23 10:45:57 +02:00
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