﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Sandbox.ModAPI;
using VRage.Game.Components;

namespace Torch.Mod
{
    [MySessionComponentDescriptor(MyUpdateOrder.AfterSimulation)]
    public class TorchModCore : MySessionComponentBase
    {
        public const ulong MOD_ID = 1406994352;
        private static bool _init;
        public static bool Debug;

        public override void UpdateAfterSimulation()
        {
            if (_init)
                return;

            _init = true;
            ModCommunication.Register();
            MyAPIGateway.Utilities.MessageEntered += Utilities_MessageEntered;
        }

        private void Utilities_MessageEntered(string messageText, ref bool sendToOthers)
        {
            if (messageText == "@!debug")
            {
                Debug = !Debug;
                MyAPIGateway.Utilities.ShowMessage("Torch", $"Debug: {Debug}");
                sendToOthers = false;
            }
        }

        protected override void UnloadData()
        {
            try
            {
                ModCommunication.Unregister();
            }
            catch
            {
                //session unloading, don't care
            }
        }
    }
}

﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Sandbox.ModAPI;
using VRage.Game.Components;

namespace Torch.Mod
{
    [MySessionComponentDescriptor(MyUpdateOrder.AfterSimulation)]
    public class TorchModCore : MySessionComponentBase
    {
        public const ulong MOD_ID = 1406994352;
        private static bool _init;
        public static bool Debug;

        public override void UpdateAfterSimulation()
        {
            if (_init)
                return;

            _init = true;
            ModCommunication.Register();
            MyAPIGateway.Utilities.MessageEntered += Utilities_MessageEntered;
        }

        private void Utilities_MessageEntered(string messageText, ref bool sendToOthers)
        {
            if (messageText == "@!debug")
            {
                Debug = !Debug;
                MyAPIGateway.Utilities.ShowMessage("Torch", $"Debug: {Debug}");
                sendToOthers = false;
            }
        }

        protected override void UnloadData()
        {
            try
            {
                MyAPIGateway.Utilities.MessageEntered -= Utilities_MessageEntered;
                ModCommunication.Unregister();
            }
            catch
            {
                //session unloading, don't care
            }
        }
    }
}

Fix dumb in torch mod
Fix dumb in torch mod
