예제 #1
0
        private MainRecord ResolveRecord(FormIdMatch c)
        {
            var hexStr     = c.match.Groups[1].Value;
            var fileFormId = UInt32.Parse(hexStr, NumberStyles.HexNumber);

            return(c.target.file.GetRecordByFormId(fileFormId));
        }
예제 #2
0
 public override MatchData Match(Element element, string pathPart)
 {
     if (element is PluginFile || element is GroupRecord)
     {
         return(FormIdMatch.From(element, pathPart, expr));
     }
     return(null);
 }
예제 #3
0
 public override MatchData Match(Element element, string pathPart)
 {
     if (IsSupportedElement(element))
     {
         return(FormIdMatch.From(element, pathPart, expr));
     }
     return(null);
 }
예제 #4
0
        private MainRecord ResolveRecord(FormIdMatch c)
        {
            var hexStr       = c.match.Value;
            var globalFormId = UInt32.Parse(hexStr, NumberStyles.HexNumber);
            var targetIsRoot = c.target is RootElement;
            var root         = (RootElement)(targetIsRoot ? c.target : c.target.file.container);

            return(root.GetRecordByGlobalFormId(globalFormId));
        }