コード例 #1
0
ファイル: Reader.cs プロジェクト: PetX1996/DrDiagnostic
        public void ReadLogFile(string fileFullPath)
        {
            string[] lines = File.ReadAllLines(fileFullPath);

            const int contentI = 7;
            string    content;

            foreach (string line in lines)
            {
                content = line.Substring(contentI);
                if (content.Length <= 0)
                {
                    continue;
                }

                if (content.StartsWith("InitGame: "))
                {
                    string[] toks  = content.Split('\\');
                    bool     isMap = false;
                    foreach (string tok in toks)
                    {
                        if (isMap)
                        {
                            _mapList.SetCurrentMap(tok);
                            isMap = false;
                        }

                        if (tok == "mapname")
                        {
                            isMap = true;
                        }
                    }
                }
                else if (content.StartsWith("DIAG;"))
                {
                    MapLogicEvent ml = MapLogicEvent.Parse(content);
                    if (ml != null)
                    {
                        _mapList.RegisterMapLogicEvent(ml);
                    }
                }
                else
                {
                    ModEvent me = ModEvent.Parse(content);
                    if (me != null)
                    {
                        _mapList.RegisterModEvent(me);
                    }
                }
            }
        }
コード例 #2
0
ファイル: MapList.cs プロジェクト: PetX1996/DrDiagnostic
 public void RegisterModEvent(ModEvent me)
 {
     _currentMap.RegisterModEvent(me);
 }
コード例 #3
0
ファイル: Map.cs プロジェクト: PetX1996/DrDiagnostic
 public void RegisterModEvent(ModEvent me)
 {
     me.ProcessMap(this);
 }