Статические классы в C #, в чем плюсы / минусы?

Я программирую небольшую игру для своего школьного задания, игра представляет собой простую 2D-игру с монстрами, предметами и пулями. В основном вы бегаете вокруг и пытаетесь собрать все монеты предмета, монстры пытаются помешать вам, и вы можете сбивать их пулями, которые вы собираете. Очень просто.

Вопрос в том, что я добавил монстров, предметы, стены, игрока и пули в статический класс с именем LiveObjects, и к этим объектам я могу получить доступ из любого места в коде. Это плохая практика? Какая альтернатива? (Это'не многопоточные)

LiveObjects.cs

internal static class LiveObjects
{        
    public static List items = new List(); // List with all the items
    public static List monsters = new List(); // List with all present monsters
    public static List walls = new List(); // List with the walls
    public static List bullets = new List(); // List with the bullets
    public static Player player = new Player(0, 0); // The player object
}

Я использую множество различных классов для манипулирования данными внутри LiveObjects, а затем, чтобы избежать передачи всего списка, я могу просто вызвать его непосредственно внутри любого метода.

Ответы на вопрос(5)

Ваш ответ на вопрос