コード例 #1
0
        public virtual AdvancedStateGameResult GetAdvancedState(UserGameParam userGameParam)
        {
            OpenConsole(userGameParam);
            CollectResiveString = string.Empty;

            var result = new AdvancedStateGameResult {
                Succes = false
            };

            return(result);
        }
コード例 #2
0
ファイル: L4D.cs プロジェクト: Maxusbr/Crytex.GameServers
        protected AdvancedStateGameResult CreateTableData(AdvancedStateGameResult data)
        {
            var rg = new Regex(@"(?<name>[\w\/]+)\s*:\s*(?<value>[^\n]+)");

            if (rg.IsMatch(CollectResiveString))
            {
                data.ServerStates = rg.Matches(CollectResiveString)
                                    .Cast <Match>()
                                    .Select(m => new ServerStateModel
                {
                    ParameterName  = m.Groups["name"].Value,
                    ParameterValue = m.Groups["value"].Value
                }).ToList();
            }

            rg = new Regex(@"#(?<name>[^\n\r]+)");
            var listTable = rg.Matches(CollectResiveString)
                            .Cast <Match>()
                            .Select(m => m.Groups["name"].Value).ToList();

            data.TableInfo = new TableDataModel {
                Values = new List <string>(), Headers = new List <string> {
                    "Number"
                }
            };
            if (!listTable.Any())
            {
                return(data);
            }
            for (var i = 0; i < listTable.Count; i++)
            {
                if (listTable[i].Equals("end"))
                {
                    continue;
                }
                if (i == 0)
                {
                    data.TableInfo.Headers.AddRange(listTable[i].Split(' ').Where(o => !o.Equals(string.Empty)));
                }
                else
                {
                    data.TableInfo.Values.AddRange(listTable[i].Split(' ').Where(o => !o.Equals(string.Empty)));
                }
            }
            return(data);
        }