cool20141 cool20141

<a href= http://mosros.flybb.ru/viewtopic.php?f=2&t=635>Процесс получения диплома стоматолога: реально ли это сделать быстро?</a>

danilaxxl danilaxxl

CollectableItemData.cs

[CreateMenuItem(fileName = "newItem", menuName = "Data/Items/Collectable", order = 51]

GoloGames GoloGames

vadya_ivan, рад, что вам игра показалась интересной : )

P.S. Кстати уже доступна бесплатная демо-версия в Steam

vadya_ivan vadya_ivan

Визуал, задумка, музыка , механики, все в цель

GoloGames GoloGames

Ato_Ome, спасибо за позитивные эмоции, будем стараться : )

Ato_Ome Ato_Ome

Потрясающий результат, все так четенько, плавненько)
То ли саунд, то ли плавность напомнили мне игрушку World of Goo, удачи вам в разработке и сил побольше дойти до релиза!)

Cute Fox Cute Fox

Graphics are a little cool, good HD content. But this game doesn't cause nary interest me.
However the game is well done.

GMSD3D GMSD3D

Почему действие после всех условий выполняется?
[step another object]

Zemlaynin Zemlaynin

Jusper, Везде, но наугад строить смысла нет. Нужно разведать сперва территорию на наличие ресурсов.

Jusper Jusper

Zemlaynin, а карьеры можно будет везде запихать?
Или под них "особые" зоны будут?

Zemlaynin Zemlaynin

Это так скажем тестовое строительство, а так да у города будет зона влияния которую нужно будет расширять.

Jusper Jusper

А ссылка есть?

Jusper Jusper

Я не оч понял из скриншота, как вообще работает стройка. У игрока будет как бы поле строительства?

split97 split97

в игру нужно добавить время песочные часы в инвентаре, пока бегаешь наберается усталость и ты очень тормозной мобильный враг просто убевает

split97 split97

в игру нужно добавить время песочные часы в инвентаре, пока бегаешь наберается усталость и ты очень тормозной мобильный враг просто убевает

ViktorJaguar ViktorJaguar

Почему я нигде не могу найти нормальный туториал, где покажут как экипировать предмет (например, меч) в определенную (выделенную под оружие) ячейку???

Логотип проекта Программирование

[C#] Обращение к аттрибутам

В общем есть некоторый кастомный аттрибут, который я закрепляю за методами.
Затем мне нужно этот атрибут достать. Но в чем проблема - этот атрибут может встретиться где угодно.

Сначала я подумал - да чего там, сейчас мигом это исправлю
И написал вот такой код

foreach (Assembly a in AppDomain.CurrentDomain.GetAssemblies())
{
    foreach (Type t in a.GetTypes())
    {
        var methods = t.GetMethods();
        foreach (var method in methods)
        {
            var attr = method.GetCustomAttribute(typeof(MyAttribute));
        }
    }
}

Но это, вызывается целых 5 секунд. Такого я естественно позволить не могу.
И я вот подумал - а как тогда вызываются всякие эти системные атрибуты? Ведь некоторые из них так же действуют "везде", но почему то от них не возникает тормозов.

В общем каким способом я могу значительно уменьшить время на вычисление методов, имеющих мой аттрибут?

Ответ

Extravert, а ты смотрел какие сборки он возвращает, мб стоит из этого списка исключить системные? И еще наверное все же попробовать использовать не GetTypes а GetExportedTypes

Смотрите также:


Комментарии



  • 1 (Текущая страница)
  • 2

Может расскажешь конечную цель? И тогда я смогу помочь. Вообще обычно атрибуты достаются непосредственно у известного типа, а не проходятся по всей сборке

В общем цель - помеченные атрибутом методы использовать в определенном месте. Это пожалуй всё. Методы могут находиться в пределах любой сборки любого класса.
Если еще точнее - для редактора сценариев в атрибуте помечаю сепаратор и название. А дальше подтягиваю эти данные где мне нужно. Атрибуты самый удобный способ пометить такие вещи. Отдельный класс не подходит, ибо пакую в отдельную сборку свой плагин, а это все будет ущербно выглядеть.

Extravert, а что если во время инициализации получишь список и закешировать его?

alexprey, я его и кеширую. Я вообще всегда кеширую данные, доставаемые иначе чем индексно из массива. Но первое обращение происходит очень долго. Даже кешируя это выглядит не красиво, ибо на 4 секунды все подвисает.

Extravert, а ты смотрел какие сборки он возвращает, мб стоит из этого списка исключить системные? И еще наверное все же попробовать использовать не GetTypes а GetExportedTypes

alexprey, да я уже примерно так и сделал :)

Extravert, сильно выросло по скорости?

alexprey, заметно. Подвисание пропало :)

Extravert, неожиданно) Да тогда круто

alexprey, вполне даже ожиданно. У меня программа перебирала все классы внутри каждой сборки. А меньше сборок - меньше классов.

  • 1 (Текущая страница)
  • 2

Возможность добавлять комментарии была ограничена