private void Awake() { // Only one instance of debug console is allowed if (instance == null) { instance = this; // If it is a singleton object, don't destroy it between scene changes if (singleton) { DontDestroyOnLoad(gameObject); } } else if (this != instance) { Destroy(gameObject); return; } pooledLogEntries = new List <DebugLogEntry>(16); pooledLogItems = new List <DebugLogItem>(16); queuedLogEntries = new DynamicCircularBuffer <QueuedDebugLogEntry>(16); commandHistory = new CircularBuffer <string>(commandHistorySize); logEntriesLock = new object(); canvasTR = (RectTransform)transform; // Associate sprites with log types logSpriteRepresentations = new Dictionary <LogType, Sprite> { { LogType.Log, infoLog }, { LogType.Warning, warningLog }, { LogType.Error, errorLog }, { LogType.Exception, errorLog }, { LogType.Assert, errorLog } }; // Initially, all log types are visible filterInfoButton.color = filterButtonsSelectedColor; filterWarningButton.color = filterButtonsSelectedColor; filterErrorButton.color = filterButtonsSelectedColor; collapsedLogEntries = new List <DebugLogEntry>(128); collapsedLogEntriesMap = new Dictionary <DebugLogEntry, int>(128); uncollapsedLogEntriesIndices = new DebugLogIndexList(); indicesOfListEntriesToShow = new DebugLogIndexList(); recycledListView.Initialize(this, collapsedLogEntries, indicesOfListEntriesToShow, logItemPrefab.Transform.sizeDelta.y); recycledListView.UpdateItemsInTheList(true); if (minimumHeight < 200f) { minimumHeight = 200f; } nullPointerEventData = new PointerEventData(null); }
public void Initialize(DebugLogManager manager, List <DebugLogEntry> collapsedLogEntries, DebugLogIndexList indicesOfEntriesToShow, float logItemHeight) { this.manager = manager; this.collapsedLogEntries = collapsedLogEntries; this.indicesOfEntriesToShow = indicesOfEntriesToShow; this.logItemHeight = logItemHeight; _1OverLogItemHeight = 1f / logItemHeight; }