Beispiel #1
0
 private ShortcutGraph(Trajectory2D Trajectory, JDictionary <Shortcut, int> shortcutWeights) : this(Trajectory)
 {
     foreach (var pair in shortcutWeights)
     {
         AddShortcut(pair.Key, pair.Value);
     }
 }
Beispiel #2
0
        private JDictionary <Planet, int> Destinations(JGraph <string> map, JDictionary <string, Planet> planets, bool includeHostile, bool onlyHostile)
        {
            JDictionary <Planet, int> planetDestinations =
                new JDictionary <Planet, int>();
            Planet start;

            if (Orbiting != null)
            {
                start = Orbiting;
            }
            else if (NextStop != null)
            {
                start = NextStop;
            }
            else
            {
                return(planetDestinations);
            }
            JDictionary <string, int> destinations;

            if (map.TryReachableVertices(start.ID, out destinations, p => Military.Faction.Relationships[planets[p].Faction.ID] != Relationship.Enemy, includeHostile))
            {
                destinations.Remove(start.ID);
                foreach (string s in destinations.Keys)
                {
                    Relationship relationship =
                        Military.Faction.Relationships[planets[s].Faction.ID];
                    if (!onlyHostile || (onlyHostile && relationship == Relationship.Enemy))
                    {
                        planetDestinations.Add(planets[s], destinations[s] / (int)(hourlyDistance / Speed));
                    }
                }
            }
            return(planetDestinations);
        }
        /// <summary>
        /// 绑定字典信息
        /// </summary>
        /// <param name="dictName">字典名称</param>
        private void BindDictionaryData(string dictName)
        {
            try
            {
                JDictionary dict = _dbDicModel.GetDictionary(dictName);
                if (dict == null)
                {
                    //重新绑定字典信息时,如果没有内容,需要将gridlist的内容清除,避免界面显示内容错误
                    gridlist = new List <JDictionaryItem>();
                    dgvDictionary.DataSource = new List <JDictionaryItem>();
                    return;
                }
                //使用list绑定数据源时,不能设置为null,否则会影响列结构
                gridlist = dict.项目内容 as List <JDictionaryItem>;

                BindingList <JDictionaryItem> list = new BindingList <JDictionaryItem>(gridlist);

                dgvDictionary.DataSource = list;
                dgvDictionary.Columns["项目说明"].Visible = false;
                dgvDictionary.Columns["创建日期"].Visible = false;

                //this.dgvDictionary.ClearSelection();
            }
            catch (Exception ex)
            {
                MsgBox.ShowException(ex, this);
                gridlist = new List <JDictionaryItem>();
            }
        }
Beispiel #4
0
        // Loading database from file
        public void LoadDatabase(string directory, bool loadPlayer)
        {
            Bodies = JDictionary <string, Body> .DeserializeXml(directory + "bodies.xml");

            Planets = JDictionary <string, Planet> .DeserializeXml(directory + "planets.xml");

            Governments = JDictionary <string, Government> .DeserializeXml(directory + "governments.xml");

            Fleets = JDictionary <string, Fleet> .DeserializeXml(directory + "fleets.xml");

            Militaries = JDictionary <string, Military> .DeserializeXml(directory + "militaries.xml");

            Map = JUndirectedGraph <string> .DeserializeXml(directory + "map.xml");

            Date = new Serializer <Date>().Deserialize(directory + "date.xml");
            if (loadPlayer)
            {
                Player = new Serializer <Player>().Deserialize(directory + "player.xml");
            }
            else
            {
                Player = new Player();
            }
            UpdateValues(loadPlayer);
            UpdateSuperGroups();
            VerifySubGroups();
        }
Beispiel #5
0
        /// <summary>
        /// 绑定院区
        /// </summary>
        private void BindHSP()
        {
            //不是有clear()方法清空下拉框,点刷新会提示:设置 DataSource 属性后无法修改项集合错误。
            cbxHspCode.DataSource = null;

            //获取对应字典内容
            JDictionary hspAreaDict = _dmm.GetDictionary("院区");

            if (hspAreaDict == null)
            {
                return;
            }

            List <ItemBind> listBind = new List <ItemBind>();

            foreach (JDictionaryItem dictInfo in hspAreaDict.项目内容)
            {
                ItemBind lb = new ItemBind(dictInfo.项目编码 + "-" + dictInfo.项目名称, dictInfo.项目编码);
                listBind.Add(lb);
            }

            cbxHspCode.DisplayMember = "Name";
            cbxHspCode.ValueMember   = "Value";

            cbxHspCode.DataSource = listBind;
        }
        private void button2_Click(object sender, EventArgs e)
        {
            try
            {
                //dataGridView2.it
                //新建空json对象,然后添加到列表中
                string                strJson = "";
                JDictionary           JD      = new JDictionary();
                JDictionaryArr        JDA     = new JDictionaryArr();
                List <JDictionaryArr> JDAS    = new List <JDictionaryArr>();

                JDA.创建日期 = DateTime.Now.ToString();
                JDA.项目编码 = "1";
                JDA.项目名称 = "balabala";
                JDAS.Add(JDA);
                //dataGridView2.DataSource = JDAS;  //添加数据ok

                JDA      = new JDictionaryArr();
                JDA.创建日期 = DateTime.Now.ToString();
                JDA.项目编码 = "";
                JDA.项目名称 = "";
                JDAS.Add(JDA);
                dataGridView2.DataSource = JDAS;  //添加数据ok  新增功能OK
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                string                strJson = "";
                JDictionaryArr        JDA     = new JDictionaryArr();
                List <JDictionaryArr> JDAS    = new List <JDictionaryArr>();

                JDA.创建日期 = DateTime.Now.ToString();
                JDA.项目编码 = "12";
                JDA.项目名称 = "ba2labala";
                JDAS.Add(JDA);
                //dataGridView2.DataSource = JDAS;  //添加数据ok

                JDA      = new JDictionaryArr();
                JDA.创建日期 = DateTime.Now.ToString();
                JDA.项目编码 = "12";
                JDA.项目名称 = "12";
                JDAS.Add(JDA);

                JDictionary JD = new JDictionary();
                JD.字典ID = 99;
                JD.字典名称 = "测试项目AK";
                JD.字典信息 = JDAS;

                _DictManageModel.UpdateDictContent(JD);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Beispiel #8
0
        public ShortcutIntervalSet(Trajectory2D trajectory)
        {
            Trajectory  = trajectory;
            IntervalMap = new JDictionary <TPoint2D, LinkedList <Interval> >();

            foreach (var point in Trajectory)
            {
                IntervalMap[point] = new LinkedList <Interval>();
            }
        }
Beispiel #9
0
        internal void OnSerializing(StreamingContext context)
        {
            shortcutWeights = new JDictionary <Shortcut, int>();
            foreach (var pair in Shortcuts)
            {
                var shortcut     = pair.Key;
                var weightedEdge = (WeightedEdge)pair.Value;

                shortcutWeights[shortcut] = weightedEdge.Data;
            }
        }
Beispiel #10
0
 // Testing Coverage: 9/11
 public Database()
 {
     Bodies      = new JDictionary <string, Body>();
     Characters  = new JDictionary <string, Character>();
     Fleets      = new JDictionary <string, Fleet>();
     Militaries  = new JDictionary <string, Military>();
     Governments = new JDictionary <string, Government>();
     Planets     = new JDictionary <string, Planet>();
     Map         = new JGraph <string>();
     Player      = new Player();
     Date        = new Date();
 }
Beispiel #11
0
        public MSCompactShortcutSet(MSSInput input, ShortcutSetFactory shortcutSetFactory)
        {
            ShortcutSetFactory = shortcutSetFactory;
            Input       = input;
            LevelCounts = new JDictionary <int, int>();
            MinLevels   = new JDictionary <Shortcut, int>();

            for (var level = 1; level <= input.NumLevels; level++)
            {
                LevelCounts.Add(level, 0);
            }
        }
Beispiel #12
0
        public bool SetDestination(Planet destination, JGraph <string> map, JDictionary <string, Planet> planets)
        {
            List <string> path;

            if (Orbiting != null && map.TryPathTo(Orbiting.ID, destination.ID, out path, p => { return(Military.Faction.Relationships[planets[p].Faction.ID] != Relationship.Enemy); }, true))
            {
                Destination = destination;
                NextStop    = planets[path[1]];
                return(true);
            }
            return(false);
        }
Beispiel #13
0
 public Government()
 {
     ID                = "";
     Name              = Description = "";
     kSuperGovernment  = kMilitary = "";
     ExecutivePower    = LegislativePower = JudicialPower = ResidentialTax = CommercialTax = 0f;
     MemberPlanets     = new HashSet <Planet>();
     Relationships     = new JDictionary <string, Relationship>();
     Relationships[ID] = Relationship.Ally;
     Budget            = new Budget();
     Military          = null;
     SuperGovernment   = null;
     SubGovernments    = new HashSet <Government>();
 }
Beispiel #14
0
        override protected void InitDictionaries()
        {
            base.InitDictionaries();

            BaseProxyServer.CurrentType   = typeof(FProxyServer);
            BaseProxyProvider.CurrentType = typeof(FProxyProvider);

            JDictionary dict = null;

            dict = new JDictionary()
            {
                Id = VpnDictNames.RasEncryptionType
            };
            dictionaries.Add(dict);
            dict.Items.Add(new JDictItem()
            {
                Key = ProxyEncryptionTypeEnum.None.ToString(), Text = "None"
            });
            dict.Items.Add(new JDictItem()
            {
                Key = ProxyEncryptionTypeEnum.Optional.ToString(), Text = "Optional"
            });
            dict.Items.Add(new JDictItem()
            {
                Key = ProxyEncryptionTypeEnum.Require.ToString(), Text = "Require"
            });
            dict.Items.Add(new JDictItem()
            {
                Key = ProxyEncryptionTypeEnum.RequireMax.ToString(), Text = "RequireMax"
            });

            dict = new JDictionary()
            {
                Id = VpnDictNames.VpnProtocol
            };
            dict.Items.Add(new JDictItem()
            {
                Key = ProxyProtocolTypeEnum.PPTP.ToString()
            });
            dict.Items.Add(new JDictItem()
            {
                Key = ProxyProtocolTypeEnum.L2TP.ToString()
            });
            Dm.Instance.AddDictionary(dict);
        }
Beispiel #15
0
        public IShortcutSet Clone()
        {
            var newIntervalMap = new JDictionary <TPoint2D, LinkedList <Interval> >();

            foreach (var pair in IntervalMap)
            {
                var intervals = new LinkedList <Interval>();

                foreach (var interval in pair.Value)
                {
                    intervals.AddLast(new Interval(interval.Start, interval.End, interval.Weight));
                }

                newIntervalMap.Add(pair.Key, intervals);
            }

            return(new ShortcutIntervalSet(Trajectory, newIntervalMap));
        }
Beispiel #16
0
        /// <summary>
        /// 设置下拉框项目为字典项目
        /// </summary>
        /// <param name="cbx">下拉框控件</param>
        /// <param name="sDictionary">字典名称</param>
        /// <param name="bNull">是否插入空项目</param>
        public void BindDictionary(ComboBox cbx, string sDictionary, bool bNull)
        {
            DictManageModel _dictManageModel = new DictManageModel(_dbHelper);
            JDictionary     dict             = _dictManageModel.GetDictionary(sDictionary);
            string          sDefault         = "";//加载后设置缺省项目

            //绑定前,先清空
            cbx.Items.Clear();

            if (bNull)
            {
                cbx.Items.Add("");
            }

            //没有字典内容,添加固定项目
            if (dict == null)
            {
                if (sDictionary == "性别")
                {
                    cbx.Items.Add("男");
                    cbx.Items.Add("女");
                    cbx.Items.Add("未知");
                    cbx.Items.Add("未明");
                    cbx.Items.Add("女变男");
                    cbx.Items.Add("男变女");
                }
            }
            else
            {
                //性别下拉框要显示一个空选项,选择循环加入,不使用绑定
                foreach (JDictionaryItem item in dict.项目内容)
                {
                    cbx.Items.Add(item.项目名称);

                    if (item.缺省 == true)
                    {
                        sDefault = item.项目名称;
                    }
                }
                cbx.Text = sDefault;
            }
        }
Beispiel #17
0
        public string FreshName <T>(JDictionary <string, T> .ValueCollection values, string prefix)
        {
            bool   used    = true;
            int    counter = 1;
            string name    = "";

            while (used)
            {
                used = false;
                name = prefix + " #" + counter++.ToString();
                foreach (T t in values)
                {
                    if ((string)typeof(T).GetField("Name").GetValue(t) ==
                        name)
                    {
                        used = true;
                        break;
                    }
                }
            }
            return(name);
        }
Beispiel #18
0
 public bool Move(JGraph <string> map, JDictionary <string, Planet> planets)
 {
     if (isStationary)
     {
         return(false);
     }
     Position = Position.MoveTowards(NextStop.Position, 20);
     if (Position == NextStop.Position)
     {
         Orbiting = NextStop;
         if (NextStop == Destination)
         {
             NextStop = Destination = null;
             return(true);
         }
         SetDestination(Destination, map, planets);
         return(false);
     }
     else
     {
         Orbiting = null;
         return(false);
     }
 }
 public SSSPOutput()
 {
     Paths = new JDictionary <TNode, Path <TNode> >();
 }
Beispiel #20
0
 private ShortcutIntervalSet(Trajectory2D Trajectory, JDictionary <TPoint2D, LinkedList <Interval> > intervalMap)
 {
     this.Trajectory  = Trajectory;
     this.IntervalMap = intervalMap;
 }
Beispiel #21
0
 public JDictionary <Planet, int> HostileDestinations(JGraph <string> map, JDictionary <string, Planet> planets)
 {
     return(Destinations(map, planets, true, true));
 }
Beispiel #22
0
 public JDictionary <Planet, int> SafeDestinations(JGraph <string> map, JDictionary <string, Planet> planets)
 {
     return(Destinations(map, planets, false, false));
 }
 public SPFOutput(SPFInput input)
 {
     this.input    = input;
     ShortcutPaths = new JDictionary <TPoint2D, ShortcutPath>();
     RegisterPathStatistics();
 }
Beispiel #24
0
 public MSCompactErrorShortcutSet(MSSInput input, ShortcutSetFactory shortcutSetFactory)
 {
     ShortcutSetFactory = shortcutSetFactory;
     Input     = input;
     MaxErrors = new JDictionary <Shortcut, double>();
 }