Releases: Pyxus/fray
v1.0.1
v1.0.0
Added
- Added
ignore_indistinct_inputsproperty toSequenceAnalyzer. - Added
get_match_path()method toSequenceAnalyzer.
Changed
- Changed state machine 'go_to' functions to 'goto'.
- Refactored input filtration.
FrayInputEventfilteredproperty is now replaced byis_distinct. - Renamed
SequencePathadd()method tothen(). - Changed
CombatStateMachineinput buffer from buffering states to only buffering inputs which go to the next state when allowed.
Removed
- Removed
match_pathparameter fromSequenceAnalyzermatch_foundsignal.
Fixed
- Fixed global transitions not being reachable.
v1.0.0-alpha.4
Added
-
Added
device_connection_changedsignal toFrayInput -
Added
Controllernode to input module. -
Added animation state machine to state module
Changed
-
Completely reworked state management. The state module now includes a generic hiearchical state machine which is accessible to the user.
-
Renamed module from 'state_management' to 'state'.
-
Input binds can now implement a
get_strength()method. -
Virtual device can now set strength in the
press()method.
Fixed
-
Fixed inability to load plugin due to
VirtualDevicereferencingFrayInputsingleton. -
Fixed inability to use
FrayInput.get_strength()with virtual devices. The method now checks the strength stored in input state instead of directly checking Godot'sInputsingleton.
v1.0.0-alpha.3
Added
-
Added new combination builders to
ComplexInputFactoryclass. -
Added new InputBindFrayAction. This allows you to create a bind using simple binds in a way that mimic's Godot's actions.
-
Added new class icons.
-
Added "situation_changed" signal on
CombatStateMachine. -
Added ability to set combat state instance in
CombatSituationBuilder. -
Added
active_hitboxesflag toHitState2DandHitState3D. -
Added ability to create virtual devices in
FrayInputsingleton. -
Added
is_any_pressed()method toFrayInputsingleton. -
Added
is_device_connected()method toFrayInputsingleton. -
Added ability to remove binds and complex inputs from
FrayInputList.
Changed
-
Updated hit detection system.
-
Renamed 'hit_detection' folder to more general 'collision'.
-
Replaced individual module pseudo-namespaces with 1 namespace. Now instead of
FrayInputNSyou would typeFray.Input. -
Most input binds now inherit from new InputBindSimple type.
-
Renamed
CombatGraphtoCombatStateMachine. -
Renamed
HitStateSwitchertoHitStateManager. -
Exposed
add_statemethod inCombatSituationBuilder. -
Updated state machine library to be more flexible. States now have new 'enter', 'process', and 'exit' virtual methods that are invokved by the state machine.
-
HitboxAttributes'
can_detectmethod now takes attribute instead of hitbox. -
The
CombatStateMachinewill now default to using the first added situation. -
Renamed
FrayInputListback toFrayInputMapto mirror Godot's naming
Removed
-
Removed push box. There will no longer be a default push box implementation, users can create their own depending on their collision set up.
-
Removed
CombatGraphDataclass. -
Removed
state_changedsignal onCombatStateMachine. -
Removed
current_stateproprety fromHitStateManager2DandHitStateManager3D. State will now be activated when active hitboxes are set.
Fixed
-
InputBindJoyAxis not reading axis correctly.
-
Fixed 3d nodes extending
Node2Dinstead ofSpatial. -
Fixed lack of null checks on
FrayInputmethods.
v1.0.0-alpha.2
Fixed
- Memory leaks related to inner class cyclic dependency and cyclic references in complex input.
v1.0.0-alpha
Added
-
Added
CombatSituationBuilderto make constructing combat situations in code easier. -
Added
CombatGraphDatato hold all situation state machines associated with a name. -
Added
ComplexInputto replace old 'special' inputs. -
Added
ComplexInputFactoryto make constructing complex inputs in code easier. -
Added support for charged inputs through the updated
SequenceAnalyzer. This allows for an input sequence to require that the first button in the sequence be held for a certain amount of time in order to satisfy the sequence. -
Added support for negative edge through the updated
SequenceAnalyzer. This optionally allows for the release of a button to satisfy the last input in a sequence.
Changed
-
Updated the doc comments of several classes.
-
Updated
FrayInputEventto inlcude more information on an input's state such as the frame at which a press occured. Additionally added helper methods to calculate certain things such as the how long an input was held. -
Replaced combination and conditional inputs with component based alternative reffered to as a
ComplexInput. The previous system allowed for inputs to reference other inputs which could result in cyclic dependencies. Complex inputs only make reference to input binds which are atomic. -
Removed 'expression' and 'node_path' property from
EvaluatedConditionclass. They will be reimplemented in a later version. -
Renamed all input binds classes from
(NameHere)InputBindtoInputBind(NameHere). -
Changed
CombatGraphto work with newCombatGraphDataclass rather than directly setting combat situation. -
Changed
SequenceAnalyzer. The previouse SequenceAnalyzerTree implementation was redesigned and merged with theSequenceAnalyzerclass. -
Changed 'state' folder to 'state_management'.
-
Changed
FrayCombatStatenamespace toFrayStateMgmt. -
Renamed
SequenceCollectiontoSequenceList. -
Renamed
SequencetoSequecnePath. -
Renamed
FrayInputMapsingleton toFrayInputList.
Fixed
EvaluatedCondition's string condition not being evaluated.
Deprecated
- All scripts related to hit detection are pending redesign.