I am trying to construct an object with Activator.CreateInstance(), however i am receiving null for some unknown to me reason.
public class SpawnManager
{
public void CreateSpawnable<T>()
{
Type type = typeof(T);
ISpawnable<SpawnableParameters> spawnable = Activator.CreateInstance(type) as ISpawnable<SpawnableParameters>;
// the spawnable object always returns null
}
public void Start()
{
CreateSpawnable<SpawnableCollectible>();
}
}
public class SpawnableCollectible : ISpawnable<ParametersCollectible>
{
public void Spawn(ParametersCollectible parameters)
{
}
}
Can somebody explain why i can't create an object instance which implements the given interface like that and write the correct approach for instantiating such an object?
SpawnableParameters?