public async void CheckForUpdate(bool resuming = false) { var BlogPath = Path.Combine(NetworkDatabase.Folder, "Update.txt"); var SettingsPath = Path.Combine(NetworkDatabase.Folder, "Predictions.TVP"); NetworkDatabase.mainpage = this; //Only download new predictions if it's been at least a week from the Saturday included in those predictions if (File.Exists(SettingsPath) && File.Exists(BlogPath)) { var week = new PredictionWeek(); if (DateTime.Now - week.Saturday > new TimeSpan(7, 0, 0, 0)) { await NetworkDatabase.ReadUpdateAsync(); } else if (!resuming) { await NoUpdate(); } } else { await NetworkDatabase.ReadUpdateAsync(); } }
public void InitializeDatabaseClientside(MeshPacket p) { if (database != null) { Debug.LogError("Database already exists. InitializeDatabaseClientside prohibited."); return; } DatabaseUpdate u = DatabaseUpdate.ParseContentAsDatabaseUpdate(p.GetContents()); //Here, we construct the database shadow using the database update. bool flagHasFoundDatabase = false; MeshNetworkIdentity databaseID = null; foreach (MeshNetworkIdentity i in u.objectDelta.Keys) { if (i.GetObjectID() == (ushort)ReservedObjectIDs.DatabaseObject) { flagHasFoundDatabase = true; database = game.SpawnDatabase(i).GetComponent <NetworkDatabase>(); //Spawns the database prefab. databaseID = i; break; } } if (flagHasFoundDatabase == false || database == null) { Debug.LogError("Database intialization failed."); return; } database.ReceivePacket(p); }
private async void TMDB_Clicked(object sender, EventArgs e) { var p = BindingContext as PredictionContainer; var uri = NetworkDatabase.GetTMDBuri(p.show.Name); await Launcher.OpenAsync(uri); }
internal NetworkReportDialog(NetworkContainer networkContainer, NetworkDatabase networkDatabase) { this.m_database = networkDatabase; this.m_network = networkContainer; this.InitializeComponent(); }
public void HostGame() { if (lobby.Equals(CSteamID.Nil) == false) { Debug.LogError("Lobby already created. Probably already hosting. Must shut down hosting before doing it again."); return; } //Construct the network database. Very important! MeshNetworkIdentity databaseID = new MeshNetworkIdentity((ushort)ReservedObjectIDs.DatabaseObject, (ushort)ReservedPrefabIDs.Database, (ulong)GetLocalPlayerID(), true); database = game.SpawnDatabase(databaseID).GetComponent <NetworkDatabase>(); //Spawns the database prefab. Debug.Log("Registering database."); database.AddObject(databaseID, true); //Tells the database that it itself exists (funny) //First, we get our own player object, and we make ourselves the provider. Player me = ConstructPlayer(SteamUser.GetSteamID()); Debug.Log("Registering provider."); database.AddPlayer(me, true); //Actually create the lobby. Password info, etc, will be set after this. Debug.Log("Creating Lobby"); m_LobbyCreated.Set(SteamMatchmaking.CreateLobby(ELobbyType.k_ELobbyTypePrivate, 4)); }
public async void RefreshPredictions_Clicked(object sender, EventArgs e) { if (Connectivity.NetworkAccess == NetworkAccess.Internet) { if (File.Exists(Path.Combine(NetworkDatabase.Folder, "Update.txt"))) { File.Delete(Path.Combine(NetworkDatabase.Folder, "Update.txt")); } if (File.Exists(Path.Combine(NetworkDatabase.Folder, "Predictions.TVP"))) { File.Delete(Path.Combine(NetworkDatabase.Folder, "Predictions.TVP")); } Activity.IsRunning = true; CurrentStatus.Text = "Downloading Latest Predictions..."; RefreshPredictions.IsVisible = false; await NetworkDatabase.ReadUpdateAsync(); } else { await DisplayAlert("TV Predictions", "Not Connected to the Internet! Try again later.", "Close"); } }
//---------------------------------------- #region Constructor internal NetworkReportDialog(NetworkContainer networkContainer, NetworkDatabase networkDatabase) { this.m_database = networkDatabase; this.m_network = networkContainer; this.InitializeComponent(); }
private TreeNode createNode(NetworkDatabase database) { TreeNode node = new TreeNode("Database"); node.Tag = database; return(node); }
private async void SaveBackup_Elapsed(object sender, ElapsedEventArgs e) { if (NetworkDatabase.backup) { await NetworkDatabase.SaveBackup(); } }
void OnEnable() { netDB = GetComponent <NetworkDatabase>(); if (netDB == null) { Debug.LogError("StateChangeScheduler could not acquire database reference"); } }
/// <summary> /// Constructs a new BACnetPanel2 instance /// </summary> public BACnetPanel2() { RefreshInterval = TimeSpan.FromSeconds(Constants.DefaultRefreshInterval); _editorBindings = new List <IEditorBinding>(); var session = BACnetSession.Current; host = session.GetProcess <Host>(); client = new Client.Client(host); db = session.GetProcess <NetworkDatabase>(); }
public void WarmupHosting() { MeshNetworkIdentity databaseID = new MeshNetworkIdentity((ushort)ReservedObjectIDs.DatabaseObject, (ushort)ReservedPrefabIDs.Database, (ulong)GetLocalPlayerID(), true); NetworkDatabase database2 = game.SpawnDatabase(databaseID).GetComponent <NetworkDatabase>(); //Spawns the database prefab. Debug.Log("Registering database."); database2.AddObject(databaseID, true); //Tells the database that it itself exists (funny) //First, we get our own player object, and we make ourselves the provider. Player me = ConstructPlayer(SteamUser.GetSteamID()); Debug.Log("Registering provider."); database.AddPlayer(me, true); }
//public async Task<bool> GetImage() //{ // var ID = await NetworkDatabase.GetShowID(show.Name, show.network.name); // imagesource = await NetworkDatabase.GetImageURI(ID); // return true; //} async void GetImage() { await Task.Run(async() => { var ID = await NetworkDatabase.GetShowID(show.show.Name, show.network.name); imagesource = await NetworkDatabase.GetImageURI(ID); await Device.InvokeOnMainThreadAsync(() => { OnPropertyChanged("ImageUri"); OnPropertyChanged("ImageURL"); _visibility = false; OnPropertyChanged("ActivityVisibility"); }); }); }
async void LoadSearch() { var result = await NetworkDatabase.GetSearchResults(show); var ShowList = new ObservableCollection <TMDBContainer>(); TMDBResults.ItemsSource = ShowList; TMDBResults.IsVisible = true; foreach (TVSearchResult s in result) { var Series = new TMDBContainer(s.Show, s.Show.BackdropPath, ShowList.Count + 1); ShowList.Add(Series); } Loading.IsVisible = false; }
async Task NoUpdate() { await NetworkDatabase.AuthenticateTMDB(); var FilePath = Path.Combine(NetworkDatabase.Folder, "Update.txt"); Directory.CreateDirectory(NetworkDatabase.Folder); if (File.Exists(FilePath)) { using (var fs = new FileStream(FilePath, FileMode.Open)) { using (var reader = new StreamReader(fs)) { NetworkDatabase.currentText = await reader.ReadToEndAsync(); } } } CompletedUpdateAsync(this, new AsyncCompletedEventArgs(null, false, this)); }
async void LoadImage(PredictionContainer p) { //bool reload = false; //if (!NetworkDatabase.ShowIDs.ContainsKey(p.show.Name) && Application.Current.Properties.ContainsKey("SHOWID " + p.show.Name)) // reload = true; var ID = await NetworkDatabase.GetShowID(p.show.Name, p.network.name); if (ID > 0) { if (Device.RuntimePlatform == Device.UWP) { var uri = await NetworkDatabase.GetImageURI(ID); ShowImageUri = uri.AbsoluteUri; ShowImage.BindingContext = this; ShowImage.SetBinding(ImageEffect.TextProperty, new Binding("ShowImageUri")); p.IsLoaded = true; ShowImage.IsVisible = true; //ImageLoading.IsVisible = false; } else { ShowImage.Source = new UriImageSource { Uri = await NetworkDatabase.GetImageURI(ID), CachingEnabled = true, CacheValidity = new TimeSpan(90, 0, 0, 0) }; if (ShowImage.Source != null) { p.IsLoaded = true; ShowImage.IsVisible = true; ImageLoading.IsVisible = false; } } p.Overview = NetworkDatabase.ShowDescriptions[ID]; } //if (reload) //{ // ID = await NetworkDatabase.GetShowID(p.show.Name, p.network.name, true); // if (ID > 0) // { // ShowImage.Source = new UriImageSource // { // Uri = await NetworkDatabase.GetImageURI(ID), // CachingEnabled = true, // CacheValidity = new TimeSpan(90, 0, 0, 0) // }; // p.Overview = NetworkDatabase.ShowDescriptions[ID]; // } //} var TMDBText = "This product uses the TMDb API but is not endorsed or certified by TMDb."; var Formatted = new FormattedString(); Formatted.Spans.Add(new Span { Text = TMDBText }); if (NetworkDatabase.TMDBerror) { Formatted.Spans.Add(new Span() { Text = "Error connecting to TMDB! Some show details and/or images may temporarily be unavailable.", TextColor = Color.DarkRed }); } TMDBNotice.FormattedText = Formatted; DelayedScroll.Elapsed += DelayedScroll_Elapsed; DelayedScroll.AutoReset = false; ScrollTo(); CheckVisible.Elapsed += CheckVisible_Elapsed; }
protected override async void OnSizeAllocated(double width, double height) { base.OnSizeAllocated(width, height); // fix for carouselview orientation bug on android //if (Device.RuntimePlatform == Device.Android) //{ // YearList.Orientation = // CarouselViewOrientation.Vertical; // YearList.Orientation = // CarouselViewOrientation.Horizontal; //} var tmpDesktop = isDesktop; isDesktop = width > (1080); SideColumn.IsVisible = isDesktop; if (isDesktop != tmpDesktop) { if (isDesktop) { FirstColumn.Width = new GridLength(1, GridUnitType.Star); SecondColumn.Width = new GridLength(1, GridUnitType.Star); if (LastItem != null) { LastItem.ShowDetails = false; ShowImage.Source = null; ImageLoading.IsVisible = true; //var ID = await NetworkDatabase.GetShowID(LastItem.Name, LastItem.network.name); //if (ID > 0) //{ // ShowImage.Source = await NetworkDatabase.GetImageURI(ID); // LastItem.Overview = NetworkDatabase.ShowDescriptions[ID]; // ShowImage.IsVisible = true; // ImageLoading.IsVisible = false; //} //bool reload = false; //if (!NetworkDatabase.ShowIDs.ContainsKey(LastItem.Name) && Application.Current.Properties.ContainsKey("SHOWID " + LastItem.Name)) // reload = true; var ID = await NetworkDatabase.GetShowID(LastItem.show.Name, LastItem.network.name); if (ID > 0) { if (Device.RuntimePlatform == Device.UWP) { var uri = await NetworkDatabase.GetImageURI(ID); ShowImageUri = uri.AbsoluteUri; ShowImage.BindingContext = this; ShowImage.SetBinding(ImageEffect.TextProperty, new Binding("ShowImageUri")); LastItem.IsLoaded = true; ShowImage.IsVisible = true; //ImageLoading.IsVisible = false; } else { ShowImage.Source = new UriImageSource { Uri = await NetworkDatabase.GetImageURI(ID), CachingEnabled = true, CacheValidity = new TimeSpan(90, 0, 0, 0) }; if (ShowImage.Source != null) { LastItem.IsLoaded = true; ShowImage.IsVisible = true; ImageLoading.IsVisible = false; } } LastItem.Overview = NetworkDatabase.ShowDescriptions[ID]; } //if (reload) //{ // ID = await NetworkDatabase.GetShowID(LastItem.Name, LastItem.network.name, true); // if (ID > 0) // { // ShowImage.Source = new UriImageSource // { // Uri = await NetworkDatabase.GetImageURI(ID), // CachingEnabled = true, // CacheValidity = new TimeSpan(90, 0, 0, 0) // }; // LastItem.Overview = NetworkDatabase.ShowDescriptions[ID]; // } //} } } else { FirstColumn.Width = new GridLength(1, GridUnitType.Star); SecondColumn.Width = new GridLength(0); if (LastItem != null) { LastItem.ShowDetails = true; } } } }
private TreeNode createNode(NetworkDatabase database) { TreeNode node = new TreeNode("Database"); node.Tag = database; return node; }
private async void ShowsList_ItemTapped(object sender, ItemTappedEventArgs e) { var p = ShowsList.SelectedItem as PredictionContainer; if (PreviousItem != null && PreviousItem != p) { PreviousItem.ShowDetails = false; if (SidePanel.BreakdownView != null) { FadeOut(false); } } SidePanel.BindingContext = p; SidePanel.IsVisible = true; SidePanel_PanelOpened(this, new EventArgs()); if (!isDesktop) { p.ShowDetails = !p.ShowDetails; if (!p.ShowDetails) { ShowsList.SelectedItem = null; } } else { p.ShowDetails = false; ShowImage.Source = null; ShowImageUri = null; ImageLoading.IsVisible = true; //var ID = await NetworkDatabase.GetShowID(p.Name, p.network.name); //if (ID > 0) //{ // ShowImage.Source = new UriImageSource // { // Uri = await NetworkDatabase.GetImageURI(ID), // CachingEnabled = true, // CacheValidity = new TimeSpan(90, 0, 0, 0) // }; // p.Overview = NetworkDatabase.ShowDescriptions[ID]; // if (ShowImage.Source != null) // { // p.IsLoaded = true; // ShowImage.IsVisible = true; // ImageLoading.IsVisible = false; // } //} //bool reload = false; //if (!NetworkDatabase.ShowIDs.ContainsKey(p.Name) && Application.Current.Properties.ContainsKey("SHOWID " + p.Name)) // reload = true; var ID = await NetworkDatabase.GetShowID(p.show.Name, p.network.name); if (ID > 0) { if (Device.RuntimePlatform == Device.UWP) { var uri = await NetworkDatabase.GetImageURI(ID); ShowImageUri = uri.AbsoluteUri; ShowImage.BindingContext = this; ShowImage.SetBinding(ImageEffect.TextProperty, new Binding("ShowImageUri")); p.IsLoaded = true; ShowImage.IsVisible = true; //ImageLoading.IsVisible = false; } else { ShowImage.Source = new UriImageSource { Uri = await NetworkDatabase.GetImageURI(ID), CachingEnabled = true, CacheValidity = new TimeSpan(90, 0, 0, 0) }; if (ShowImage.Source != null) { p.IsLoaded = true; ShowImage.IsVisible = true; ImageLoading.IsVisible = false; } } p.Overview = NetworkDatabase.ShowDescriptions[ID]; } //if (reload) //{ // ID = await NetworkDatabase.GetShowID(p.Name, p.network.name, true); // if (ID > 0) // { // ShowImage.Source = new UriImageSource // { // Uri = await NetworkDatabase.GetImageURI(ID), // CachingEnabled = true, // CacheValidity = new TimeSpan(90, 0, 0, 0) // }; // p.Overview = NetworkDatabase.ShowDescriptions[ID]; // } //} var TMDBText = "This product uses the TMDb API but is not endorsed or certified by TMDb."; var Formatted = new FormattedString(); Formatted.Spans.Add(new Span { Text = TMDBText }); if (NetworkDatabase.TMDBerror) { Formatted.Spans.Add(new Span() { Text = "Error connecting to TMDB! Some show details and/or images may temporarily be unavailable.", TextColor = Color.DarkRed }); } TMDBNotice.FormattedText = Formatted; DelayedScroll.Elapsed += DelayedScroll_Elapsed; DelayedScroll.AutoReset = false; DelayedScroll.Start(); CheckVisible.Elapsed += CheckVisible_Elapsed; } PreviousItem = p; }
protected override async void OnSizeAllocated(double dblWidth, double dblHeight) { base.OnSizeAllocated(dblWidth, dblHeight); var tmpDesktop = isDesktop; isDesktop = dblWidth > (960); SideColumn.IsVisible = isDesktop; if (isDesktop != tmpDesktop) { if (isDesktop) { FirstColumn.Width = new GridLength(1, GridUnitType.Star); SecondColumn.Width = new GridLength(1, GridUnitType.Star); if (PreviousItem != null) { PreviousItem.ShowDetails = false; ShowImage.Source = null; ImageLoading.IsVisible = true; //bool reload = false; //if (!NetworkDatabase.ShowIDs.ContainsKey(PreviousItem.Name) && Application.Current.Properties.ContainsKey("SHOWID " + PreviousItem.Name)) // reload = true; var ID = await NetworkDatabase.GetShowID(PreviousItem.Name, PreviousItem.network.name); if (ID > 0) { if (Device.RuntimePlatform == Device.UWP) { var uri = await NetworkDatabase.GetImageURI(ID); ShowImageUri = uri.AbsoluteUri; ShowImage.BindingContext = this; ShowImage.SetBinding(ImageEffect.TextProperty, new Binding("ShowImageUri")); PreviousItem.IsLoaded = true; ShowImage.IsVisible = true; //ImageLoading.IsVisible = false; } else { ShowImage.Source = new UriImageSource { Uri = await NetworkDatabase.GetImageURI(ID), CachingEnabled = true, CacheValidity = new TimeSpan(90, 0, 0, 0) }; if (ShowImage.Source != null) { PreviousItem.IsLoaded = true; ShowImage.IsVisible = true; ImageLoading.IsVisible = false; } } PreviousItem.Overview = NetworkDatabase.ShowDescriptions[ID]; } } } else { FirstColumn.Width = new GridLength(1, GridUnitType.Star); SecondColumn.Width = new GridLength(0); if (PreviousItem != null) { PreviousItem.ShowDetails = true; } } } }
public async void CompletedUpdateAsync(object sender, AsyncCompletedEventArgs e) { var FilePath = Path.Combine(NetworkDatabase.Folder, "Update.txt"); if (e.Error != null && !File.Exists(FilePath)) { _ = DisplayAlert("TV Predictions", e.Error.Message, "Close"); home.IncompleteUpdate(); } else { string text; try { using (var fs = new FileStream(FilePath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite)) { using (var reader = new StreamReader(fs)) { text = await reader.ReadToEndAsync(); } } if (text != NetworkDatabase.currentText) { NetworkDatabase.currentText = text; await home.Navigation.PopToRootAsync(); home.Downloading(); NetworkDatabase.ReadSettings(this); } else { if (File.Exists(Path.Combine(NetworkDatabase.Folder, "Predictions.TVP"))) { var ee = new AsyncCompletedEventArgs(null, false, this); CompletedSettings(this, ee); } else { await home.Navigation.PopToRootAsync(); home.Downloading(); NetworkDatabase.ReadSettings(this); } NetworkDatabase.IsLoaded = true; } } catch (Exception) { if (!home.Completed) { _ = DisplayAlert("TV Predictions", "Error reading predictions. Try again.", "Close"); home.IncompleteUpdate(); } else { home.CompletedSettings(); } } } NetworkDatabase.CurrentlyLoading = false; }