void LuoElamaLaskuri() { elamaLaskuri = new DoubleMeter(10); elamaLaskuri.MaxValue = 10; elamaLaskuri.LowerLimit += ElamaLoppui; ProgressBar elamaPalkki = new ProgressBar(150, 20); elamaPalkki.X = Screen.Left + 500; elamaPalkki.Y = Screen.Top - 50; elamaPalkki.BindTo(elamaLaskuri); Add(elamaPalkki); }
/// <summary> /// Luo humalapalkin, joka sidotaan nayttamaan humalamittarin tila. /// </summary> public void LuoHumalaPalkki() { humalataso = new DoubleMeter(0); humalataso.MaxValue = 2.0; ProgressBar humalaPalkki = new ProgressBar(200, 30); humalaPalkki.BindTo(humalataso); humalaPalkki.X = Screen.Left + 170; humalaPalkki.Y = Screen.Top - 40; humalaPalkki.BarColor = Color.Red; humalaPalkki.BorderColor = Color.Black; Add(humalaPalkki); }
/// <summary> /// Kerätessä karkkeja karkkipalkki täyttyy. Kun karkkipalkki on täynnä saa yhden elämän lisää. /// </summary> private void LuoKarkkiLaskuri() { karkkiLaskuri = new DoubleMeter(0); karkkiLaskuri.MaxValue = 5; karkkiLaskuri.UpperLimit += ViisiKarkkia; ProgressBar karkkiPalkki = new ProgressBar(150, 30); karkkiPalkki.X = Screen.Center.X; karkkiPalkki.Y = Screen.Top - 60; karkkiPalkki.BindTo(karkkiLaskuri); karkkiPalkki.Image = LoadImage("tyhjatKarkit.png"); karkkiPalkki.BarImage = LoadImage("taydetKarkit.png"); Add(karkkiPalkki); }
/// <summary> /// Elämien määrä, josta visuaalisesti näkee montako elämää on jäljellä. /// </summary> private void LuoElamaLaskuri() { elamaLaskuri = new DoubleMeter(5); elamaLaskuri.MaxValue = 5; elamaLaskuri.LowerLimit += ElamaLoppui; ProgressBar elamaPalkki = new ProgressBar(150, 30); elamaPalkki.X = Screen.Center.X; elamaPalkki.Y = Screen.Top - 20; elamaPalkki.BindTo(elamaLaskuri); elamaPalkki.Image = LoadImage("emptyHearts.png"); elamaPalkki.BarImage = LoadImage("fullHearts.png"); Add(elamaPalkki); }
/// <summary> /// Luodaan palkki, joka näyttää aseen ammusbonuksen jäljellä olevan ajan. Sidottu kuuntelemaan Ase-luokan bonusmittaria. /// Palkki muuttuu näkyväksi bonuksen aktivoituessa ja näkymättömäksi sen loppuessa. /// </summary> private void LuoBonusPalkki() { bonusPalkki = new ProgressBar(230, 15); bonusPalkki.Position = new Vector(Game.Screen.Right - 30 - bonusPalkki.Width / 2, 300); bonusPalkki.IsVisible = false; bonusPalkki.BindTo(peli.Ase.bonusLaskuri); peli.Add(bonusPalkki); peli.Ase.bonusLaskuri.UpperLimit += delegate { bonusPalkki.IsVisible = true; }; peli.Ase.bonusLaskuri.LowerLimit += delegate { bonusPalkki.IsVisible = false; }; }
/// <summary> /// Tätä kutsuttaessa luodaan ja alustetaan elämälaskuri. Lisäksi luodaan ProgressBar olio, /// johon elämämittari upotetaan loppukäyttäjälle näytettäväksi. /// Määritellään myös mitä tapahtuu kun elämäpisteet loppuvat: silloin kutsutaan ElamaLoppui-funktiota. /// </summary> private void LuoElamaLaskuri() { elamaLaskuri = new DoubleMeter(4) { MaxValue = 6 }; elamaLaskuri.LowerLimit += ElamaLoppui; ProgressBar elamaPalkki = new ProgressBar(260, 60) { X = Screen.Right - 165, Y = Screen.Top - 40, Image = elamaTyhja, BarImage = elamaTaysi }; elamaPalkki.BindTo(elamaLaskuri); Add(elamaPalkki); }
/* void lv() * { * Surfaces aweryq = Level.CreateBorders(); * for (int i = 0; i < 30; i++) * { * luolentsikka(new Vector(RandomGen.NextInt(-300, 300), Screen.Bottom)); * * } * Timer.SingleShot(32, delegate { puhdista(aweryq); }); * } * * /* void luolentsikka(Vector paikka) * { * PhysicsObject lentsikka = new PhysicsObject(50, 50); * //lentsikka.Position = paikka; * Add(lentsikka); * * lentsikka.Image = lentokuva; * Vector ljk = new Vector(Screen.Center.X, Screen.Top); * * * RandomMoverBrain satunnaisAivot = new RandomMoverBrain(200); * satunnaisAivot.ChangeMovementSeconds = 3; * lentsikka.Brain = satunnaisAivot; * * lentsikka.LifetimeLeft = TimeSpan.FromSeconds(30); * } * void puhdista(Surfaces areusure) * { * areusure.Left.Destroy(); * areusure.Right.Destroy(); * areusure.Top.Destroy(); * areusure.Bottom.Destroy(); * } */ void voimamittari() { voimaMittari = new DoubleMeter(0); voimaMittari.MaxValue = 50; ProgressBar voimaPalkki = new ProgressBar(150, 10); voimaPalkki.X = Screen.Left + 150; voimaPalkki.Y = Screen.Top - 70; voimaMittari.Value = 0; voimaPalkki.BorderColor = Color.Aqua; voimaPalkki.BindTo(voimaMittari); //voimaPalkki.Image = LoadImage("palkki tyhj"); //voimaPalkki.BarImage = LoadImage("palkki sini"); Add(voimaPalkki); voimaMittari.UpperLimit += VoimaMittariTaynna; }
public void LuoPeliAika() { aikaMittari = new DoubleMeter(60); aikaMittari.MaxValue = 60; ProgressBar aikaPalkki = new ProgressBar(400, 10); aikaPalkki.X = Screen.Left + 230; aikaPalkki.Y = Screen.Top - 60; aikaPalkki.Color = Color.Transparent; aikaPalkki.BarColor = Color.Red; aikaPalkki.BorderColor = Color.Black; aikaPalkki.BindTo(aikaMittari); Add(aikaPalkki); Label aikaTeksti = new Label(); aikaTeksti.TextColor = Color.Wheat; aikaTeksti.Color = Color.Transparent; aikaTeksti.Text = "Jäljellä oleva aika: "; aikaTeksti.X = Screen.Left + 120; aikaTeksti.Y = Screen.Top - 40; Add(aikaTeksti); }
void UpdateTruckFillRatios(List <double> fr) { int tfbIdx = 0; foreach (double carriedWt in fr) { if (tfbIdx >= truckFillBars.Count) { DoubleMeter truckFillMeter = new DoubleMeter(carriedWt); truckFillMeter.MaxValue = instance.capacity; ProgressBar truckFillBar = new ProgressBar( Screen.Width - Screen.Width / SCREEN_MARGIN_WIDHT_RATIO, TRUCK_BAR_HEIGHT); truckFillBar.Position = new Vector(0, -Screen.Height / 2 + TOP_MARGIN + TRUCK_BAR_HEIGHT * 1.5 * tfbIdx); truckFillBar.BindTo(truckFillMeter); truckFillBar.BorderColor = BorderColor; Add(truckFillBar, 3); truckFillBars.Add(truckFillBar); Label truckFillLabel = new Label(); truckFillLabel.Position = truckFillBar.Position; truckFillLabel.Font = Font.DefaultSmallBold; Add(truckFillLabel, 3); truckFillLabels.Add(truckFillLabel); } else { (truckFillBars[tfbIdx].Meter as DoubleMeter).Value = carriedWt; } // Demands are being shown if (demandLabels != null) { truckFillLabels[tfbIdx].Text = $"{carriedWt:0.#}/{instance.capacity:0.#}"; } else { truckFillLabels[tfbIdx].Text = ""; } var currentTruckFillBar = truckFillBars[tfbIdx]; if (carriedWt > instance.capacity) { currentTruckFillBar.BarColor = routeColors[tfbIdx % routeColors.Count]; if (!blinkingObjects.Contains(currentTruckFillBar)) { blinkingObjects.Add(currentTruckFillBar); } originalColors[currentTruckFillBar] = routeColors[tfbIdx % routeColors.Count]; } else { if (instance.routeValidStates[tfbIdx]) { currentTruckFillBar.BarColor = routeColors[tfbIdx % routeColors.Count]; } else { currentTruckFillBar.BarColor = Color.Darker(routeColors[tfbIdx % routeColors.Count], 50); } if (blinkingObjects.Contains(currentTruckFillBar)) { blinkingObjects.Remove(currentTruckFillBar); } } tfbIdx++; } // Remove unused truck bars (no route) while (tfbIdx < truckFillBars.Count) { Remove(truckFillBars[tfbIdx]); truckFillBars.RemoveAt(tfbIdx); if (truckFillLabels != null) { Remove(truckFillLabels[tfbIdx]); truckFillLabels.RemoveAt(tfbIdx); } } }
void luoElamaLaskuri() { elamalaskuri = new DoubleMeter(250); elamalaskuri.MaxValue = 250; elamalaskuri.LowerLimit += tapaVihollinen; ProgressBar elamaPalkki = new ProgressBar(1200, 40); elamaPalkki.Y = Screen.Top - 80; elamaPalkki.X = -85; elamaPalkki.Color = Color.Transparent; elamaPalkki.BarColor = Color.Blue; elamaPalkki.BorderColor = Color.White; elamaPalkki.BindTo(elamalaskuri); Add(elamaPalkki); }
void CreateOSD() { jumpPowerMeter = new DoubleMeter(0.0, 0.0, JUMP_POWAH_MAX); speedMeter = new DoubleMeter(0.0, 0.0, RUN_SPEED_MAX); catsSavedMeter = new IntMeter(0); ProgressBar jumpPB = new ProgressBar(200, 20); jumpPB.Position = new Vector(Screen.Left + 150, Screen.Top - 40); jumpPB.BindTo(jumpPowerMeter); jumpPB.BarColor = Color.Red; jumpPB.Color = Color.White; Add(jumpPB); ProgressBar speedPB = new ProgressBar(200, 20); speedPB.Position = new Vector(Screen.Right - 150, Screen.Top - 40); speedPB.BindTo(speedMeter); speedPB.BarColor = Color.Blue; speedPB.Color = Color.White; Add(speedPB); Label lives = new Label("Lives left: 1 of 1"); lives.Y = Screen.Top - 40; lives.Font = Font.DefaultBold; lives.TextColor = Color.White; Add(lives); Label points = new Label(""); points.IntFormatString = "Cats rescued: {0:D1}"; points.Y = Screen.Top - 80; points.Font = Font.DefaultBold; points.TextColor = Color.White; points.BindTo(catsSavedMeter); Add(points); }