using AnotherReplayReader.Utils;
using TechnologyAssembler;
using TechnologyAssembler.Core.Diagnostics;

namespace AnotherReplayReader
{
    public static class DronePlatform
    {
        private static readonly object _lock = new();
        private static bool _built = false;

        public static void BuildTechnologyAssembler()
        {
            using var locker = new Lock(_lock);
            if (_built)
            {
                return;
            }
            new TechnologyAssemblerCoreModule().Initialize();
            Tracer.SetTraceLevel(7);
            Tracer.TraceWrite += (source, type, message) => Debug.Instance.DebugMessage += $"[{source}][{type}] {message}\r\n";
            _built = true;
        }
    }
}