public static bool Initialise(Data.PackageData a_data, IConsoleHandler a_handler, IPerformanceTracker a_tracker, IDisplayHandler a_displayHandler) { s_data = a_data ?? throw new NullReferenceException("KDebug:: DEBUG DATA NULL"); bool bResult = false; // Init Log bResult = InitialiseLog(); if (bResult == false) { Reset(); return(false); } // Init Console s_consoleImpl = new ConsoleImpl(a_handler, s_data.ConsoleData); s_consoleImpl.OnAwake(s_data.ConsoleData); // Init Debug Display Manager s_displayManagerImpl = new DebugDisplayManagerImpl(a_data.DisplayData, a_displayHandler); s_displayManagerImpl.OnAwake(); Tracker = a_tracker; Tracker.OnAwake(); s_Initialised = true; return(true); }