SPAM Framework Documentation

Telegraph

A visual representation of the area where an ability will apply it's effects. There are two pre-supplied telegraphs, Circle and Wedge, which can be found under the Prefabs folder.
If you use events to handle telegraphing of abilities you would theoretically only need one telegraph since it will update itself automatically (both size and position) when AbilityEventSystem.AbilityUsedEvent is raised.
This has some limitations as there can only be only telegraph active in the scene at one time, so it's not applicable if you need multiple telegraphs for abilities. For this use-case you will have to write your own custom code to handle a pool of telegraphs. Note that projectile abilities can also be telegraphed by assigning a telegraph to the ability.

Event driven
Check this on the telegraph to enable it to be controlled by events from the AbilitySystemEvent-Mediator. If this is set to false then the telegraph has to be controlled manually.

Circle telegraph

This telegraph works by scaling two separate quads with a custom shader applied. The outer quad will automatically be set to a correct size depending on the ability's AOE-radius settings.
If the ability is set to be telegraphed during warmup then the inner quad will automatically scale itself up for the Warmup-duration until it reaches the same size as the outer quad when Warmup has elapsed just before Cast

Scale factor
Take a quad and apply the given material needed to display only the telegraph's circular texture. Then take a normal sphere and position it at the exact same position of the quad so they overlap. Then scale the sphere uniformly on all axes until it exactly lines up with the telegraph's texture. The scale factor will then be 0.5 divided the scale of the sphere.
Ex: Sphere scale after following above steps: 1.2
Scale factor: 0.5/1.2 = 0.416

Wedge telegraph

The telegraph works effectively the same as the cricle telegraph, but it renders the wedge as a mesh at runtime.

Update frequency
The delay between mesh-redraws.
Setting this to a value higher than 0 is most often preferred since a small delay in redrawing is rarely noticeable and increases performance.

Backlinks: