Removed some unnecessary synchronizations from quest timers.
This commit is contained in:
@ -387,6 +387,7 @@ public class Quest extends ManagedScript
|
||||
return timer;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -401,23 +402,21 @@ public class Quest extends ManagedScript
|
||||
return;
|
||||
}
|
||||
|
||||
synchronized (_questTimers)
|
||||
final List<QuestTimer> timers = _questTimers.get(name);
|
||||
if ((timers == null) || timers.isEmpty())
|
||||
{
|
||||
final List<QuestTimer> timers = _questTimers.get(name);
|
||||
if ((timers == null) || timers.isEmpty())
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
for (QuestTimer timer : timers)
|
||||
{
|
||||
if (timer != null)
|
||||
{
|
||||
timer.cancel();
|
||||
}
|
||||
}
|
||||
timers.clear();
|
||||
return;
|
||||
}
|
||||
|
||||
for (QuestTimer timer : timers)
|
||||
{
|
||||
if (timer != null)
|
||||
{
|
||||
timer.cancel();
|
||||
}
|
||||
}
|
||||
|
||||
timers.clear();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -433,23 +432,19 @@ public class Quest extends ManagedScript
|
||||
return;
|
||||
}
|
||||
|
||||
synchronized (_questTimers)
|
||||
final List<QuestTimer> timers = _questTimers.get(name);
|
||||
if ((timers == null) || timers.isEmpty())
|
||||
{
|
||||
final List<QuestTimer> timers = _questTimers.get(name);
|
||||
if ((timers == null) || timers.isEmpty())
|
||||
return;
|
||||
}
|
||||
|
||||
for (QuestTimer timer : timers)
|
||||
{
|
||||
if ((timer != null) && timer.equals(this, name, npc, player))
|
||||
{
|
||||
timer.cancel();
|
||||
return;
|
||||
}
|
||||
|
||||
for (QuestTimer timer : timers)
|
||||
{
|
||||
if ((timer != null) && timer.equals(this, name, npc, player))
|
||||
{
|
||||
timer.cancel();
|
||||
timers.remove(timer);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -465,13 +460,10 @@ public class Quest extends ManagedScript
|
||||
return;
|
||||
}
|
||||
|
||||
synchronized (_questTimers)
|
||||
final List<QuestTimer> timers = _questTimers.get(timer.toString());
|
||||
if (timers != null)
|
||||
{
|
||||
final List<QuestTimer> timers = _questTimers.get(timer.toString());
|
||||
if (timers != null)
|
||||
{
|
||||
timers.remove(timer);
|
||||
}
|
||||
timers.remove(timer);
|
||||
}
|
||||
}
|
||||
|
||||
@ -1668,20 +1660,21 @@ public class Quest extends ManagedScript
|
||||
public boolean unload()
|
||||
{
|
||||
saveGlobalData();
|
||||
|
||||
// Cancel all pending timers before reloading.
|
||||
// If timers ought to be restarted, the quest can take care of it with its code (example: save global data indicating what timer must be restarted).
|
||||
synchronized (_questTimers)
|
||||
for (List<QuestTimer> timers : _questTimers.values())
|
||||
{
|
||||
for (List<QuestTimer> timers : _questTimers.values())
|
||||
for (QuestTimer timer : timers)
|
||||
{
|
||||
for (QuestTimer timer : timers)
|
||||
{
|
||||
timer.cancel();
|
||||
}
|
||||
timers.clear();
|
||||
timer.cancel();
|
||||
}
|
||||
_questTimers.clear();
|
||||
|
||||
timers.clear();
|
||||
}
|
||||
|
||||
_questTimers.clear();
|
||||
|
||||
return QuestManager.getInstance().removeQuest(this);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user