Documentation‎ > ‎

1. Overview

Here is a quick summary of all the major parts of TargetPro.

Targetable

Putting this on a GameObject marks it as targetable by TargetTracker. Without this component, a GameObject will be ignored by the system.

This component offers several events which you can subscribe to. For example, "OnHit", which allows you to determine what should happen to the target based on the provided HitEffect data struct.

See the Targetable component documentation for details.

Target Tracker

The Target Tracker component is responsible for sorting Targets in range based on the options you provide.  It allows you to set the size and shape of the Perimieter (which detects and tracks the targets), determines how many targets you want to work with and caches information to increase performance and ease development.

You can either work directly with this component via the scripting API, or use a FireController to act on the target list.

See the Target Tracker component documentation for details.

Fire Controller

The Fire Controller automates many flexible possibilities regarding the usage of the TargetTracker information. Notify targets that they have been hit or launch a projectiles, trigger effects, and more.

The Fire Controller can automatically notify targets when they are hit, and pass them a HitEffect data struct with all the parameters necessary to describe an effect. For example, without any code, you can make a gun turret fire at a target only when it is directly in front of the gun.

The Fire Controller also offers a number of useful events which you can use for any custom handling

See the Fire Controller component documentation for details.

HitEffect Data Struct

A struct  which contains all the information needed to define any effect you can think of, from laser hits, to nukes, to magic attacks.  This simple script object is passed to you by delegates when an event occurs, such as a Targetable's OnHit event, or by directly referencing a TargetTracker or Projectile.

See the HitEffect Code Reference for details.