root/trunk/AE-go_GameServer/src/com/aionemu/gameserver/controllers/effect/EffectController.java
| 1428 | 1515 | ||
|---|---|---|---|
16 | */ | 16 | */ |
17 | package com.aionemu.gameserver.controllers.effect; | 17 | package com.aionemu.gameserver.controllers.effect; |
18 | 18 | ||
19 | import java.util.ArrayList; | ||
20 | import java.util.Iterator; | ||
21 | import java.util.List; | ||
19 | import java.util.Map; | 22 | import java.util.Map; |
20 | import java.util.concurrent.ConcurrentHashMap; | 23 | import java.util.concurrent.ConcurrentHashMap; |
21 | 24 | ||
... | ... | ||
126 | */ | 129 | */ |
127 | public void broadCastEffects() | 130 | public void broadCastEffects() |
128 | { | 131 | { |
132 | List<Effect> effects = getAbnormalEffects(); | ||
129 | PacketSendUtility.broadcastPacket(getOwner(), | 133 | PacketSendUtility.broadcastPacket(getOwner(), |
130 | new SM_ABNORMAL_EFFECT(getOwner().getObjectId(), abnormals, | 134 | new SM_ABNORMAL_EFFECT(getOwner().getObjectId(), abnormals, effects)); |
131 | abnormalEffectMap.values().toArray(new Effect[abnormalEffectMap.size()]))); | ||
132 | } | 135 | } |
133 | 136 | ||
134 | /** | 137 | /** |
... | ... | ||
138 | */ | 141 | */ |
139 | public void sendEffectIconsTo(Player player) | 142 | public void sendEffectIconsTo(Player player) |
140 | { | 143 | { |
144 | List<Effect> effects = getAbnormalEffects(); | ||
141 | PacketSendUtility.sendPacket(player, new SM_ABNORMAL_EFFECT(getOwner().getObjectId(), | 145 | PacketSendUtility.sendPacket(player, new SM_ABNORMAL_EFFECT(getOwner().getObjectId(), |
142 | abnormals, abnormalEffectMap.values().toArray(new Effect[abnormalEffectMap.size()]))); | 146 | abnormals, effects)); |
143 | } | 147 | } |
144 | 148 | ||
145 | /** | 149 | /** |
... | ... | ||
246 | 250 | ||
247 | public void updatePlayerEffectIconsImpl() | 251 | public void updatePlayerEffectIconsImpl() |
248 | { | 252 | { |
253 | List<Effect> effects = getAbnormalEffects(); | ||
254 | |||
249 | PacketSendUtility.sendPacket((Player) owner, | 255 | PacketSendUtility.sendPacket((Player) owner, |
250 | new SM_ABNORMAL_STATE(abnormalEffectMap.values().toArray(new Effect[abnormalEffectMap.size()]), abnormals)); | 256 | new SM_ABNORMAL_STATE(effects, abnormals)); |
251 | } | 257 | } |
252 | 258 | ||
259 | private List<Effect> getAbnormalEffects() | ||
260 | { | ||
261 | List<Effect> effects = new ArrayList<Effect>(); | ||
262 | Iterator<Effect> iterator = iterator(); | ||
263 | while(iterator.hasNext()) | ||
264 | { | ||
265 | Effect effect = iterator.next(); | ||
266 | if(effect != null) | ||
267 | effects.add(effect); | ||
268 | } | ||
269 | return effects; | ||
270 | } | ||
271 | |||
253 | /** | 272 | /** |
254 | * ABNORMAL EFFECTS | 273 | * ABNORMAL EFFECTS |
255 | */ | 274 | */ |
... | ... | ||
291 | { | 310 | { |
292 | return abnormals; | 311 | return abnormals; |
293 | } | 312 | } |
313 | |||
314 | /** | ||
315 | * | ||
316 | * @return | ||
317 | */ | ||
318 | public Iterator<Effect> iterator() | ||
319 | { | ||
320 | return abnormalEffectMap.values().iterator(); | ||
321 | } | ||
294 | 322 | ||
295 | } | 323 | } |
Download diff