protected override void OnSpawn()
 {
     base.OnSpawn();
     meter = new MeterController(GetComponent <KBatchedAnimController>(), "snapto_morb", "meter", Meter.Offset.Behind, Grid.SceneLayer.NoLayer, "snapto_morb");
     meter.meterController.SwapAnims(new KAnimFile[] { Assets.GetAnim("glom_kanim") });
     smi.StartSM();
 }
Пример #2
0
        protected override void OnSpawn()
        {
            base.OnSpawn();

            oxygenOutputCell = building.GetUtilityOutputCell();

            int        cell          = Grid.PosToCell(transform.GetPosition());
            CellOffset rotatedOffset = building.GetRotatedOffset(portInfo.offset);

            hydrogenOutputCell = Grid.OffsetCell(cell, rotatedOffset);

            IUtilityNetworkMgr networkManager = Conduit.GetNetworkManager(portInfo.conduitType);

            hydrogenOutputItem = new FlowUtilityNetwork.NetworkItem(portInfo.conduitType, Endpoint.Source, hydrogenOutputCell, gameObject);
            networkManager.AddToNetworks(hydrogenOutputCell, hydrogenOutputItem, true);

            WaterAccumulator    = Game.Instance.accumulators.Add("ElementsConsumed", this);
            OxygenAccumulator   = Game.Instance.accumulators.Add("OutputElements", this);
            HydrogenAccumulator = Game.Instance.accumulators.Add("OutputElements", this);

            KBatchedAnimController batchedAnimController = GetComponent <KBatchedAnimController>();

            if (hasMeter)
            {
                meter = new MeterController(batchedAnimController, "U2H_meter_target", "meter", Meter.Offset.Behind, Grid.SceneLayer.NoLayer, new Vector3(-0.4f, 0.5f, -0.1f), "U2H_meter_target", "U2H_meter_tank", "U2H_meter_waterbody", "U2H_meter_level");
            }
            smi.StartSM();
            UpdateMeter();
            Tutorial.Instance.oxygenGenerators.Add(gameObject);
        }
Пример #3
0
        protected override void OnSpawn()
        {
            base.OnSpawn();
            // вторичные входы и выходы для керосина и отходов
            fuelTag                  = SimHashes.Petroleum.CreateTag();
            fuelInputCell            = GetSecondaryUtilityCell(fuelPortInfo.offset);
            fuelConsumer             = CreateConduitConsumer(ConduitType.Liquid, fuelInputCell, out fuelNetworkItem);
            fuelConsumer.capacityTag = fuelTag;
            fuelConsumer.capacityKG  = SuitRechargerConfig.FUEL_CAPACITY;

            liquidWasteOutputCell = GetSecondaryUtilityCell(liquidWastePortInfo.offset);
            liquidWasteDispenser  = CreateConduitDispenser(ConduitType.Liquid, liquidWasteOutputCell, out liquidWasteNetworkItem);
            liquidWasteDispenser.elementFilter       = new SimHashes[] { SimHashes.Petroleum };
            liquidWasteDispenser.invertElementFilter = true;

            gasWasteOutputCell = GetSecondaryUtilityCell(gasWastePortInfo.offset);
            gasWasteDispenser  = CreateConduitDispenser(ConduitType.Gas, gasWasteOutputCell, out gasWasteNetworkItem);
            gasWasteDispenser.elementFilter       = new SimHashes[] { SimHashes.Oxygen };
            gasWasteDispenser.invertElementFilter = true;

            // создаём метеры
            oxygenMeter = new MeterController(GetComponent <KBatchedAnimController>(), "meter_target", "meter", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, new string[] { "meter_target" });
            fuelMeter   = new MeterController(GetComponent <KBatchedAnimController>(), "meter_target_fuel", "meter_fuel", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, new string[] { "meter_target_fuel" });

            Subscribe((int)GameHashes.ConduitConnectionChanged, CheckPipesDelegate);
            Subscribe((int)GameHashes.OnStorageChange, OnStorageChangeDelegate);
            Subscribe((int)GameHashes.CopySettings, OnCopySettingsDelegate);
            Game.Instance.liquidConduitFlow.AddConduitUpdater(OnLiquidConduitUpdate, ConduitFlowPriority.Default);
            Game.Instance.gasConduitFlow.AddConduitUpdater(OnGasConduitUpdate, ConduitFlowPriority.Default);
            OnStorageChange();
            smi.StartSM();
        }
 public StatesInstance(IceMachine smi)
     : base(smi)
 {
     meter = new MeterController(base.gameObject.GetComponent <KBatchedAnimController>(), "meter_target", "meter", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, "meter_OL", "meter_frame", "meter_fill");
     UpdateMeter();
     Subscribe(-1697596308, OnStorageChange);
 }
Пример #5
0
        protected override void OnSpawn()
        {
            base.OnSpawn();

            // Create efficiency meter
            meter = new MeterController(GetComponent <KBatchedAnimController>(), "meter_target", "meter", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, "meter_target", "meter_fill", "meter_frame", "meter_OL");

            // Determine heat source cell
            int x, y;

            Grid.CellToXY(Grid.PosToCell(this), out x, out y);
            heatSourceCell = Grid.XYToCell(x, y - 2);

            // Get structure temperature handle
            structureTemperature = GameComps.StructureTemperatures.GetHandle(base.gameObject);

            // Get configurable attributes
            minTemperatureDifferenceK = ModSettings.Instance.MinimumTemperatureDifference;
            maxHeatToPumpDTU          = WattsToHeat(ModSettings.Instance.MaxWattOutput);
            wasteHeatRatio            = ModSettings.Instance.WasteHeatRatio;

            // Set up state machine
            smi = new Instance(this);
            smi.StartSM();
        }
Пример #6
0
 protected override void OnSpawn()
 {
     base.OnSpawn();
     meter = new MeterController(GetComponent <KBatchedAnimController>(), "meter_target", "meter", Meter.Offset.Behind, Grid.SceneLayer.NoLayer, "meter_target", "meter_waterbody", "meter_waterlevel");
     base.smi.StartSM();
     GetComponent <ManualDeliveryKG>().SetStorage(iceStorage);
 }
    protected override void OnSpawn()
    {
        base.OnSpawn();
        fuel_tag                           = SimHashes.Petroleum.CreateTag();
        fuel_consumer                      = base.gameObject.AddComponent <ConduitConsumer>();
        fuel_consumer.conduitType          = portInfo.conduitType;
        fuel_consumer.consumptionRate      = 10f;
        fuel_consumer.capacityTag          = fuel_tag;
        fuel_consumer.wrongElementResult   = ConduitConsumer.WrongElementResult.Dump;
        fuel_consumer.forceAlwaysSatisfied = true;
        fuel_consumer.capacityKG           = 100f;
        fuel_consumer.useSecondaryInput    = true;
        RequireInputs requireInputs = base.gameObject.AddComponent <RequireInputs>();

        requireInputs.conduitConsumer = fuel_consumer;
        requireInputs.SetRequirements(false, true);
        int        cell          = Grid.PosToCell(base.transform.GetPosition());
        CellOffset rotatedOffset = building.GetRotatedOffset(portInfo.offset);

        secondaryInputCell = Grid.OffsetCell(cell, rotatedOffset);
        IUtilityNetworkMgr networkManager = Conduit.GetNetworkManager(portInfo.conduitType);

        flowNetworkItem = new FlowUtilityNetwork.NetworkItem(portInfo.conduitType, Endpoint.Sink, secondaryInputCell, base.gameObject);
        networkManager.AddToNetworks(secondaryInputCell, flowNetworkItem, true);
        fuel_meter = new MeterController(GetComponent <KBatchedAnimController>(), "meter_target_1", "meter_petrol", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, Vector3.zero, "meter_target_1");
        o2_meter   = new MeterController(GetComponent <KBatchedAnimController>(), "meter_target_2", "meter_oxygen", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, Vector3.zero, "meter_target_2");
        base.smi.StartSM();
    }
Пример #8
0
 protected override void OnSpawn()
 {
     base.OnSpawn();
     meter = new MeterController(GetComponent <KBatchedAnimController>(), "meter_target", "meter", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, "meter_fill", "meter_OL");
     Subscribe(-1697596308, OnStorageChangeDelegate);
     OnStorageChange(null);
 }
 private void CreateMeter()
 {
     if (hasMeter)
     {
         meter = new MeterController(root.GetComponent <KBatchedAnimController>(), "meter_target", "meter", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, "meter_frame", "meter_level");
     }
 }
 private void CreateLogicMeter()
 {
     if (hasMeter)
     {
         logicMeter = new MeterController(root.GetComponent <KBatchedAnimController>(), "logicmeter_target", "logicmeter", Meter.Offset.Infront, Grid.SceneLayer.NoLayer);
     }
 }
Пример #11
0
        public void GetStreetList_Returns_ProperValues()
        {
            Mock <IMeterRepository>    mock         = new Mock <IMeterRepository>();
            Mock <IStreetRepository>   streetMock   = new Mock <IStreetRepository>();
            Mock <IBuildingRepository> buildingMock = new Mock <IBuildingRepository>();

            streetMock.Setup(s => s.STREETs).Returns(new STREET[]
            {
                new STREET {
                    ID = 1, NAME = "LedburyVej", TOWN_ID = 2, INDEX_ID = 8
                },
                new STREET {
                    ID = 2, NAME = "AastorpVej", TOWN_ID = 3, INDEX_ID = 12
                },
                new STREET {
                    ID = 3, NAME = "VejleVej", TOWN_ID = 3, INDEX_ID = 12
                },
                new STREET {
                    ID = 4, NAME = "BoveVej", TOWN_ID = 2, INDEX_ID = 9
                }
            }.AsQueryable());

            MeterController controller = new MeterController(mock.Object, streetMock.Object, buildingMock.Object);

            JsonResult           result     = controller.GetStreetList(3) as JsonResult;
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            string actual = serializer.Serialize(result.Data);

            Assert.AreEqual(@"[{""Id"":2,""Name"":""AastorpVej""},{""Id"":3,""Name"":""VejleVej""}]", actual);
        }
Пример #12
0
        public void Meter_ShowAllMeters_View_Contains_4_METRERs()
        {
            Mock <IMeterRepository>    mock         = new Mock <IMeterRepository>();
            Mock <IStreetRepository>   streetMock   = new Mock <IStreetRepository>();
            Mock <IBuildingRepository> buildingMock = new Mock <IBuildingRepository>();

            mock.Setup(m => m.METERs).Returns(new METER[]
            {
                new METER {
                    ID = 1, SERIAL_NUMBER = "YT000001", RELEASE_DATE = Convert.ToDateTime("2012-03-14"), VARIFICATION_DATE = Convert.ToDateTime("2016-03-19")
                },
                new METER {
                    ID = 2, SERIAL_NUMBER = "YT000002", RELEASE_DATE = Convert.ToDateTime("2012-03-15"), VARIFICATION_DATE = Convert.ToDateTime("2016-03-20")
                },
                new METER {
                    ID = 3, SERIAL_NUMBER = "YT000003", RELEASE_DATE = Convert.ToDateTime("2012-03-16"), VARIFICATION_DATE = Convert.ToDateTime("2016-03-21")
                },
                new METER {
                    ID = 4, SERIAL_NUMBER = "YT000004", RELEASE_DATE = Convert.ToDateTime("2012-03-17"), VARIFICATION_DATE = Convert.ToDateTime("2016-03-22")
                }
            }.AsQueryable());

            MeterController controller = new MeterController(mock.Object, streetMock.Object, buildingMock.Object);

            var actual = (List <METER>)controller.ShowAllMeters().Model;

            Assert.AreEqual(4, actual.Count);
        }
Пример #13
0
        public void GetBuildingList_Returns_ProperValues()
        {
            Mock <IMeterRepository>    mock         = new Mock <IMeterRepository>();
            Mock <IStreetRepository>   streetMock   = new Mock <IStreetRepository>();
            Mock <IBuildingRepository> buildingMock = new Mock <IBuildingRepository>();

            buildingMock.Setup(b => b.BUILDINGSs).Returns(new BUILDING[]
            {
                new BUILDING {
                    ID = 1, NUMBER = "1", STREET_ID = 3
                },
                new BUILDING {
                    ID = 2, NUMBER = "2", STREET_ID = 5
                },
                new BUILDING {
                    ID = 3, NUMBER = "3", STREET_ID = 3
                },
                new BUILDING {
                    ID = 4, NUMBER = "4", STREET_ID = 3
                },
                new BUILDING {
                    ID = 5, NUMBER = "5", STREET_ID = 5
                }
            }.AsQueryable());

            MeterController controller = new MeterController(mock.Object, streetMock.Object, buildingMock.Object);

            JsonResult           result     = controller.GetBuildingList(3) as JsonResult;
            JavaScriptSerializer serializer = new JavaScriptSerializer();

            string actual = serializer.Serialize(result.Data);

            Assert.AreEqual(@"[{""Id"":1,""Number"":""1""},{""Id"":3,""Number"":""3""},{""Id"":4,""Number"":""4""}]", actual);
        }
Пример #14
0
 protected override void OnSpawn()
 {
     base.OnSpawn();
     this.meter = new MeterController(this, Meter.Offset.Infront, Grid.SceneLayer.NoLayer, new string[0]);
     this.Subscribe <TrashcanAnim>(-1697596308, TrashcanAnim.OnStorageChangedDelegate);
     this.UpdateMeter();
     this.smi.StartSM();
 }
 protected override void OnSpawn()
 {
     base.OnSpawn();
     this.deliveryComponents = this.GetComponents <ManualDeliveryKG>();
     this.smi.StartSM();
     this.oreMeter = new MeterController((KAnimControllerBase)this.GetComponent <KBatchedAnimController>(), "target", "ore_meter_anim", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, null);
     UpdateMeter();
 }
Пример #16
0
 protected override void OnSpawn()
 {
     base.OnSpawn();
     if (hasMeter)
     {
         meter = new MeterController(GetComponent <KBatchedAnimController>(), "meter_target", "meter", meterOffset, Grid.SceneLayer.NoLayer, "meter_target", "meter_fill", "meter_frame", "meter_OL");
     }
 }
Пример #17
0
    protected override void OnSpawn()
    {
        base.OnSpawn();
        KBatchedAnimController component = GetComponent <KBatchedAnimController>();

        meter = new MeterController((KAnimControllerBase)component, "meter_target", "meter", Meter.Offset.UserSpecified, Grid.SceneLayer.LogicGatesFront, Vector3.zero, (string[])null);
        meter.SetPositionPercent(1f);
    }
Пример #18
0
 private void CreateMeter()
 {
     this.meter = new MeterController(base.get_gameObject().GetComponent <KBatchedAnimController>(), "meter_target", "meter", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, new string[]
     {
         "meter_OL",
         "meter_frame",
         "meter_fill"
     });
 }
    protected override void OnSpawn()
    {
        Subscribe(-1697596308, OnStorageChangedDelegate);
        KBatchedAnimController component = GetComponent <KBatchedAnimController>();

        meter = new MeterController((KAnimControllerBase)component, "meter_target", "meter", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, Vector3.zero, (string[])null);
        base.smi.StartSM();
        maxSrcMass = GetComponent <ConduitConsumer>().capacityKG;
    }
 protected override void OnSpawn()
 {
     base.OnSpawn();
     GetComponent <KBatchedAnimController>().Play("grounded", KAnim.PlayMode.Loop, 1f, 0f);
     UserMaxCapacity = UserMaxCapacity;
     Subscribe(1366341636, OnReturnRocketDelegate);
     Subscribe(-1697596308, OnStorageChangeDelegate);
     meter = new MeterController(GetComponent <KBatchedAnimController>(), "meter_target", "meter", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, "meter_target", "meter_fill", "meter_frame", "meter_OL");
 }
        public StatesInstance(BottleEmptier smi)
            : base(smi)
        {
            TreeFilterable component = base.master.GetComponent <TreeFilterable>();

            component.OnFilterChanged = (Action <Tag[]>)Delegate.Combine(component.OnFilterChanged, new Action <Tag[]>(OnFilterChanged));
            meter = new MeterController(GetComponent <KBatchedAnimController>(), "meter_target", "meter", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, "meter_target", "meter_arrow", "meter_scale");
            Subscribe(-1697596308, OnStorageChange);
        }
Пример #22
0
 protected override void OnSpawn()
 {
     base.OnSpawn();
     base.OnToggle += OnSwitchToggled;
     meter          = new MeterController(anim, "meter_target", "meter", Meter.Offset.Behind, Grid.SceneLayer.Building, Array.Empty <string>());
     UpdateLogicCircuit();
     UpdateVisualState(force: true);
     wasOn = switchedOn;
 }
 protected override void OnSpawn()
 {
     base.OnSpawn();
     meter = new MeterController(GetComponent <KBatchedAnimController>(), "meter_target", "meter", Meter.Offset.Behind, Grid.SceneLayer.NoLayer, "meter_target", "meter_waterbody", "meter_waterlevel");
     GetComponent <ElementConsumer>().EnableConsumption(true);
     base.smi.StartSM();
     base.smi.master.waterConsumptionAccumulator = Game.Instance.accumulators.Add("waterConsumptionAccumulator", this);
     GetComponent <ElementConsumer>().storage    = gasStorage;
     GetComponent <ManualDeliveryKG>().SetStorage(liquidStorage);
 }
Пример #24
0
 protected override void OnSpawn()
 {
     base.OnSpawn();
     meter = new MeterController(GetComponent <KBatchedAnimController>(), "meter_target", "meter", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, "meter_fill", "meter_OL");
     Subscribe((int)GameHashes.OnStorageChange, OnStorageChange);
     Subscribe((int)GameHashes.CopySettings, new Action <object>(OnCopySettings));
     OnStorageChange(null);
     CreateLogicMeter();
     Subscribe(-536857173, new Action <object>(UpdateLogicCircuit)); // -536857173
 }
Пример #25
0
 protected override void OnSpawn()
 {
     base.OnSpawn();
     _meter = new MeterController(GetComponent <KBatchedAnimController>(), "meter_target", "meter", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, "meter_fill", "meter_OL");
     Subscribe((int)GameHashes.OnStorageChange, OnStorageChange);
     Subscribe((int)HyperbaricReservoirHashes.OnConduitConsumerUpdateStart, OnConduitConsumerUpdateStart);
     Subscribe((int)HyperbaricReservoirHashes.OnConduitConsumerUpdateEnd, OnConduitConsumerUpdateEnd);
     Subscribe((int)HyperbaricReservoirHashes.OnConduitDispenserUpdateStart, OnConduitDispenserUpdateStart);
     OnStorageChange(null);
 }
Пример #26
0
        public async Task GivenGetSinkDataAsync_WhenThereTheBackendObjectIsNull_ThenErrorIsThrown()
        {
            // Arrange


            // Act
            var sut = new MeterController(unitOfWork.Object, logger.Object, mapper.Object);

            // Assert
            await Assert.ThrowsExceptionAsync <NullReferenceException>(() => sut.GetSinkDataAsync());
        }
 private void CreateMeter()
 {
     if (!hasMeter)
     {
         return;
     }
     meter = new MeterController(root.GetComponent <KBatchedAnimController>(), "meter_target", "meter", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, new string[2]
     {
         "meter_frame",
         "meter_level"
     });
 }
Пример #28
0
    protected override void OnSpawn()
    {
        base.OnSpawn();
        base.smi.StartSM();
        cleanMeter = new MeterController(GetComponent <KBatchedAnimController>(), "meter_clean_target", "meter_clean", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, "meter_clean_target");
        RefreshMeters();
        Subscribe(-1697596308, OnStorageChangeDelegate);
        DirectionControl component = GetComponent <DirectionControl>();

        component.onDirectionChanged = (Action <WorkableReactable.AllowedDirection>)Delegate.Combine(component.onDirectionChanged, new Action <WorkableReactable.AllowedDirection>(OnDirectionChanged));
        OnDirectionChanged(GetComponent <DirectionControl>().allowedDirection);
    }
 protected override void OnSpawn()
 {
     base.OnSpawn();
     GetComponent <KBatchedAnimController>().Play("grounded", KAnim.PlayMode.Loop, 1f, 0f);
     base.gameObject.Subscribe(1366341636, OnReturn);
     UserMaxCapacity = UserMaxCapacity;
     meter           = new MeterController(GetComponent <KBatchedAnimController>(), "meter_target", "meter", Meter.Offset.Infront, Grid.SceneLayer.NoLayer, "meter_target", "meter_fill", "meter_frame", "meter_OL");
     Subscribe(-1697596308, delegate
     {
         meter.SetPositionPercent(MassStored() / capacityKg);
     });
 }
Пример #30
0
    protected override void OnSpawn()
    {
        KBatchedAnimController component = GetComponent <KBatchedAnimController>();

        if (hasMeter)
        {
            meter = new MeterController(component, "U2H_meter_target", "meter", Meter.Offset.Behind, Grid.SceneLayer.NoLayer, new Vector3(-0.4f, 0.5f, -0.1f), "U2H_meter_target", "U2H_meter_tank", "U2H_meter_waterbody", "U2H_meter_level");
        }
        base.smi.StartSM();
        UpdateMeter();
        Tutorial.Instance.oxygenGenerators.Add(base.gameObject);
    }