Releases: CrissNamon/progressive
Releases · CrissNamon/progressive
0.7.11
0.7.1
- Split components into different artifacts:
- progressive-api
- progressive-game
- progressive-injection
- progressive-persistence
- progressive-proxy
- Removed
GameInitializer
0.7.0
- Added BeanScanner interface to intercept DI container scan process
- Added BeanFactory interface to intercept DI container creation of BeanDefinition bean instance
- Added Storage
0.6.1
- Fixed default StateMachine in BasicGame
- Added tests
0.6.0
What's Changed
- Added StateMachine and BasicStateMachine implementation
- GameStateManager is now deprecated, Game uses StateMachine
- StateMachine allows you to control state with transitions on events, guard and actions
- State machine can save and load state by using StateMachinePersister implementation
- You can provide your own StateMachine for Game to change basic lifecycle, but it won't be triggered automatically
- You can provide StateMachinePersister to save game state. It can be used to save player progress or something else
- Added Slf4j to GameLogger
- Game is now sending GameEvents through BasicGamePublisher
0.5.0
What's Changed
- Added preStart, postStart to Game
- Added preUpdate, postUpdate to Game
- Added stop() to GameObject, GameScript
- Added getStateManager() to Game
- Changed BasicGameStateManager
Full Changelog: 0.4.0...0.5.0
Maven
<dependency>
<groupId>tech.hiddenproject</groupId>
<artifactId>progressive</artifactId>
<version>0.5.0</version>
</dependency>
Gradle
compile 'tech.hiddenproject:progressive:0.5.0'
0.4.0
What's Changed
- Removed FrameTimeType from Game
- Added update, start, dispose to GameScript and GameObject
- start, update, dispose will be called automatically on each GameObject in Game and then on each GameScript cascade. GamePublisher is not used for this. Methods will be called with parallel unordered streams
- Changed FrameTimeType to PublisherType
- Added setPublisherType, getPublisherType to GamePublisher
- Made constructors in BasicDIContainer and BasicGame public
- Added unsubscribe to GamePublisher
- Changed package name
- Small improvements
Full Changelog: 0.3.0...0.4.0
0.3.0
What's Changed
- Added variant to GameBean and BasicDIContainer
- Changed beans map in BasicDIContainer
Full Changelog: 0.2.0-STABLE...0.3.0
0.2.0-STABLE
- Made basic implementations thread safe
Some methods of basic implementations are synchronized now, classes use concurrent collections
- BasicDIContainer can inject beans through interfaces
- BasicDIContainer sees circular dependencies
- Beans name to inject can be specified with Qualifier annotation
- getBean(Class) throws BeanConflictException if there are more than one bean found of given Class
- Add BasicComponentManager to control DIContainer, Game, ProxyCreator and Logger instances
- ProxyCreator can properly use Autofill constructors
- BasicComponentCreator now has isHandlesEnabled(boolean) method to specify if MethodHandle apis are supported (useful with Android SDK)
- Other fixes and improvements
Full Changelog: 0.1.3-STABLE...main
0.1.3-STABLE
- Added proxy classes and objects creation feature
- Added GameInitializer
- Small fixes and improvements
Full Changelog: 0.1.2-STABLE...0.1.3-STABLE