Implementing the character life cycle
We have everything we need to create an epic battle between units and enemies; however, we need to add one last component to make it possible to reuse them once they are dead in combat. We need to return the GameObjects to the Object Pool, but also clean up all the scripts that we attached to it so that the next time we spawn a new GameObject, there is nothing left from the previous data – it is still the same GameObject instance reused, but with fresh scripts.
We are going to add a new component that will be attached to the GameObject when it is dead. The new component will take care of waiting a few seconds before adding the GameObject back to the Object Pool and removing all the scripts attached since it was spawned. So, create a new script in the Scripts | Battle folder and name it DeadComponent
. Then, replace the content with the following code:
using UnityEngine; using UnityEngine.AI; namespace Dragoncraft { public...