private void Init(int time, Position cherry) { _status = GameStatus.NeedInitEvent; _defaultMap = (Map)Map.Clone(); _pacman = Map.Pacman; _pacman.SetTime(time); _cherry = new Cherry(cherry, Map); _ghosts = new MenagerGhosts(Map, time); _pacman.SinkAboutEatEnergizer += _ghosts.AreFrightened; _pacman.SinkAboutCreateCherry += () => _cherry.Start(); _pacman.SinkAboutNextLevel += NextLevel; _pacman.SinkAboutEatGhost += _ghosts.EatGhost; _ghosts.AddSinkAboutEatPacmanHandler(PacmanIsKilled); }