예제 #1
0
        public void BuildObjectTree(DMASTFile astFile)
        {
            DMObjectTree.Reset();
            ProcessFile(astFile);

            // TODO Nuke this pass
            foreach (DMObject dmObject in DMObjectTree.AllObjects)
            {
                dmObject.CreateInitializationProc();
            }

            foreach (DMProc proc in DMObjectTree.AllProcs)
            {
                proc.Compile();
            }

            DMObjectTree.CreateGlobalInitProc();
        }
예제 #2
0
        public void BuildObjectTree(DMASTFile astFile)
        {
            DMObjectTree.Reset();
            ProcessFile(astFile);

            foreach (DMObject dmObject in DMObjectTree.AllObjects)
            {
                dmObject.CompileProcs();
            }

            DMObject root = DMObjectTree.GetDMObject(DreamPath.Root);

            foreach (DMProc gProc in DMObjectTree.GlobalProcs.Values)
            {
                gProc.Compile(root);
            }

            DMObjectTree.CreateGlobalInitProc();
        }