protected override ManufacturingConfig PrepareManufacturingConfig() { this.LiquidContainerConfig = new LiquidContainerConfig( this.LiquidCapacity, amountAutoIncreasePerSecond: 0, amountAutoDecreasePerSecondWhenUse: this.LiquidConsumptionAmountPerSecond); return(base.PrepareManufacturingConfig()); }
protected override void PrepareProtoStaticWorldObject() { base.PrepareProtoStaticWorldObject(); this.LiquidContainerConfig = new LiquidContainerConfig( capacity: this.WaterCapacity, amountAutoIncreasePerSecond: this.WaterProductionAmountPerSecond, // water decrease happens automatically when crafting of the "bottle with water" recipe finishes amountAutoDecreasePerSecondWhenUse: 0); }
public ViewModelWindowOilRefinery( IStaticWorldObject worldObject, ManufacturingState manufacturingState, ManufacturingState manufacturingStateProcessedGasoline, ManufacturingState manufacturingStateProcessedMineralOil, ManufacturingConfig manufacturingConfig, ManufacturingConfig manufacturingConfigProcessedGasoline, ManufacturingConfig manufacturingConfigProcessedMineralOil, LiquidContainerState liquidStateRawPetroleum, LiquidContainerState liquidStateProcessedGasoline, LiquidContainerState liquidStateProcessedMineralOil, LiquidContainerConfig liquidConfigRawPetroleum, LiquidContainerConfig liquidConfigProcessedGasoline, LiquidContainerConfig liquidConfigProcessedMineralOil) { this.WorldObjectManufacturer = worldObject; this.ViewModelManufacturingStateRawPetroleum = new ViewModelManufacturingState( worldObject, manufacturingState, manufacturingConfig); this.ViewModelManufacturingStateProcessedGasoline = new ViewModelManufacturingState( worldObject, manufacturingStateProcessedGasoline, manufacturingConfigProcessedGasoline); this.ViewModelManufacturingStateProcessedMineralOil = new ViewModelManufacturingState( worldObject, manufacturingStateProcessedMineralOil, manufacturingConfigProcessedMineralOil); this.ViewModelLiquidStateRawPetroleum = new ViewModelLiquidContainerState( liquidStateRawPetroleum, liquidConfigRawPetroleum); this.ViewModelLiquidStateProcessedGasoline = new ViewModelLiquidContainerState( liquidStateProcessedGasoline, liquidConfigProcessedGasoline); this.ViewModelLiquidStateProcessedMineralOil = new ViewModelLiquidContainerState( liquidStateProcessedMineralOil, liquidConfigProcessedMineralOil); // prepare active state property this.manufacturerPublicState = worldObject.GetPublicState <ObjectManufacturerPublicState>(); this.manufacturerPublicState.ClientSubscribe(_ => _.IsActive, _ => this.NotifyPropertyChanged( nameof(this.IsManufacturingActive)), this); }
public ViewModelLiquidContainerState( LiquidContainerState liquidContainerState, LiquidContainerConfig liquidContainerConfig) { this.LiquidContainerState = liquidContainerState; this.Capacity = liquidContainerConfig.Capacity; liquidContainerState.ClientSubscribe( _ => _.Amount, _ => this.RefreshAmount(), this); this.RefreshAmount(); }
public ViewModelWindowGeneratorSteam( IStaticWorldObject worldObjectGenerator, ObjectGeneratorSteam.PrivateState privateState, ManufacturingConfig manufacturingConfig, LiquidContainerState liquidContainerState, LiquidContainerConfig liquidContainerConfig) : base(worldObjectGenerator, privateState, manufacturingConfig, liquidContainerState, liquidContainerConfig) { this.privateState = privateState; this.protoGenerator = (IProtoObjectGeneratorWithFuel)worldObjectGenerator.ProtoStaticWorldObject; }
public ViewModelWindowLithiumOreExtractor( IStaticWorldObject worldObjectManufacturer, IStaticWorldObject worldObjectDeposit, ObjectManufacturerPrivateState privateState, ManufacturingConfig manufacturingConfig, LiquidContainerState liquidContainerState, LiquidContainerConfig liquidContainerConfig) : base(worldObjectManufacturer, privateState, manufacturingConfig) { this.ViewModelLiquidContainerState = new ViewModelLiquidContainerState(liquidContainerState, liquidContainerConfig); this.ViewModelDepositCapacityStatsControl = new ViewModelDepositCapacityStatsControl(worldObjectDeposit); }
public ViewModelWindowWell( IStaticWorldObject worldObjectManufacturer, ObjectManufacturerPrivateState privateState, ManufacturingConfig manufacturingConfig, LiquidContainerState liquidContainerState, LiquidContainerConfig liquidContainerConfig) : base( worldObjectManufacturer, privateState, manufacturingConfig: manufacturingConfig) { this.CommandDrink = new ActionCommand(this.ExecuteCommandDrink); this.ViewModelLiquidContainerState = new ViewModelLiquidContainerState( liquidContainerState, liquidContainerConfig); }
public ViewModelWindowOilCrackingPlant( IStaticWorldObject worldObject, ManufacturingState manufacturingState, ManufacturingState manufacturingStateProcessedGasoline, ManufacturingConfig manufacturingConfig, ManufacturingConfig manufacturingConfigProcessedGasoline, LiquidContainerState liquidStateMineralOil, LiquidContainerState liquidStateProcessedGasoline, LiquidContainerConfig liquidConfigMineralOil, LiquidContainerConfig liquidConfigProcessedGasoline) { this.WorldObjectManufacturer = worldObject; this.ViewModelManufacturingStateMineralOil = new ViewModelManufacturingState( worldObject, manufacturingState, manufacturingConfig); this.ViewModelManufacturingStateProcessedGasoline = new ViewModelManufacturingState( worldObject, manufacturingStateProcessedGasoline, manufacturingConfigProcessedGasoline); this.ViewModelLiquidStateMineralOil = new ViewModelLiquidContainerState( liquidStateMineralOil, liquidConfigMineralOil); this.ViewModelLiquidStateProcessedGasoline = new ViewModelLiquidContainerState( liquidStateProcessedGasoline, liquidConfigProcessedGasoline); // prepare active state property this.manufacturerPublicState = worldObject.GetPublicState <ObjectManufacturerPublicState>(); this.manufacturerPublicState.ClientSubscribe(_ => _.IsActive, _ => NotifyPropertyChanged(nameof(IsManufacturingActive)), this); viewModelManufacturerExchange = new ViewModelManufacturerExchange( new List <IItemsContainer> { manufacturingState.ContainerOutput, manufacturingStateProcessedGasoline.ContainerOutput }, new List <IItemsContainer> { manufacturingState.ContainerInput, manufacturingStateProcessedGasoline.ContainerInput }, true); }
public ViewModelWindowGeneratorWithFuel( IStaticWorldObject worldObjectGenerator, ObjectManufacturerPrivateState privateState, ManufacturingConfig manufacturingConfig, LiquidContainerState liquidContainerState, LiquidContainerConfig liquidContainerConfig) : base( worldObjectGenerator, privateState, manufacturingConfig) { this.protoGenerator = (IProtoObjectGeneratorWithFuel)worldObjectGenerator.ProtoStaticWorldObject; this.ViewModelLiquidContainerState = new ViewModelLiquidContainerState( liquidContainerState, liquidContainerConfig, liquidType: this.protoGenerator.LiquidType); this.Refresh(); }
public ViewModelWindowOilPump( IStaticWorldObject worldObjectManufacturer, IStaticWorldObject worldObjectDeposit, ManufacturingState manufacturingState, ManufacturingConfig manufacturingConfig, FuelBurningState fuelBurningState, LiquidContainerState liquidContainerState, LiquidContainerConfig liquidContainerConfig) : base( worldObjectManufacturer, manufacturingState, manufacturingConfig, fuelBurningState) { this.ViewModelLiquidContainerState = new ViewModelLiquidContainerState( liquidContainerState, liquidContainerConfig); this.ViewModelDepositCapacityStatsControl = new ViewModelDepositCapacityStatsControl(worldObjectDeposit); }
public ViewModelWindowOilPump( IStaticWorldObject worldObjectManufacturer, IStaticWorldObject worldObjectDeposit, ObjectManufacturerPrivateState privateState, ManufacturingConfig manufacturingConfig, LiquidContainerState liquidContainerState, LiquidContainerConfig liquidContainerConfig) : base( worldObjectManufacturer, privateState, manufacturingConfig) { this.ViewModelLiquidContainerState = new ViewModelLiquidContainerState( liquidContainerState, liquidContainerConfig); this.ViewModelDepositCapacityStatsControl = new ViewModelDepositCapacityStatsControl(worldObjectDeposit, worldObjectManufacturer.TilePosition); }
public ViewModelWindowOilRefinery( IStaticWorldObject worldObject, ManufacturingState manufacturingState, ManufacturingState manufacturingStateProcessedGasoline, ManufacturingState manufacturingStateProcessedMineralOil, ManufacturingConfig manufacturingConfig, ManufacturingConfig manufacturingConfigProcessedGasoline, ManufacturingConfig manufacturingConfigProcessedMineralOil, FuelBurningState fuelBurningState, LiquidContainerState liquidStateRawPetroleum, LiquidContainerState liquidStateProcessedGasoline, LiquidContainerState liquidStateProcessedMineralOil, LiquidContainerConfig liquidConfigRawPetroleum, LiquidContainerConfig liquidConfigProcessedGasoline, LiquidContainerConfig liquidConfigProcessedMineralOil) { this.WorldObjectManufacturer = worldObject; // please note - the order of creating these view models is important for the proper container exchange order this.ViewModelFuelBurningState = new ViewModelFuelBurningState(fuelBurningState); this.ViewModelBurningFuel = ViewModelBurningFuel.Create(this.WorldObjectManufacturer, fuelBurningState); this.ViewModelManufacturingStateRawPetroleum = new ViewModelManufacturingState( worldObject, manufacturingState, manufacturingConfig); this.ViewModelManufacturingStateProcessedGasoline = new ViewModelManufacturingState( worldObject, manufacturingStateProcessedGasoline, manufacturingConfigProcessedGasoline); this.ViewModelManufacturingStateProcessedMineralOil = new ViewModelManufacturingState( worldObject, manufacturingStateProcessedMineralOil, manufacturingConfigProcessedMineralOil); this.ViewModelLiquidStateRawPetroleum = new ViewModelLiquidContainerState( liquidStateRawPetroleum, liquidConfigRawPetroleum); this.ViewModelLiquidStateProcessedGasoline = new ViewModelLiquidContainerState( liquidStateProcessedGasoline, liquidConfigProcessedGasoline); this.ViewModelLiquidStateProcessedMineralOil = new ViewModelLiquidContainerState( liquidStateProcessedMineralOil, liquidConfigProcessedMineralOil); // prepare active state property var manufacturerPublicState = worldObject.GetPublicState <ObjectManufacturerPublicState>(); manufacturerPublicState.ClientSubscribe(_ => _.IsManufacturingActive, _ => RefreshIsManufacturerActive(), this); RefreshIsManufacturerActive(); void RefreshIsManufacturerActive() { this.IsManufacturerActive = manufacturerPublicState.IsManufacturingActive; } }