Пример #1
0
        public void TestOneForOneConversion()
        {
            var trm = new TestResourceManager(RealCheatOptions.Instance, 1);

            var pr = new PartResource(new Part());

            pr.resourceName = "LiquidFuel";
            pr.amount       = 1;
            pr.maxAmount    = 1;

            List <PartResource[]> prs = new List <PartResource[]>();

            prs.Add(new PartResource[] { pr });

            var config = new DecayConfiguration();

            config.decayConstant = 1;
            config.decayProduct  = ResourceName.MonoPropellant;
            config.densityRatio  = 1;
            config.decayRatio    = 1;

            var configdict = new Dictionary <string, DecayConfiguration>();

            configdict["LiquidFuel"] = config;

            var ret = KITResourceVesselModule.PerformResourceDecayEffect(trm, prs, configdict);

            Assert.IsTrue(ret.Count == 0, $"knew all inputs failed - {ret.Count}");
            Assert.IsTrue(trm.resourceAmount.ContainsKey(ResourceName.MonoPropellant), "Monopropellant not found");
            var equal = trm.resourceAmount[ResourceName.MonoPropellant] + pr.amount;

            Assert.IsTrue(equal == 1, $"not equal.. {equal}, {pr.amount}, {trm.resourceAmount[ResourceName.MonoPropellant]}");

            trm.resourceAmount.Clear();
            pr.amount                = 1;
            config.densityRatio      = 1.5;
            configdict["LiquidFuel"] = config;

            ret = KITResourceVesselModule.PerformResourceDecayEffect(trm, prs, configdict);
            Assert.IsTrue(trm.resourceAmount.ContainsKey(ResourceName.MonoPropellant), "Monopropellant not found");
            equal = trm.resourceAmount[ResourceName.MonoPropellant] + pr.amount;
            Assert.IsTrue(1.32 == Math.Round(equal, 2), $"not equal {Math.Round(equal, 2)}.. {equal}, {pr.amount}, {trm.resourceAmount[ResourceName.MonoPropellant]}");
        }
        public static PopupDialog CreateDialog(string vesselName, KITResourceVesselModule kitResourceVesselModule)
        {
            var resourceUI = new ResourceUI(kitResourceVesselModule);

            List <DialogGUIBase> layout = new List <DialogGUIBase>
            {
                new DialogGUILabel(resourceUI.TextUI), new DialogGUIButton("Close", () => { }, 140f, 30f, true)
            };

            Rect pos = new Rect(0.5f, 0.5f, 800, 800);

            return(PopupDialog.SpawnPopupDialog(//new Vector2(0.5f, 0.5f), new Vector2(0.5f, 0.5f),
                       new MultiOptionDialog(
                           "ThisIsMyName",
                           "",
                           $"{vesselName} Resource Manager",
                           UISkinManager.defaultSkin,
                           pos,
                           layout.ToArray()), false, UISkinManager.defaultSkin, false));
        }
 public ResourceUI(KITResourceVesselModule kitResourceVesselModule)
 {
     this._kitResourceVesselModule = kitResourceVesselModule;
 }