|
7 | 7 |
|
8 | 8 | namespace FXCommands
|
9 | 9 | {
|
10 |
| - [PluginActionId("com.egg-rp.fxcommands")] |
| 10 | + [PluginActionId("tf.josh.fxcommands")] |
11 | 11 | public class PluginAction : PluginBase
|
12 | 12 | {
|
13 | 13 |
|
@@ -231,49 +231,45 @@ public string CommandReleased
|
231 | 231 | #endregion
|
232 | 232 | public PluginAction(SDConnection connection, InitialPayload payload) : base(connection, payload)
|
233 | 233 | {
|
234 |
| - if (payload.Settings == null || payload.Settings.Count == 0) |
235 |
| - { |
236 |
| - this.settings = PluginSettings.CreateDefaultSettings(); |
237 |
| - } |
238 |
| - else |
239 |
| - { |
240 |
| - this.settings = payload.Settings.ToObject<PluginSettings>(); |
241 |
| - } |
| 234 | + settings = payload.Settings == null || payload.Settings.Count == 0 |
| 235 | + ? PluginSettings.CreateDefaultSettings() |
| 236 | + : payload.Settings.ToObject<PluginSettings>(); |
| 237 | + |
242 | 238 | connectionManager = new ConnectionManager();
|
243 | 239 | connectionManager.InitializeClients();
|
244 | 240 | }
|
245 | 241 |
|
246 | 242 | public override void Dispose()
|
247 | 243 | {
|
248 |
| - Logger.Instance.LogMessage(TracingLevel.INFO, $"Destructor called"); |
| 244 | + Logger.Instance.LogMessage(TracingLevel.INFO, "Destructor called"); |
249 | 245 | connectionManager.Dispose();
|
| 246 | + System.GC.Collect(); // Force garbage collection |
250 | 247 | }
|
251 | 248 |
|
252 |
| - public override void KeyPressed(KeyPayload payload) |
| 249 | + public override async void KeyPressed(KeyPayload payload) |
253 | 250 | {
|
254 | 251 | Logger.Instance.LogMessage(TracingLevel.INFO, "Key Pressed");
|
255 |
| - |
256 | 252 | if (!string.IsNullOrEmpty(settings.CurrentCommandAction.CommandPressed))
|
257 | 253 | {
|
258 |
| - SendMessage(settings.CurrentCommandAction.CommandPressed); |
| 254 | + await SendMessageAsync(settings.CurrentCommandAction.CommandPressed); |
259 | 255 | }
|
260 | 256 | }
|
261 | 257 |
|
262 |
| - public override void KeyReleased(KeyPayload payload) |
| 258 | + public override async void KeyReleased(KeyPayload payload) |
263 | 259 | {
|
264 | 260 | Logger.Instance.LogMessage(TracingLevel.INFO, "Key Released");
|
265 | 261 | if (!string.IsNullOrEmpty(settings.CurrentCommandAction.CommandReleased))
|
266 | 262 | {
|
267 |
| - SendMessage(settings.CurrentCommandAction.CommandReleased); |
| 263 | + await SendMessageAsync(settings.CurrentCommandAction.CommandReleased); |
268 | 264 | }
|
269 | 265 | settings.CurrentState++;
|
270 | 266 | if (settings.CurrentState >= settings.DesiredStates) settings.CurrentState = 0;
|
271 |
| - SetStateAsync((uint)settings.CurrentState); |
| 267 | + await SetStateAsync((uint)settings.CurrentState); |
272 | 268 | }
|
273 | 269 |
|
274 |
| - private void SendMessage(string message) |
| 270 | + private async Task SendMessageAsync(string message) |
275 | 271 | {
|
276 |
| - connectionManager.SendMessage(message); |
| 272 | + await Task.Run(() => connectionManager.SendMessage(message)); |
277 | 273 | }
|
278 | 274 |
|
279 | 275 | public override void OnTick() { }
|
|
0 commit comments