Updated Team and fixed some bugs I hadn't noticed (some cases with null references, also added IsEnemy). Added use of Teams to TrackingAI
Added Team to player and enemy prefabs (also added enemy prefab, didn't have it before).
Replaced Arrays with Lists in TrackingAI. Update now removes destroyed (null) objects from it's list.
Fixed math in BoundingsTimeout2D (used size instead of extents, which was twice as large as necessary). Size is 2x extents, meaning previously the object would need to be half of its width / height out side of the screen before the timer kicked in.
Cleaned some leftovers in LinearEnemy. Might consider some abstraction due to large similarities between LinearEnemy and Player.
Renamed bullettime and such variables to refireRate for clarity.
Renamed Bullet class to Projectile for clarity (perhaps being picky with the English, but the class better defines a more generic "projectile motion" that is not behavior unique to bullets). It also sounds nicer than having a Missile or other similar object using a "Bullet" class.
Curly braces convention get. Hopefully MonoDevelop doesn't make that hell to maintain. I am curious to see if I could just start using Atom instead of MonoDevelop...
Improved the test scene and fixed some stuff (doubled background so it looks right when looping, made sure everything was prefabbed that needed to be, etc.)
bullettime
and such variables torefireRate
for clarity.