瀏覽代碼

CB debug msg. More Javolution recycling.

JIV 15 年之前
父節點
當前提交
9f062b9887

+ 2 - 2
L2_GameServer/java/com/l2jserver/gameserver/model/L2CommandChannel.java

@@ -48,7 +48,7 @@ public class L2CommandChannel
 	public L2CommandChannel(L2PcInstance leader)
 	public L2CommandChannel(L2PcInstance leader)
 	{
 	{
 		_commandLeader = leader;
 		_commandLeader = leader;
-		_partys = new FastList<L2Party>();
+		_partys = FastList.newInstance();
 		_partys.add(leader.getParty());
 		_partys.add(leader.getParty());
 		_channelLvl = leader.getParty().getLevel();
 		_channelLvl = leader.getParty().getLevel();
 		leader.getParty().setCommandChannel(this);
 		leader.getParty().setCommandChannel(this);
@@ -118,7 +118,7 @@ public class L2CommandChannel
 					removeParty(party);
 					removeParty(party);
 			}
 			}
 		}
 		}
-		_partys = null;
+		FastList.recycle((FastList<?>) _partys);
 	}
 	}
 
 
 	/**
 	/**

+ 7 - 6
L2_GameServer/java/com/l2jserver/gameserver/model/TradeList.java

@@ -19,6 +19,9 @@ import static com.l2jserver.gameserver.model.itemcontainer.PcInventory.MAX_ADENA
 import java.util.List;
 import java.util.List;
 import java.util.logging.Logger;
 import java.util.logging.Logger;
 
 
+import javolution.util.FastList;
+import javolution.util.FastSet;
+
 import com.l2jserver.Config;
 import com.l2jserver.Config;
 import com.l2jserver.gameserver.datatables.ItemTable;
 import com.l2jserver.gameserver.datatables.ItemTable;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
@@ -32,9 +35,6 @@ import com.l2jserver.gameserver.templates.item.L2EtcItemType;
 import com.l2jserver.gameserver.templates.item.L2Item;
 import com.l2jserver.gameserver.templates.item.L2Item;
 import com.l2jserver.gameserver.util.Util;
 import com.l2jserver.gameserver.util.Util;
 
 
-import javolution.util.FastList;
-import javolution.util.FastSet;
-
 /**
 /**
  * @author Advi
  * @author Advi
  *
  *
@@ -243,15 +243,16 @@ public class TradeList
 	 */
 	 */
 	public TradeList.TradeItem[] getAvailableItems(PcInventory inventory)
 	public TradeList.TradeItem[] getAvailableItems(PcInventory inventory)
 	{
 	{
-		final List<TradeList.TradeItem> list = new FastList<TradeList.TradeItem>();
+		FastList<TradeList.TradeItem> list = FastList.newInstance();
 		for (TradeList.TradeItem item : _items)
 		for (TradeList.TradeItem item : _items)
 		{
 		{
 			item = new TradeItem(item, item.getCount(), item.getPrice());
 			item = new TradeItem(item, item.getCount(), item.getPrice());
 			inventory.adjustAvailableItem(item);
 			inventory.adjustAvailableItem(item);
 			list.add(item);
 			list.add(item);
 		}
 		}
-		
-		return list.toArray(new TradeList.TradeItem[list.size()]);
+		TradeList.TradeItem[] result = list.toArray(new TradeList.TradeItem[list.size()]);
+		FastList.recycle(list);
+		return result;
 	}
 	}
 	
 	
 	/**
 	/**

+ 8 - 4
L2_GameServer/java/com/l2jserver/gameserver/model/itemcontainer/PcInventory.java

@@ -350,11 +350,13 @@ public class PcInventory extends Inventory
      * @param count : int Quantity of adena to be removed
      * @param count : int Quantity of adena to be removed
 	 * @param actor : L2PcInstance Player requesting the item add
 	 * @param actor : L2PcInstance Player requesting the item add
 	 * @param reference : L2Object Object referencing current action like NPC selling item or previous item in transformation
 	 * @param reference : L2Object Object referencing current action like NPC selling item or previous item in transformation
+	 * @return boolean : true if adena was reduced
      */
      */
-	public void reduceAdena(String process, long count, L2PcInstance actor, L2Object reference)
+	public boolean reduceAdena(String process, long count, L2PcInstance actor, L2Object reference)
 	{
 	{
     	if (count > 0)
     	if (count > 0)
-    		destroyItemByItemId(process, ADENA_ID, count, actor, reference);
+    		return destroyItemByItemId(process, ADENA_ID, count, actor, reference) != null;
+    	return false;
 	}
 	}
 
 
 	/**
 	/**
@@ -376,11 +378,13 @@ public class PcInventory extends Inventory
      * @param count : int Quantity of adena to be removed
      * @param count : int Quantity of adena to be removed
 	 * @param actor : L2PcInstance Player requesting the item add
 	 * @param actor : L2PcInstance Player requesting the item add
 	 * @param reference : L2Object Object referencing current action like NPC selling item or previous item in transformation
 	 * @param reference : L2Object Object referencing current action like NPC selling item or previous item in transformation
+     * @return boolean : true if adena was reduced
      */
      */
-	public void reduceAncientAdena(String process, long count, L2PcInstance actor, L2Object reference)
+	public boolean reduceAncientAdena(String process, long count, L2PcInstance actor, L2Object reference)
 	{
 	{
     	if (count > 0)
     	if (count > 0)
-    		destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference);
+    		return destroyItemByItemId(process, ANCIENT_ADENA_ID, count, actor, reference) != null;
+    	return false;
 	}
 	}
 
 
     /**
     /**

二進制
L2_GameServer/lib/netcon.jar