root/trunk/AE-go_GameServer/src/com/aionemu/gameserver/questEngine/QuestEngine.java
| 2393 | 2440 | ||
|---|---|---|---|
77 | private TIntArrayList _questOnEnterWorld= new TIntArrayList(); | 77 | private TIntArrayList _questOnEnterWorld= new TIntArrayList(); |
78 | private TIntObjectHashMap<List<QuestDrop>> _questDrop= new TIntObjectHashMap<List<QuestDrop>>(); | 78 | private TIntObjectHashMap<List<QuestDrop>> _questDrop= new TIntObjectHashMap<List<QuestDrop>>(); |
79 | private TIntArrayList _questOnQuestFinish= new TIntArrayList(); | 79 | private TIntArrayList _questOnQuestFinish= new TIntArrayList(); |
80 | 80 | private List<Integer> _questOnQuestTimerEnd= new ArrayList<Integer>(); | |
81 | | ||
81 | private final NpcQuestData emptyNpcQuestData = new NpcQuestData(); | 82 | private final NpcQuestData emptyNpcQuestData = new NpcQuestData(); |
82 | 83 | | |
83 | public static final QuestEngine getInstance() | 84 | public static final QuestEngine getInstance() |
84 | { | 85 | { |
85 | return SingletonHolder.instance; | 86 | return SingletonHolder.instance; |
... | ... | ||
259 | questHandler.onQuestFinishEvent(env); | 260 | questHandler.onQuestFinishEvent(env); |
260 | } | 261 | } |
261 | } | 262 | } |
263 | |||
264 | public void onQuestTimerEnd(QuestEnv env) | ||
265 | { | ||
266 | for(int questId : _questOnQuestTimerEnd) | ||
267 | { | ||
268 | QuestHandler questHandler = getQuestHandlerByQuestId(questId); | ||
269 | if(questHandler != null) | ||
270 | questHandler.onQuestTimerEndEvent(env); | ||
271 | } | ||
272 | } | ||
262 | 273 | ||
263 | public boolean deleteQuest(Player player, int questId) | 274 | public boolean deleteQuest(Player player, int questId) |
264 | { | 275 | { |
... | ... | ||
405 | if(!_questOnQuestFinish.contains(questId)) | 416 | if(!_questOnQuestFinish.contains(questId)) |
406 | _questOnQuestFinish.add(questId); | 417 | _questOnQuestFinish.add(questId); |
407 | } | 418 | } |
408 | 419 | | |
420 | public void addOnQuestTimerEnd(int questId) | ||
421 | { | ||
422 | if(!_questOnQuestTimerEnd.contains(questId)) | ||
423 | _questOnQuestTimerEnd.add(questId); | ||
424 | } | ||
425 | | ||
409 | public void clear() | 426 | public void clear() |
410 | { | 427 | { |
411 | _npcQuestData.clear(); | 428 | _npcQuestData.clear(); |
... | ... | ||
417 | _questMovieEndIds.clear(); | 434 | _questMovieEndIds.clear(); |
418 | _questDrop.clear(); | 435 | _questDrop.clear(); |
419 | _questOnQuestFinish.clear(); | 436 | _questOnQuestFinish.clear(); |
437 | _questOnQuestTimerEnd.clear(); | ||
420 | questHandlers.clear(); | 438 | questHandlers.clear(); |
421 | } | 439 | } |
422 | 440 |
Download diff