-
Notifications
You must be signed in to change notification settings - Fork 2
Banana Slip Testing
Treff edited this page Oct 7, 2021
·
2 revisions
The Banana Slip Interaction utilities the AI Priority Task system, as the interaction is analogous to NPC movement.
- SlipTask: SlipTask is the task that runs the uncontrolled gliding movement of the player, it is a
PriorityTaskassigned to aAITaskComponentrequiring aPhysicsMovementComponent - BananaPeelActions: This is a generic subclass of InteractableComponent, with unique modifications to call the SlipTask and initiate on collision not interaction.
- SlipTask is only run when priority is non-negative
- Test negative initialization of
PriorityTask - Test that
PriorityTaskis not run while priority is negative - Test priority modification to be non-negative
- Test that
PriorityTaskruns when non-negative
- Test negative initialization of
- SlipTask runs subtask
MovementTaskto move player- Test that MovementTask is called and finished
- Test that MovementTask can be called again on reinteraction (i.e. when
PriorityTask.start() is run again) - Test that priority is modified to negative when MovementTask is finished with status FINISH.
- BananaPeelActions are collision based
- Test that
OnInteractionis called on collision, not on E press. - Test that
OnInteractionCannot be retriggered on E press.
- Test that
- BananaPeelActions modifies SlipTask priority to be non-negative
- Test that BananaPeelActions cannot access SlipTask should it not exist
- Test that BananaPeelActions can modify SlipTask priority.
- Test that the shouldSlip boolean is true on collision, and false otherwise.
Entities and Components
Interaction System
Unit Testing
Input Handling
UI
Game Screens and Areas
Map Generation
Basic Interactable Objects Design