Namespace TinnyStudios.AIUtility.Impl.Examples.TurnBasedSpell
Classes
ElementTrait
Determines the pros and cons of an element.
RuntimeSpellAttackData
The runtime data of the spell attack. This is mutable, meaning its max value can be changed. This pattern just save us from having to clone SpellAttackData scriptable object.
SpellAttackAction
The action that choose a spell from RuntimeData Each move will increase the Used Count.
SpellAttackData
A scriptable object containing the element type of the attack. Just an example, no strength or abilities included.
SpellElementConsideration
Considers the effectiveness of the attack and receiver's element.
SpellQuantityConsideration
Considers if a spell has any uses left.
TurnBaseCharacter
A character in the turn base example. This is used to tag a character's element type.
TurnBasedGameManager
An example game manager for a turn base agent. This is not production code so please use it just as an example on a starting point on understanding how to execute and set up a turn based Agent.
TurnBaseSpellGameContext
The Game Context data for each agent in the game. Here GameManager is manually injected by Unity's interface. You could have your game manager pass all the dependencies down instead. Up to you.
Interfaces
IDataBind<T>
Provides an interface to inject a dependency. See SpellElementConsideration Bind method.
Enums
EElementType
The Element Types available in the game. Can be used by a spell or a character to define their element.