Esempio n. 1
0
 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());
     }
 }
Esempio n. 2
0
        public void SetRandomRoles()
        {
            bool stop = false;

            LabModPreRoundStart.TriggerEvent(this);
            LabModRoundStart.TriggerEvent(this, out stop);
            if (!stop)
            {
                orig_SetRandomRoles();
            }
            LabModPostRoundStart.TriggerEvent(this);
        }