コード例 #1
0
        public DiscordViewModel(IVTubeMonServerConnection vtubeMonServerConnection, ILogger logger)
        {
            ServerCollection = new ObservableCollection <ServerViewModel>();

            _logger = logger;
            _vtubeMonServerConnection = vtubeMonServerConnection;

            vtubeMonServerConnection.OnConnect       += VtubeMonServerConnection_OnConnect;
            _vtubeMonServerConnection.OnDisconnect   += _vtubeMonServerConnection_OnDisconnect;
            _vtubeMonServerConnection.OnReadyChanged += _vtubeMonServerConnection_OnReadyChanged;
            _dispatcherTimer       = new DispatcherTimer();
            _dispatcherTimer.Tick += UiTimerUpdate;
            UiInterval             = 1000;
        }
コード例 #2
0
        public MainWindowViewModel(ILogger logger, IVTubeMonDbConnection vTubeMonDbConnection, DataCache dataCache, IVTubeMonServerConnection vTubeMonServerConnection, DatabaseWorkspace databaseWorkspace)
        {
            LogCollection         = new ObservableCollection <string>();
            _logger               = logger;
            _logger.OnLog        += Logger_OnLog;
            _vTubeMonDbConnection = vTubeMonDbConnection;
            _vTubeMonDbConnection.OpenConnection();

            _dataCache = dataCache;
            _dataCache.RefreshAll();
            _dataCache.VtuberCache.OnDataRefreshed += VtuberCache_OnDataRefreshed;

            AgencyCollection = new ObservableCollection <Agency>(_dataCache.AgencyCache.CachedList);
            VTuberCollection = new ObservableCollection <VTuberViewModel>();
            UpdateVtuberCollection();

            _vTubeMonServerConnection              = vTubeMonServerConnection;
            vTubeMonServerConnection.OnConnect    += VTubeMonServerConnection_OnConnect;
            vTubeMonServerConnection.OnDisconnect += VTubeMonServerConnection_OnDisconnect;
            _vTubeMonServerConnection.CreateNewClient();

            _databaseWorkspace = databaseWorkspace;
        }