public void Start() { orig_Start(); //Console.WriteLine(q); CustomNetworkManager.Modded = true; AddLog("[ModLoader] Start"); plugins = new List <Assembly>(); string[] files = Directory.GetFiles(Path.Combine(Directory.GetCurrentDirectory(), "Mods"), "*.dll"); foreach (var file in files) { AddLog("[ModLoader] Loading mod: " + file); try { var asm = Assembly.LoadFrom(file); foreach (var type in asm.GetTypes()) { try { if (type.GetMethod("Main") != null) { type.GetMethod("Main").Invoke(null, new object[0]); } } finally { } } plugins.Add(asm); AppDomain.CurrentDomain.Load(asm.GetName()); AddLog("[ModLoader] Loaded mod: " + file); } catch (Exception e) { AddLog("[ModLoader] Failed to load mod: " + file); AddLog("[ModLoader] Fault: " + e.ToString()); } } try { LabModUpdate.Init(); LabModGameConsoleQuery.Init(); LabModPlayerHurt.Init(); LabModPostRoundStart.Init(); LabModRoundStart.Init(); LabModPreRoundStart.Init(); LabModRoundEnd.Init(); LabModJoinLate.Init(); LabModPlayerEscape.Init(); LabModPlayerJoin.Init(); LabModLCZDecont.Init(); LabModAlphaWarheadDetonate.Init(); LabModCISpawn.Init(); } catch (Exception e) { AddLog("[ModLoader] Failed to load mod events"); AddLog("[ModLoader] Fault: " + e.ToString()); } }
public void SetRandomRoles() { bool stop = false; LabModPreRoundStart.TriggerEvent(this); LabModRoundStart.TriggerEvent(this, out stop); if (!stop) { orig_SetRandomRoles(); } LabModPostRoundStart.TriggerEvent(this); }