Страница 1 из 1

как кодом почистить консоль?

СообщениеДобавлено: 09 июн 2013, 08:23
vva
вопрос 1:
как кодом почистить консоль?
как удалить все записи которые удаляются кнопкой clear в консоли?
и не понятно что чистит эта фу-я
Debug.ClearDeveloperConsole();

вопрос 2:
как заставить чистится лог файл когда чистим консоль кнопкой clear?
тоесть служебная инфа пусть остаётся а то что пишем сами
Debug.Log удаляется.
у мя тока перезапуск юньки удаляет лог записи(точнее происходит новая записть в лог файл)

Re: как кодом почистить консоль?

СообщениеДобавлено: 09 июн 2013, 10:25
Strannik
очистка консоли кодом
http://answers.unity3d.com/questions/10 ... -wind.html

Re: как кодом почистить консоль?

СообщениеДобавлено: 09 июн 2013, 11:44
vva
не понятно что за типы (SceneView и Macros) используются в примере для поиска сборки?
Assembly assembly = Assembly.GetAssembly(typeof(SceneView));
Assembly assembly = Assembly.GetAssembly(typeof(Macros));

Синтаксис:
Используется csharp

using UnityEngine;
using System.Collections;
using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
using System.Collections.Generic;
using System.Reflection;

 public static void ClearLog()
    {
        Assembly SampleAssembly;
        // Создание экземпляра целевого объекта.
        Int32 Integer1 = new Int32();
        Type Type1;
        // Установите экземпляр типа к типу целевого класса.
        Type1 = Integer1.GetType();
        // Создание экземпляра класса Ассамблеи узел корпуса целого типа.
        SampleAssembly = Assembly.GetAssembly(Integer1.GetType());
        if (SampleAssembly == null)
        {
            Debug.LogError("!!! (SampleAssembly == null)");
        }
        else
        {
            // Получает расположение сборки с использованием файла: протоколом.
            Debug.Log("CodeBase=" + SampleAssembly.CodeBase);
            //Type type = SampleAssembly.GetType("UnityEditor.LogEntries");
            Type type = SampleAssembly.GetType("UnityEditorInternal.LogEntries");
            if (type == null)
            {
                Debug.LogError("!!! (type == null)");
            }
            else
            {
                MethodInfo method = type.GetMethod("Clear");
                if (method == null)
                {
                    Debug.LogError("!!! (method == null)");
                }
                else
                {
                    Debug.Log("method=" + method);
                    method.Invoke(new object(), null);
                }
            }
        }
    }
 


не получается найти тип!?
Type type = SampleAssembly.GetType

Re: как кодом почистить консоль?

СообщениеДобавлено: 09 июн 2013, 17:12
Strannik
там прямо в коде примеров в следующей строке написано, где находятся эти типы.
Macros в UnityEditorInternal
SceneView в UnityEditor

Re: как кодом почистить консоль?

СообщениеДобавлено: 10 июн 2013, 05:29
vva
не заметил.
вот рабочий код
Синтаксис:
Используется csharp
 /// <summary>
    /// очистка лога
    /// </summary>
    public static void F_ClearLog()
    {
        Assembly SampleAssembly = Assembly.GetAssembly(typeof(UnityEditorInternal.Macros));
        if (SampleAssembly == null)
        {
            Debug.LogError("!!! (SampleAssembly == null)");
        }
        else
        {
            Type type = SampleAssembly.GetType("UnityEditorInternal.LogEntries");
            if (type == null)
            {
                Debug.LogError("!!! (type == null)");
            }
            else
            {
                MethodInfo method = type.GetMethod("Clear");
                if (method == null)
                {
                    Debug.LogError("!!! (method == null)");
                }
                else
                {
                    method.Invoke(new object(), null);
                }
            }
        }
    }
 

спс за помощь. :ymapplause:
второй вопрос открыт.