internal static PictureBox CreateFuelTankPictureBox(FuelTankView fuelTankView, Point locationPoint) { var size = 50; PictureBox fuelTank = new PictureBox { Tag = fuelTankView, Image = Properties.Resources.FuelTank, Size = new Size(size, size), Location = locationPoint, SizeMode = PictureBoxSizeMode.StretchImage, BackColor = Color.Wheat }; fuelTankView.DefinePointOfRefilling(fuelTank); fuelTank.MouseClick += FuelTankPictureBox_Click; _modelingForm.PlaygroundPanel.Controls.Add(fuelTank); fuelTank.BringToFront(); _mappedTopology.FuelTanksList.Add(fuelTank); return(fuelTank); }
public static RefuellerView CreateRefuellerView(FuelTankView fuelTank) { var speedOfRefillingPerSecond = 5000; return(new RefuellerView(speedOfRefillingPerSecond) { FuelTank = fuelTank }); }
internal static void RefillFuelTank(RefuellerPictureBox refueller, FuelTankView fillingFuelTank) { var refuellerView = refueller.Tag as RefuellerView; refuellerView.RefillFuelTank(); if (fillingFuelTank.CurrentFullness >= fillingFuelTank.Volume || refuellerView.FuelRemaining <= 0) { StopRefilling(refueller, fillingFuelTank); } }
private static void StopRefilling(RefuellerPictureBox refueller, FuelTankView fillingFuelTank) { var refuellerView = refueller.Tag as RefuellerView; if (fillingFuelTank.CurrentFullness >= fillingFuelTank.Volume) { var fuelSurplus = fillingFuelTank.CurrentFullness - fillingFuelTank.Volume; if (refuellerView.FuelRemaining <= 0) { fuelSurplus = -fuelSurplus; } refuellerView.ReturnFuelFromFuelTank(fuelSurplus); } refueller.IsFilling = false; refueller.IsFilled = true; _isRefilling = false; }
internal static void StartRefilling(RefuellerPictureBox refueller, FuelTankView fuelTank) { refueller.IsFilling = true; }
private static void CallRefueller(FuelTankView fuelTank) { RefuellerCreator.SpawnRefueller(fuelTank); }
internal static void SpawnRefueller(FuelTankView fuelTank) { var refuellerView = ElementViewProducer.CreateRefuellerView(fuelTank); var refueller = ElementPictureBoxProducer.CreateRefuellerPictureBox(refuellerView); }