public void MainHandler(NameValueCollection parameters) { TestPlugin addon = KodiBridge.RunningAddon as TestPlugin; List <ListItem> items = new List <ListItem> { new ListItem( label: "AudioPlayer", url: addon.BuildNavUrl("/audio"), isFolder: true, art: new Dictionary <Art, string> { { Art.Poster, "https://upload.wikimedia.org/wikipedia/commons/2/25/Kodi-logo-Thumbnail-light-transparent.png" }, { Art.Fanart, "https://images.pexels.com/photos/167092/pexels-photo-167092.jpeg?dl&fit=crop&crop=entropy&w=6000&h=4000" } } ), new ListItem( label: "Events", url: addon.BuildNavUrl("/events"), isFolder: true ), new ListItem( label: "Nav", url: addon.BuildNavUrl("/nav"), isFolder: true ), new ListItem( label: "Playlist", url: addon.BuildNavUrl("/playlist"), isFolder: true ), new ListItem("Item 2"), new ListItem("Item 3") }; List.Add(items); List.Show(); UiBuiltins.Notification( header: "My Notification", message: "Hello World from C#", duration: TimeSpan.FromSeconds(10) ); /* * Persistent variables preserve their value between multiple plugin invokations, * unlike python in XBMC where everything is destroyed when the plugin is invoked again (e.g navigating between pages). * This is possible due to Assembly Domain that is created by the CLR once the plugin is loaded for the first time. **/ TestPluginState.LastMainPageVisitTime = DateTime.Now; }
public static void MainHandler(NameValueCollection parameters) { TestPlugin addon = KodiBridge.RunningAddon as TestPlugin; List <ListItem> items = new List <ListItem> { new ListItem( label: "AudioPlayer", url: addon.BuildNavUrl("/audio"), isFolder: true ), new ListItem( label: "Events", url: addon.BuildNavUrl("/events"), isFolder: true ), new ListItem( label: "Nav", url: addon.BuildNavUrl("/nav"), isFolder: true ), new ListItem("Item 2"), new ListItem("Item 3") }; List.Add(items); List.Show(); //Console.WriteLine("Settings Test: " + addon.Settings["test"]); UiBuiltins.Notification( header: "My Notification", message: "Hello World from C#", duration: TimeSpan.FromSeconds(10) ); /* * Persistent variables preserve their value between multiple plugin invokations, * unlike python in XBMC where everything is destroyed when the plugin is invoked again (e.g navigating between pages). * This is possible due to Assembly Domain that is created by the CLR once the plugin is loaded for the first time. **/ TestPluginState.LastMainPageVisitTime = DateTime.Now; }
public void NavHandler(NameValueCollection parameters) { TestPlugin addon = KodiBridge.RunningAddon as TestPlugin; string itemLabel = "Go to Main"; if (TestPluginState.LastMainPageVisitTime != null) { itemLabel += string.Format(" (Last Visited: {0})", TestPluginState.LastMainPageVisitTime.Value.ToString()); } List <ListItem> items = new List <ListItem> { new ListItem( label: itemLabel, url: addon.BuildNavUrl("/"), isFolder: true ), }; Console.WriteLine(string.Format("ListItem label is '{0}'", items[0].Label)); List.Add(items); List.Show(); }