コード例 #1
0
        public SaveInfo(SourceSave saveFile, Game game)
        {
            SaveFile     = saveFile;
            ParseContext = new ParseContext(0);
            Game         = game;
            TickInterval = game switch {
                Game.PORTAL1_3420 => 0.015f,
                Game.PORTAL2 => 1.0f / 60,
                _ => throw new ArgumentOutOfRangeException(nameof(game), game, "invalid game type")
            };
            DeterminedDatamaps = new List <DeterminedDataMap>();

            // should be last
            DataMapGeneratorInfo info = new DataMapGeneratorInfo(game, false);

            if (!CreatedDataMapLists.TryGetValue(info, out SDataMapLookup !))
            {
                SaveParserDataMapGenerator handler = new SaveParserDataMapGenerator(info);
                IDataMapInfoGeneratorHandler.IterateAllGenerators(handler);
                SDataMapLookup            = handler.CompleteDataMapCollection;      // after iteration, this is the result we need
                CreatedDataMapLists[info] = SDataMapLookup;
            }
        }
コード例 #2
0
 public DataMapHierarchyGenerator(DataMapGeneratorInfo genInfo)
 {
     GenInfo            = genInfo;
     _classNodes        = new OrderedDictionary <string, ClassNode>();
     _unresolvedProxies = new Dictionary <string, string>();
 }