private async Task DeletePanel(PanelListItem panel) { panelList.Remove(panel); await db.Panels.DeleteAsync(await db.Panels.SelectByIdAsync(panel.ID)); UpdateAdapter(); }
public ActorShopScreen(Game game) : base("Actor Shop") { this.game = game; Title.Position = new CPos(0, -4096, 0); Add(new Panel(new MPos(8 * 1024, 2 * 1024), "wooden") { Position = new CPos(0, 920, 0) }); actors = new PanelList(new MPos(8120, 1024), new MPos(1024, 1024), "stone") { Position = new CPos(0, -2048, 0) }; foreach (var a in ActorCache.Types.Values) { if (a.Playable == null) { continue; } var sprite = a.GetPreviewSprite(); var scale = MasterRenderer.PixelSize / (float)Math.Max(sprite.Width, sprite.Height) - 0.1f; var item = new PanelListItem(new BatchObject(sprite), new MPos(1024, 1024), a.Playable.Name, new string[0], () => selectActor(a)) { Scale = scale * 2 }; if (!game.Stats.ActorAvailable(a.Playable)) { item.SetColor(Color.Black); } actors.Add(item); actorTypes.Add(a.Playable.InternalName); } Add(actors); Add(new Button("Buy", "wooden", () => buyActor(selected)) { Position = new CPos(-6144, 3072, 0) }); Add(new Button("Resume", "wooden", () => game.ShowScreen(ScreenType.DEFAULT, false)) { Position = new CPos(0, 6144, 0) }); information = new UITextBlock(FontManager.Default, TextOffset.LEFT, "Select an actor for further information.", "", "", "Cost: -") { Position = new CPos(-7900, 0, 0) }; Add(information); Add(new MoneyDisplay(game) { Position = new CPos(Left + 2048, Bottom - 1024, 0) }); }
public async Task AddPanel(Panel panel) { PanelListItem pli = new PanelListItem(panel); pli.ID = (int)await db.Panels.InsertAsync(panel); panelList.Add(pli); UpdateAdapter(); }
private async void LoadPanels() { solarNetwork = await db.SolarNetworks.SelectByIdAsync(netID); var pl = (await db.Panels.SelectAllAsync()).ToList(); foreach (var p in pl) { if (p.NetworkID == netID) { PanelListItem pli = new PanelListItem(p); panelList.Add(pli); } } UpdateAdapter(); }
public TrophyScreen(Game game) : base("Trophy Collection") { this.game = game; Title.Position = new CPos(0, -4096, 0); trophies = new PanelList(new MPos(8120, 1024), new MPos(512, 1024), "wooden") { Position = new CPos(0, -1024, 0) }; foreach (var key in TrophyCache.Trophies.Keys) { var value = TrophyCache.Trophies[key]; var sprite = value.Image.GetTextures()[0]; var scale = MasterRenderer.PixelSize / (float)Math.Max(sprite.Width, sprite.Height) - 0.1f; var item = new PanelListItem(new BatchObject(sprite), new MPos(512, 1024), value.Name, new string[0], () => selectTrophy(key, value)) { Scale = scale * 2f }; if (!game.Stats.TrophyUnlocked(key)) { item.SetColor(Color.Black); } trophies.Add(item); } Add(trophies); Add(new Panel(new MPos(8 * 1024, 1024), "stone") { Position = new CPos(0, 1024, 0) }); information = new UITextBlock(FontManager.Default, TextOffset.LEFT, "Select a trophy for further information.", "", "", "") { Position = new CPos(-7900, 512 - 128, 0) }; Add(information); Add(new Button("Resume", "wooden", () => game.ShowScreen(ScreenType.DEFAULT, false)) { Position = new CPos(0, 6144, 0) }); }
private PanelRotation GetRotation(PanelListItem panel) { double elevation = GetElevation(); switch (panel.ArrayType) { case PanelArrayType.FixedOpenRack: case PanelArrayType.FixedRoofMounted: return(new PanelRotation((float)panel.Rotation.Value, false)); case PanelArrayType.OneAxis: case PanelArrayType.OneAxisBacktracking: case PanelArrayType.TwoAxis: return(new PanelRotation((float)(elevation > 180.0 ? 90.0 : elevation), true)); default: throw new NotSupportedException(); } }