I'm switching to Unity/C# from a DirectX/C++ background and, although I'm pretty comfortable with C# itself now, I'm having a bit of a time getting my head around this new approach to coding in Unity with script components.
Let's say I have an enemy AI character, that is represented in the world by a simple cube, and has its own script (Enemy.cs). What if, for example, I have a finite state machine system (a whole set of related classes), written in plain ol' C#, that I want my Enemy class to use. I'm having difficulty figuring out how I would model the "has-a" relationship here. The FSM classes have nothing to do with GameObjects and they needn't derive from MonoBehaviour either. How do I integrate this code into the project?