public BaseUnit CreateUnit <UnitClass> (Vector2Int coordinates) where UnitClass : BaseUnit { UnitClass unit = ScriptableObject.CreateInstance <UnitClass>(); unit.ID = UnitRegistry.setID(); unit.xPos = coordinates.x; unit.yPos = coordinates.y; unit.ownerID = GameMaster.Instance.getActivePlayer(); return(unit); }