Пример #1
0
        private static void ClassicStageInfo_Awake(On.RoR2.ClassicStageInfo.orig_Awake orig, ClassicStageInfo self)
        {
            var stageInfo = GetStageInfo(self);

            ApplySettingsChanges(self, stageInfo);
            ApplyMonsterChanges(self, stageInfo);
            ApplyInteractableChanges(self, stageInfo);
            ApplyFamilyChanges(self, stageInfo);
            orig(self);
        }
Пример #2
0
        private void ClassicStageInfo_Awake(On.RoR2.ClassicStageInfo.orig_Awake orig, ClassicStageInfo self)
        {
            var longTotal     = 0UL;
            var longLongTotal = 0UL;

            stageSorted.Clear();
            totalSorted.Clear();
            for (Int32 i = 0; i < hooks.Count; ++i)
            {
                var v = hooks[i];
                v.Gather();
                longTotal     += v.stageTime / Main.profilerLongDivisor;
                longLongTotal += v.longTime / Main.profilerLongDivisor;
                stageSorted.Add(v);
                totalSorted.Add(v);
                if (!history.ContainsKey(v.name))
                {
                    history[v.name] = new Histogram(v.name);
                }
                history[v.name].AddTime(v.stageTime);
            }


            stageSorted.OrderByDescending <ILHookProfile, UInt64>((prof) => prof.stageTime);
            totalSorted.OrderByDescending <ILHookProfile, UInt64>((prof) => prof.longTime);

            for (Int32 i = 0; i < Main.numToLog; ++i)
            {
                var v    = stageSorted[i];
                var val  = v.stageTime;
                var perc = (Double)(v.stageTime / Main.profilerLongDivisor) / (Double)longTotal;
                Main.LogW(v.name + String.Format(":::Time {0}:::Percent {1}", val, perc));
            }
            for (Int32 i = 0; i < Main.numToLog; ++i)
            {
                var v    = totalSorted[i];
                var val  = v.longTime;
                var perc = (Double)(v.longTime / Main.profilerLongDivisor) / (Double)longLongTotal;
                Main.LogE(v.name + String.Format(":::Time {0}:::Percent {1}", val, perc));
            }


            orig(self);
        }
Пример #3
0
 private static void OnStageInfoAwake(On.RoR2.ClassicStageInfo.orig_Awake orig, ClassicStageInfo self)
 {
     self.ApplyChanges();
     orig(self);
 }