-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCore.cs
More file actions
85 lines (71 loc) · 2.96 KB
/
Copy pathCore.cs
File metadata and controls
85 lines (71 loc) · 2.96 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
using System;
using LabApi.Events.Arguments.PlayerEvents;
using LabApi.Features;
using LabApi.Loader;
using LabApi.Loader.Features.Plugins;
using MEC;
using RueI.API;
using RueI.API.Elements;
using ServerADS.Configs;
using ServerADS.Handlers;
using UnityEngine;
using api = LabApi.Events.Handlers;
using Logger = LabApi.Features.Console.Logger;
namespace ServerADS
{
public class Core : Plugin
{
public override string Name { get; } = "ServerADS";
public override string Description { get; } = "ADS overlays on screens and more";
public override string Author { get; } = "Morkamo";
public override Version Version { get; } = new(1, 0, 0);
public override Version RequiredApiVersion { get; } = new(LabApiProperties.CompiledVersion);
public static Core Instance { get; private set; }
public WelcomeMessages WmConfig { get; set; }
public AdvicesForSpectators AfsConfig { get; set; }
public GlobalBanners GlobalBanners { get; set; }
public WmHandler WmHandler { get; private set; }
public AfsHandler AfsHandler { get; private set; }
public GbHandler GbHandler { get; private set; }
public override void Enable()
{
Instance = this;
WmConfig = this.LoadConfig<WelcomeMessages>("WelcomeMessages");
AfsConfig = this.LoadConfig<AdvicesForSpectators>("AdvicesForSpectators");
GlobalBanners = this.LoadConfig<GlobalBanners>("GlobalBanners");
WmHandler = new WmHandler();
AfsHandler = new AfsHandler();
GbHandler = new GbHandler();
SubscribeEvents();
}
public override void Disable()
{
UnsubscribeEvents();
WmConfig = null;
AfsConfig = null;
GlobalBanners = null;
GbHandler = null;
AfsHandler = null;
WmHandler = null;
Instance = null;
}
private void SubscribeEvents()
{
api.PlayerEvents.Joined += WmHandler.OnPlayerJoined;
api.ServerEvents.RoundStarted += AfsHandler.OnRoundStarted;
api.ServerEvents.WaitingForPlayers += AfsHandler.OnWaitingForPlayers;
api.PlayerEvents.Joined += GbHandler.OnPlayerJoined;
api.PlayerEvents.Left += GbHandler.OnPlayerLeft;
api.PlayerEvents.ChangedRole += GbHandler.OnRoleChanged;
}
private void UnsubscribeEvents()
{
api.PlayerEvents.Joined -= WmHandler.OnPlayerJoined;
api.ServerEvents.RoundStarted -= AfsHandler.OnRoundStarted;
api.ServerEvents.WaitingForPlayers -= AfsHandler.OnWaitingForPlayers;
api.PlayerEvents.Joined -= GbHandler.OnPlayerJoined;
api.PlayerEvents.Left -= GbHandler.OnPlayerLeft;
api.PlayerEvents.ChangedRole -= GbHandler.OnRoleChanged;
}
}
}