I am having trouble wrapping my head around this ordinary class versus MonoBehaviour. I understand that a MonoBehaviour is-a class and that defining a class such as public class Weapon{...}
is valid code. I also understand that MonoBehaviour enables the automatic process of function calls such as Update( ), FixedUpdate( ), etc.
However, my problem lies in where do I put that script such that the type is recognized by multiple Components.
Ex: I have two turret types
public class MountedTurret : MonoBehaviour{}
public class MovingTurret : MonoBehavior{}
Both of these I want to have an instance of class Inventory()
What I don’t want to do is define two versions of Inventory.
public class MountedTurret : MonoBehaviour{
public class Inventory{}
private Inventory inventory;
}
public class MovingTurret : MonoBehavior{
public class Inventory{}
private Inventory inventory;
}
If I just define in an Inventory.cs, where do I put that script so that both my turrets can recognize that script? Is it sufficient to just sit in my project folder? Do I have to put it in some lib directory? Do I have to attach it to a GameObject?