Esempio n. 1
0
        public InGameConsoleInterface(Transform menuCanvasTransform, GameObject notificationTab, AssetBundle bundle)
        {
            Singleton       = this;
            _menuParentRoot = menuCanvasTransform.gameObject;

            // Instantiate
            var menuPrefab = bundle.LoadAsset <GameObject>("MLConsoleViewer");
            var menuObject = Object.Instantiate(menuPrefab);

            // Fix Transforms
            menuObject.transform.parent        = menuCanvasTransform;
            menuObject.transform.localPosition = Vector3.zero;
            menuObject.transform.localScale    = Vector3.oneVector;
            menuObject.transform.localRotation = new Quaternion(0, 0, 0, 1);

            // Find Components
            _contentTransform           = menuObject.transform.Find("Console/TextArea/MLConsole/Viewport/Content");
            LogObject.ConsoleTextPrefab = bundle.LoadAsset <GameObject>("TextElement");
            LogObject.ConsoleTextPrefab.transform.parent = menuObject.transform;
            LogObject.ConsoleTextPrefab.active           = false;
            _latestLogObject = new LogObject(_contentTransform);

            // Unload Unused
            NotificationTab = new TabBadge(notificationTab);
        }
Esempio n. 2
0
        public void AppendConsoleText(MelonLog logLine)
        {
            if (_latestLogObject == null || !_latestLogObject.AppendText(logLine))
            {
                _latestLogObject = new LogObject(_contentTransform);
            }

            if (!_menuParentRoot.active)
            {
                NotificationTab.NotifyNewLog(logLine);
            }
        }