Example #1
0
 public static void UpdateSpawnable <ULevelObject, UActor, UModel>
 (
     ULevelObject current,
     Spawnable <UActor, UModel> spawnable,
     LevelObject <UActor, UModel> .CreateModelDelegate CreateModel
 )
     where ULevelObject : LevelObject <UActor, UModel>, new()
     where UActor : MonoBehaviour, IEntityInitialisable <UModel>, ISpawnTrackable
     where UModel : class
 {
     if (current != null)
     {
         if (spawnable.Get == null)
         {
             spawnable.Initialise(CreateModel());
         }
         current.SetActor(spawnable.Get);
         current.UpdateActor();
     }
     else
     {
         spawnable.Recycle();
     }
 }