Actors

Actors are meant for users to configuratively add sound and visuals to their game.

To edit Actors, in Unity go to Tools→The Button Engine→Data: Actors

Actors are stateless, so they can work on multiple events at the same time and need to be instantiated only once (at start).

Actions Events

actorActions

actorEvents

Here is a compatibility table of which Actions can be used with which events.

Actions Events

Play Sound

All

Instantiate Prefab

Behavior (Buff), Effect, Item, Projectile, Unit

Cursor Splat

Ability (targeted ability only)

Tweening

Unit, Behavior, Projectile (if a Unit was hit)

When you use an action / event combination that is not compatible, a NotImplementedException will be thrown.

Actor Types

Cursor Splat

This is a means to display a target area for targeted area abilities. Currently, there is only a circle available. The plan is to improve this so that images and other shapes can also be used here.

cursorSplat

This is supposed to be combined with a targeted Ability (AbilityTarget) that has an EffectSearchArea that searches an area of the same size as indicated by the splat.

In a cursor splat Actor, radius, color and width of the line can be configured.

If your cursor splat does not work, check if the Ground Layer is configured correctly in the TbeSceneSettings and that the Ground Layer is assigned to the Terrain or GameObject that makes up your ground.

Instantiate Prefab

Used to display visual effects. If the "destroy after" property is left at zero, then the User is responsible for seeing to the destruction of the prefab when it’s no longer needed. Destruction of a prefab with "destroy after" = zero may still happen depending on the event.

E.g., when reacting to a Buff event, the prefab will be created as a child of the buff, and thus it will get destroyed along with the buff.

Play Sound

There are three modes to Play Sound

  • Play

    • plays an Audio Clip

  • Play One Of

    • randomly plays an Audio Clip from a list of Audio clips.

    • this should not be needed at all because you can get the same and better results with Audio Resource

  • Audio Resource

    • Audio Resource is a Unity feature. And it is the base class of AudioClip and AudioRandomContainer. You create an AudioRandomContainer by right-clicking in the Project Tab, then "Create→Audio→Audio Random Container" Here you can not only give Audio Clips to randomly choose from but can also give pitch randomization.

Tweening

Currently, there are two implementations of the TweenerMode class:

  • ScaleTweener

  • ShakeRotation

Users can create additional implementations (which will be auto-discovered and be selectable in the UI) but tweening is restricted to Transforms

Future of Actors

The future of actors is very bright due to the reactive nature of the system. It will be a breeze to implement e.g., Play a sound at most x times per y seconds.