Browse Source

FastSet.shared() implementation
FastCollection.shared() depreciation.

JIV 15 years ago
parent
commit
d0cc962cf6

+ 0 - 1
L2_GameServer/java/com/l2jserver/gameserver/ai/L2AttackableAI.java

@@ -1958,7 +1958,6 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
 				int range = 0;
 				int range = 0;
 				L2Attackable actor = (L2Attackable)_actor;
 				L2Attackable actor = (L2Attackable)_actor;
 				
 				
-				if(actor.getAttackByList() != null)
 				for(L2Character obj: actor.getAttackByList())
 				for(L2Character obj: actor.getAttackByList())
 				{
 				{
 					if(obj == null || obj.isDead() || !GeoData.getInstance().canSeeTarget(_actor,obj) || obj == getAttackTarget())
 					if(obj == null || obj.isDead() || !GeoData.getInstance().canSeeTarget(_actor,obj) || obj == getAttackTarget())

+ 1 - 1
L2_GameServer/java/com/l2jserver/gameserver/model/actor/L2Attackable.java

@@ -1393,7 +1393,7 @@ public class L2Attackable extends L2Npc
 			int highestLevel = lastAttacker.getLevel();
 			int highestLevel = lastAttacker.getLevel();
 
 
 			// Check to prevent very high level player to nearly kill mob and let low level player do the last hit.
 			// Check to prevent very high level player to nearly kill mob and let low level player do the last hit.
-			if (getAttackByList() != null && !getAttackByList().isEmpty())
+			if (!getAttackByList().isEmpty())
 			{
 			{
 				for (L2Character atkChar: getAttackByList())
 				for (L2Character atkChar: getAttackByList())
 				if (atkChar != null && atkChar.getLevel() > highestLevel)
 				if (atkChar != null && atkChar.getLevel() > highestLevel)

+ 7 - 4
L2_GameServer/java/com/l2jserver/gameserver/model/actor/L2Character.java

@@ -21,6 +21,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.Collections;
 import java.util.List;
 import java.util.List;
 import java.util.Map;
 import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.Future;
 import java.util.concurrent.Future;
 import java.util.logging.Level;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
@@ -116,6 +117,7 @@ import com.l2jserver.util.Rnd;
 
 
 import javolution.util.FastList;
 import javolution.util.FastList;
 import javolution.util.FastMap;
 import javolution.util.FastMap;
+import javolution.util.FastSet;
 /**
 /**
  * Mother class of all character objects of the world (PC, NPC...)<BR><BR>
  * Mother class of all character objects of the world (PC, NPC...)<BR><BR>
  *
  *
@@ -142,7 +144,7 @@ public abstract class L2Character extends L2Object
 
 
 	// =========================================================
 	// =========================================================
 	// Data Field
 	// Data Field
-	private Collection<L2Character> _attackByList;
+	private Set<L2Character> _attackByList;
 	private volatile boolean _isCastingNow					= false;
 	private volatile boolean _isCastingNow					= false;
 	private volatile boolean _isCastingSimultaneouslyNow		= false;
 	private volatile boolean _isCastingSimultaneouslyNow		= false;
 	private L2Skill _lastSkillCast;
 	private L2Skill _lastSkillCast;
@@ -444,7 +446,8 @@ public abstract class L2Character extends L2Object
 	 */
 	 */
 	public void addAttackerToAttackByList (L2Character player)
 	public void addAttackerToAttackByList (L2Character player)
 	{
 	{
-		if (player == null || player == this || getAttackByList() == null || getAttackByList().contains(player)) return;
+		if (player == null || player == this || getAttackByList().contains(player)) 
+			return;
 		getAttackByList().add(player);
 		getAttackByList().add(player);
 	}
 	}
 
 
@@ -2235,7 +2238,7 @@ public abstract class L2Character extends L2Object
     }
     }
 
 
 	/** Return a list of L2Character that attacked. */
 	/** Return a list of L2Character that attacked. */
-	public final Collection<L2Character> getAttackByList ()
+	public final Set<L2Character> getAttackByList ()
 	{
 	{
 		if (_attackByList != null)
 		if (_attackByList != null)
 			return _attackByList;
 			return _attackByList;
@@ -2243,7 +2246,7 @@ public abstract class L2Character extends L2Object
 		synchronized (this)
 		synchronized (this)
 		{
 		{
 			if (_attackByList == null)
 			if (_attackByList == null)
-				_attackByList = new FastList<L2Character>().shared();
+				_attackByList = new FastSet<L2Character>().shared();
 		}
 		}
 		return _attackByList;
 		return _attackByList;
 	}
 	}

BIN
L2_GameServer/lib/javolution-5.5.1.jar