Пример #1
0
        private void _on_MapRect_MapClickSignal(int r, int g, int b)
        {
            GD.Print($"{r}, {g}, {b}");

            var depart = Depart.GetByColor(r, g, b);

            if (depart == null)
            {
                return;
            }

            GD.Print($"select depart:{depart.name}");

            var departNode = (DepartPanel)ResourceLoader.Load <PackedScene>("res://Scenes/Main/Dynamic/DepartPanel/DepartPanel.tscn").Instance();

            departNode.gmObj = depart;

            AddChild(departNode);
        }
Пример #2
0
        public void TestSerialize()
        {
            Root.Init(init);

            ModDataVisit.InitVisitData(Root.inst);

            //COLLECT_POP_TAX.Start();

            var json = Root.Serialize();

            Root.Deserialize(json);

            Visitor.InitVisitMap(typeof(Root));
            Visitor.SetVisitData(Root.inst);

            Assert.AreEqual(1, Visitor.Get("date.day"));
            Assert.AreEqual(1, Visitor.Get("date.month"));
            Assert.AreEqual(1, Visitor.Get("date.year"));

            Assert.AreEqual(456, Visitor.Get("economy.value"));

            //foreach (var income in Root.inst.economy.EnumerateInCome())
            //{
            //    switch (income.name)
            //    {
            //        case "STATIC_POP_TAX":
            //            Assert.AreEqual(Root.def.economy.pop_tax_percent, income.percent.Value);
            //            Assert.AreEqual(Pop.all.Sum(x => x.expectTax.Value), income.maxValue.Value);
            //            Assert.AreEqual(income.maxValue.Value * income.percent.Value / 100, income.currValue.Value);
            //            break;
            //        default:
            //            Assert.Fail();
            //            break;

            //    }
            //}

            //foreach (var output in Root.inst.economy.EnumerateOutput())
            //{
            //    switch (output.name)
            //    {
            //        case "STATIC_REPORT_CHAOTING_TAX":
            //            Assert.AreEqual(Root.def.economy.report_tax_percent, output.percent.Value);
            //            Assert.AreEqual(Chaoting.inst.currMonthTax.Value * output.percent.Value / 100, output.currValue.Value);
            //            break;
            //        default:
            //            Assert.Fail();
            //            break;

            //    }
            //}

            foreach (var departName in Root.def.departs.Keys)
            {
                var departDef = Root.def.departs[departName];

                var depart = Depart.GetByColor(departDef.color.r, departDef.color.g, departDef.color.b);
                Assert.AreEqual(departName, depart.name);

                Assert.AreEqual(departDef.pop_init.Where(x => Root.def.pops[x.name].is_collect_tax).Sum(x => x.num), depart.popNum.Value);

                foreach (var init in departDef.pop_init)
                {
                    var pop = depart.pops.Single(x => x.name == init.name);
                    Assert.AreEqual(init.num, pop.num.Value);
                }
            }

            Assert.AreEqual((int)(Depart.all.Sum(x => x.popNum.Value) * Root.def.chaoting.reportPopPercent / 100), Chaoting.inst.reportPopNum.Value);
            //Assert.AreEqual(Root.def.chaoting.taxPercent, Chaoting.inst.taxPercent.Value);
            //Assert.AreEqual(Chaoting.inst.reportPopNum.Value * 0.01 * Root.def.chaoting.taxPercent / 100, Chaoting.inst.currMonthTax.Value);
        }