routine的加载

 

复制代码
// Hearthbuddy.Windows.MainWindow
// Token: 0x06000245 RID: 581 RVA: 0x0008C318 File Offset: 0x0008A518
[CompilerGenerated]
private void method_27()
{
    List<IRoutine> routines = RoutineManager.Routines;
    this.comboBox_1.ItemsSource = routines;
    if (CommandLine.Arguments.Exists("routine"))
    {
        MainWindow.Class28 @class = new MainWindow.Class28();
        @class.string_0 = CommandLine.Arguments.Single("routine");
        IRoutine routine = routines.FirstOrDefault(new Func<IRoutine, bool>(@class.method_0));
        if (routine != null)
        {
            this.comboBox_1.SelectedItem = routine;
        }
    }
    else if (!string.IsNullOrEmpty(MainSettings.Instance.LastRoutine))
    {
        MainWindow.Class29 class2 = new MainWindow.Class29();
        class2.string_0 = MainSettings.Instance.LastRoutine;
        IRoutine routine2 = routines.FirstOrDefault(new Func<IRoutine, bool>(class2.method_0));
        if (routine2 != null)
        {
            this.comboBox_1.SelectedItem = routine2;
        }
    }
    if (this.comboBox_1.SelectedItem == null)
    {
        this.comboBox_1.SelectedItem = routines.FirstOrDefault<IRoutine>();
    }
    this.method_14();
}
复制代码

 

 

复制代码
// Triton.Bot.RoutineManager
// Token: 0x060011D3 RID: 4563 RVA: 0x000B7424 File Offset: 0x000B5624
public static bool Load()
{
    try
    {
        string routinesPath = RoutineManager.RoutinesPath;
        if (RoutineManager.Routines != null)
        {
            RoutineManager.ilog_0.ErrorFormat("[Load] This function can only be called once.", Array.Empty<object>());
            return false;
        }
        if (!Directory.Exists(routinesPath))
        {
            Directory.CreateDirectory(routinesPath);
        }
        AssemblyLoader<IRoutine> assemblyLoader = new AssemblyLoader<IRoutine>(routinesPath, false);
        RoutineManager.Routines = new List<IRoutine>();
        foreach (IRoutine routine in assemblyLoader.Instances.AsReadOnly())
        {
            try
            {
                Utility.smethod_0(routine);
                routine.Initialize();
                RoutineManager.Routines.Add(routine);
            }
            catch (Exception exception)
            {
                RoutineManager.ilog_0.Debug("[Load] Exception thrown when initializing " + routine.Name + ". Routine will not be loaded.", exception);
                Utility.smethod_1(routine);
                routine.Deinitialize();
            }
        }
        return true;
    }
    catch (Exception arg)
    {
        RoutineManager.ilog_0.ErrorFormat("[Load] An exception occurred: {0}.", arg);
    }
    return false;
}
复制代码

 

作者:Chuck Lu    GitHub    
posted @   ChuckLu  阅读(628)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2018-09-13 execute ps1 with pwsh.exe
2014-09-13 WinForm画网格并填充颜色
2014-09-13 CodeCombat最后一题GridMancer
点击右上角即可分享
微信分享提示