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

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

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

Сообщение vva 09 июн 2013, 08:23

вопрос 1:
как кодом почистить консоль?
как удалить все записи которые удаляются кнопкой clear в консоли?
и не понятно что чистит эта фу-я
Debug.ClearDeveloperConsole();

вопрос 2:
как заставить чистится лог файл когда чистим консоль кнопкой clear?
тоесть служебная инфа пусть остаётся а то что пишем сами
Debug.Log удаляется.
у мя тока перезапуск юньки удаляет лог записи(точнее происходит новая записть в лог файл)
vva
UNITрон
 
Сообщения: 215
Зарегистрирован: 16 мар 2011, 22:22
Откуда: планета земля
Skype: vvavvavva3
  • Сайт

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

Сообщение Strannik 09 июн 2013, 10:25

очистка консоли кодом
http://answers.unity3d.com/questions/10 ... -wind.html
Приемы при проектировании архитектуры игр
Mecanim: чтение дополнительной информации из стейтов
Mecanim: копирование blendTree
Strannik
UNIт
 
Сообщения: 93
Зарегистрирован: 26 апр 2012, 22:30
Откуда: Омск

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

Сообщение vva 09 июн 2013, 11:44

не понятно что за типы (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
vva
UNITрон
 
Сообщения: 215
Зарегистрирован: 16 мар 2011, 22:22
Откуда: планета земля
Skype: vvavvavva3
  • Сайт

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

Сообщение Strannik 09 июн 2013, 17:12

там прямо в коде примеров в следующей строке написано, где находятся эти типы.
Macros в UnityEditorInternal
SceneView в UnityEditor
Strannik
UNIт
 
Сообщения: 93
Зарегистрирован: 26 апр 2012, 22:30
Откуда: Омск

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

Сообщение vva 10 июн 2013, 05:29

не заметил.
вот рабочий код
Синтаксис:
Используется 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:
второй вопрос открыт.
vva
UNITрон
 
Сообщения: 215
Зарегистрирован: 16 мар 2011, 22:22
Откуда: планета земля
Skype: vvavvavva3
  • Сайт


Вернуться в Почемучка

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 18