Esempio n. 1
0
        public void Refuel(IFuel fuelableObject, Car car, EventHandler <string> handler)
        {
            lock (locker)
            {
                FuelStationState += handler;
                //car.CarState += handler;

                if (FuelType == fuelableObject.FuelType && Volume >= fuelableObject.TankVolume)
                {
                    FuelStationState?.Invoke(null, $"Station {FuelIdentifier} is refuling.... {car.CarIdentifier}");
                    Volume -= fuelableObject.TankVolume;
                    Console.WriteLine($"{FuelIdentifier} has on stock {Volume}");
                    //FuelStationState = null;
                    //return;
                }


                else
                {
                    FuelStationState?.Invoke(null, $"Station {FuelIdentifier} does not have enough fuel");
                    //FuelStationState -= handler;
                }

                //car.CarState -= handler;
                FuelStationState -= handler;
            }
        }
Esempio n. 2
0
 public Rocket(IEngine engine, IFuel fuel, IPropellents propellents, ISatellite satellite)
 {
     _engine      = engine;
     _fuel        = fuel;
     _propellents = propellents;
     _satellite   = satellite;
 }
Esempio n. 3
0
 public Client(ICar factory)
 {
     place   = factory.ShowPlace();
     carcass = factory.CreateCarcass();
     power   = factory.CreatePower();
     fuel    = factory.CreateFuel();
 }
Esempio n. 4
0
        // Currency reward / cost?

        public CraftResult(T[] rewards, T[] usedItems, IFuel usedFuel = null, int usedFuelAmount = 0)
        {
            this.rewards   = rewards;
            this.usedItems = usedItems;

            this.usedFuel       = usedFuel;
            this.usedFuelAmount = usedFuelAmount;
        }
Esempio n. 5
0
        public void Setup()
        {
            var mock = new Mock <IFuel>();

            mock.Setup(fuel => fuel.ToString()).Returns("Premium Petrol");
            mock.Setup(fuel => fuel.IsCompatible(It.IsAny <IEngine>()))
            .Returns((IEngine engine) => engine.GetType().Name.StartsWith("Petrol"));
            _fuel = mock.Object;
        }
Esempio n. 6
0
        public Client()
        {
            ICar factory = Singleton.getInstance().Factory;

            place   = factory.ShowPlace();
            carcass = factory.CreateCarcass();
            power   = factory.CreatePower();
            fuel    = factory.CreateFuel();
        }
Esempio n. 7
0
		static bool CheckFuel(IFuel fuel)
		{
			if (fuel.GetLevelFuel() < 1)
			{
				return false;
			}

			return true;
		}
Esempio n. 8
0
 public GenericPowerPlant(string name, float efficiency, float pmin, float pmax, IFuel fuel, float power)
 {
     Name       = name;
     Efficiency = efficiency;
     Pmin       = pmin;
     Pmax       = pmax;
     Fuel       = fuel;
     Power      = power;
 }
Esempio n. 9
0
    public void Feed(IFuel fuel)
    {
        if (_remainingTime <= 0)
        {
            return;
        }

        _remainingTime += timePerFuelValue * fuel.GetFuelValue();
        _remainingTime  = Mathf.Min(_remainingTime, bigFireValue);

        onFireFed.Invoke();
    }
Esempio n. 10
0
        public FuelStation(string name, Length arm, IFuel capacity)
        {
            Name     = name;
            Arm      = arm;
            Capacity = capacity;
            switch (capacity.FuelType)
            {
            case FuelType.AvGas: Fuel = new AvGasFuel(); break;

            case FuelType.Jet: Fuel = new JetFuel(); break;

            default: throw new System.NotImplementedException();
            }
        }
Esempio n. 11
0
    public void TryInteract(BasicCharacter character)
    {
        if (character.FuelHeld)
        {
            IFuel fuel = character.HeldObject as IFuel;
            if (fuel != null)
            {
                _globals.FireplaceHealth += fuel.GetFuelAmount();
            }

            character.DestroyHeldObject();
            _tooltip.FadeOut();
        }
    }
Esempio n. 12
0
    public void TryInteract(BasicCharacter character)
    {
        if (character.FuelHeld)
        {
            IFuel fuel = character.HeldObject as IFuel;
            if (fuel != null)
            {
                _globals.NewFireplaceHealth += fuel.GetFuelAmount();

                if (!Lit)
                {
                    _animationPlayer.Play("flash");
                }
            }

            character.DestroyHeldObject();
            _tooltip.FadeOut();
        }
    }
Esempio n. 13
0
 public Track()
 {
     InitializeComponent();
     Hep                      = new HH(Mov);
     engine                   = new Engine(5);
     stwheel                  = new StWheel();
     transmition              = new Transmition();
     wheel                    = new Wheel();
     gear                     = new Gear();
     petrol                   = new PetrolTank();
     ChangeSpeed.DataSource   = Enum.GetValues(typeof(Multiplication));
     ChangeSpeed.SelectedText = Multiplication.one.ToString();
     //Спросить за гибкость в данной модели
     car               = new NormalCar(engine, gear, transmition, stwheel, wheel, petrol);
     runcar            = new Thread(Moved);
     OffEngine.Enabled = false;
     //все изменения и функционал мы берем не напрямую через компоненты а через объекта класса Car
     //форма Track ничего не знает о компонентах машины, хоть и объекты создаються тут
 }
Esempio n. 14
0
		public Car(IDriver driver, IEngine engine, IFuel fuel)
		{
			if (driver == null)
			{
				throw new ArgumentNullException("driver");
			}

			if (engine == null)
			{
				throw new ArgumentNullException("engine");
			}

			if (fuel == null)
			{
				throw new ArgumentNullException("fuel");
			}

			_driver = driver;
			_engine = engine;
			_fuel = fuel;
		}
        public void Refuel(IFuel fuel)
        {
            if (fuel == null)
            {
                throw new ArgumentNullException(nameof(fuel));
            }

            if (Type != fuel.Type)
            {
                Console.WriteLine($"Our RefuelingStation supports only {Type}, but your car requires {fuel.Type}. Sorry");
                return;
            }

            if (_volume == 0)
            {
                Console.WriteLine("Sorry but there is no fuel on the station.");
                return;
            }

            int howMuchNeedToRefuel = fuel.TankVolume - fuel.TankState;

            if (howMuchNeedToRefuel == 0)
            {
                Console.WriteLine("Sorry but you don't need to refuel you have a full tank");
                return;
            }

            if (howMuchNeedToRefuel > _volume)
            {
                Console.WriteLine($"Required amount of fuel = {howMuchNeedToRefuel} but the refueling station we have {_volume}.");

                howMuchNeedToRefuel = _volume;
            }

            fuel.FillTank(howMuchNeedToRefuel);

            _volume -= howMuchNeedToRefuel;
        }
Esempio n. 16
0
        static void Test1()
        {
            V4 v4 = new V4 {
                FuelConsuption = 8, Fuel = "Аи-95"
            };

            v4.EngineStart();
            v4.EngineStop();
            V6 v6 = new V6 {
                FuelConsuption = 12, Fuel = "Аи-98"
            };

            v6.EngineStart();
            v6.EngineStop();
            // IEngine engine = new V4 { FuelConsuption = 15, Fuel = "Аи-95" };
            IEngine engine = v4;

            engine.EngineStart();
            engine.EngineStop();
            // IFuel fuel = new V6 { FuelConsuption = 15, Fuel = "Аи-95" };
            IFuel fuel = v4;

            fuel.Fuel           = "Аи-76";
            fuel.FuelConsuption = 22.9;
            if (engine is V4 vv4)
            {
                Console.WriteLine(vv4.FuelConsuption);
            }
            IFuel fuel76 = (IFuel)engine;

            fuel76.FuelConsuption = 30;
            if (engine is V4 vvv4)
            {
                Console.WriteLine(vvv4.FuelConsuption);
            }
            (fuel76 as V6)?.EngineStart();
        }
Esempio n. 17
0
        public void Refuel(IFuel car, EventHandler <string> handler)
        {
            lock (locer)
            {
                FuelStationState += handler;
                if (FuelType == car.FuelType && Volume > car.TankVolume)
                {
                    FuelStationState?.Invoke(null, $"Station {FuelId} is refueling...");
                    Volume           -= car.TankVolume;
                    FuelStationState -= handler;
                    return;
                }

                if (Volume > car.TankVolume)
                {
                    FuelStationState?.Invoke(null, $"Station {FuelId} has {FuelType} when car has {car.FuelType}.");
                }
                else
                {
                    FuelStationState?.Invoke(null, $"Station {FuelId} doesn't have enough fuel.");
                }
                FuelStationState -= handler;
            }
        }
Esempio n. 18
0
 public int CompareTo(IFuel other)
 {
     throw new NotImplementedException();
 }
Esempio n. 19
0
 public bool Equals(IFuel other)
 {
     throw new NotImplementedException();
 }
Esempio n. 20
0
 public PetrolEngine(IFuel fuel)
 {
     FuelType = fuel;
 }
Esempio n. 21
0
 public void Fill(IFuel fuel)
 {
     Fuel = fuel;
 }
Esempio n. 22
0
 public DieselEngine(IFuel fuel)
 {
     FuelType = fuel;
 }
 public FuelConsumer(IFuel fuelData)
 {
     fuel = fuelData;
 }
Esempio n. 24
0
 public void Cost(IFuel fuel)
 {
     Costs = Way() * fuel.Cost;
 }
 public void SetFuel(IFuel fuel)
 {
     m_Fuel = fuel;
 }
Esempio n. 26
0
 public Car(IEngine engine, IGear gear, ITransmition transmition, IControl stwheel, IWheel wheel, IFuel pet)
 {
     this.Engine      = engine;
     this.Transmition = transmition;
     this.Gear        = gear;
     this.Stwheel     = stwheel;
     this.Wheel       = wheel;
     this.Fuel        = pet;
 }
 public static void Refill(this IFuel fuel)
 {
     Console.WriteLine("Full tank!");
 }
 public TurbojetPowerPlant(string name, float efficiency, float pmin, float pmax, IFuel fuel, float power) :
     base(name, efficiency, pmin, pmax, fuel, power)
 {
 }
Esempio n. 29
0
 public FuelUseResult(IFuel fuel, int amount)
 {
     this.fuel   = fuel;
     this.amount = amount;
 }
Esempio n. 30
0
 public NormalCar(IEngine engine, IGear gear, ITransmition transmition, IControl stwheel, IWheel wheel, IFuel pet) : base(engine, gear, transmition, stwheel, wheel, pet)
 {
 }