|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
|
Отследить добавление/удаление элементов вектора
Друзья!
Имею вектор. Хочу, чтобы изменение его элементов (любым способом) вызывало событие. Как это можно наиболее бескровно реализовать? Спасибо.
__________________
Не сломано - не чини! |
|
|||||
https://github.com/SlavaRa/blooddy/b...tDispatcher.as
@Tails, про композицию напомнило: - vim лучше чем любая IDE! - чем лучше? - чем любая IDE
__________________
местонахождение |
|
|||||
Регистрация: Jul 2014
Сообщений: 42
|
Еще, как вариант, можете попробовать VectorListModel из пакета AsWing. Но там работа идёт с массивом
|
|
|||||
Lorem ipsum
|
Appleman, а ты уверен, что хочешь именно событие по каждому чиху, а не флаг, который когда дело доходит до обработки вектора, сообщает, что с момента последнего запроса вектор 1 или 100500 раз поменялся? Как правило логика может щелкать данными существенно чаще, чем эти данные нужно, например, отображать.
__________________
Поймай яблоко 2! |
|
|||||
Регистрация: Dec 2014
Адрес: Санкт-Петербург
Сообщений: 479
|
СлаваRa, спасибо, круто!
Zebestov, да я сам ещё до конца не решил, чего на самом деле хочу Это вектор основных персонажей в Модели. С одной стороны, его не часто придётся дёргать по части изменения, но постоянно и многократно перебирать методом for each. Нужно, чтобы добавление либо удаление элемента не оставалось незамеченным, но при этом не терялась способность иметь удобный доступ к элементам и перебирать их. Пока в Модели написал методы addCharacter2Pool(ch: Character) и removeCharacterFromPool(ch: Character). Но, боюсь, сам же забуду о необходимости пользоваться данными методами и зафигачу _characterPool.push(character) и буду рвать на жопе волосы, почему всё перестало работать нормально...
__________________
Не сломано - не чини! |
|
|||||
А тебе что вообще нужно делать с этими массивами? Нужен доступ по индексу к элементам? Могут ли элементы в массиве повторяться?
Подумай над этим. Ведь есть же другие типы коллекций. Например хэшкарты, в которых отсутствует индексатор, но зато элементы находятся за константное время O(1), без перебора. В as3 Dictionary и Object работают как хешкарты. Но в них ключи уникальны.
__________________
Ко мне можно и нужно обращаться на ты) |
|
|||||
Lorem ipsum
|
А ты не забывай )) бо все ты правильно сделал.
__________________
Поймай яблоко 2! |
|
|||||
Да, забавно получилось) Но я так и подумал, что человеку нужна конструкция более высокого уровня (Список игровых объектов), а не просто низкоуровневый вектор с уведомлением. Поэтому.
__________________
Дети не должны знать о своих родителях |
Часовой пояс GMT +4, время: 20:35. |
|
« Предыдущая тема | Следующая тема » |
|
|