Action Timeline is a Unity package designed to provide action and attribute systems while integrated with the Unity Timeline.
Timeline Tracks and Interfaces
The Action System is responsible for handling the activation, deactivation, and cancellation of actions based on predefined rules and combos. It serves as a central hub for handling various aspects related to player actions and interactions.
The Attribute System is a framework designed to manage various values associated with entities within a game. These values can represent characteristics such as health, strength, agility, etc. The system provides a structured approach to handle these attributes, allowing for easy modification, tracking, and management throughout the game.
Timeline Tracks and Interfaces
The timeline part of the package introduces a series of tracks and interfaces for orchestrating the temporal aspects of actions. Various timeline tracks, such as Animation, Damage Zone, etc., handle specific facets of actions. All those tracks communicate with Interfaces that define the common functionality for these timelines. These tracks facilitate precise timing within the Unity Timeline, enhancing the overall control and coordination of events in gameplay. While initially designed for combat-oriented games, the tracks are versatile and applicable to various game types.
There are demo scenes included in the package with information on the purpose of each scene, interactions, and any specific features demonstrated.
Other Components, Codes, and Scripts
In addition to the core components mentioned above, the package includes various components provided as examples or even basics for your project.
The entirety of the damaging revolves around three aspects:
IDamageDealerComponent: It provides an layer mask for all the damageable objects. When implementing it, the function ApplyDamage will have to find something about the target that responds to the damaging. Like a health component on enemies or a breakable component for objects. it can be IDamageReactionComponent
and by calling TakeDamage on it, but that is not enforced.
IDamageReceiverComponent: It allows to implement how to respond to damage. The method TakeDamage takes the damage data to do anything including calculation regarding health or armor.