Replaced BoatPathHolder Map with a List.

This commit is contained in:
MobiusDevelopment
2020-01-29 13:35:12 +00:00
parent 1059cb6906
commit ea377b81c9
3 changed files with 12 additions and 13 deletions

View File

@@ -17,7 +17,9 @@
package org.l2jmobius.gameserver.datatables.xml; package org.l2jmobius.gameserver.datatables.xml;
import java.io.File; import java.io.File;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.logging.Logger; import java.util.logging.Logger;
@@ -64,10 +66,8 @@ public class BoatData implements IXmlReader
try try
{ {
int id;
int index;
final StatSet set = new StatSet(); final StatSet set = new StatSet();
final Map<Integer, Map<Integer, BoatPoint>> paths = new HashMap<>(); final Map<Integer, List<BoatPoint>> paths = new HashMap<>();
final Node n = doc.getFirstChild(); final Node n = doc.getFirstChild();
for (Node node = n.getFirstChild(); node != null; node = node.getNextSibling()) for (Node node = n.getFirstChild(); node != null; node = node.getNextSibling())
@@ -134,9 +134,7 @@ public class BoatData implements IXmlReader
} }
else if ("path".equalsIgnoreCase(node.getNodeName())) else if ("path".equalsIgnoreCase(node.getNodeName()))
{ {
index = 0; final List<BoatPoint> pathList = new ArrayList<>();
id = Integer.parseInt(node.getAttributes().getNamedItem("id").getNodeValue());
paths.put(id, new HashMap<Integer, BoatPoint>());
for (Node b = node.getFirstChild(); b != null; b = b.getNextSibling()) for (Node b = node.getFirstChild(); b != null; b = b.getNextSibling())
{ {
if (!"point".equalsIgnoreCase(b.getNodeName())) if (!"point".equalsIgnoreCase(b.getNodeName()))
@@ -159,8 +157,9 @@ public class BoatData implements IXmlReader
point.z = set.getInt("z"); point.z = set.getInt("z");
point.time = set.getInt("time"); point.time = set.getInt("time");
paths.get(id).put(index++, point); pathList.add(point);
} }
paths.put(Integer.parseInt(node.getAttributes().getNamedItem("id").getNodeValue()), pathList);
} }
} }

View File

@@ -17,7 +17,7 @@
package org.l2jmobius.gameserver.model.actor.instance; package org.l2jmobius.gameserver.model.actor.instance;
import java.util.Collection; import java.util.Collection;
import java.util.Map; import java.util.List;
import java.util.Set; import java.util.Set;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
@@ -386,12 +386,12 @@ public class BoatInstance extends Creature
} }
} }
public void setPathA(int pathId, int ticketId, int ntx, int nty, int ntz, String announcer, String sysmess10, String sysmess5, String sysmess1, String sysmess0, String sysmessb, Map<Integer, BoatPoint> path) public void setPathA(int pathId, int ticketId, int ntx, int nty, int ntz, String announcer, String sysmess10, String sysmess5, String sysmess1, String sysmess0, String sysmessb, List<BoatPoint> path)
{ {
pathA = new BoatPathHolder(pathId, ticketId, ntx, nty, ntz, announcer, sysmess10, sysmess5, sysmess1, sysmess0, sysmessb, path); pathA = new BoatPathHolder(pathId, ticketId, ntx, nty, ntz, announcer, sysmess10, sysmess5, sysmess1, sysmess0, sysmessb, path);
} }
public void setPathB(int pathId, int ticketId, int ntx, int nty, int ntz, String announcer, String sysmess10, String sysmess5, String sysmess1, String sysmess0, String sysmessb, Map<Integer, BoatPoint> path) public void setPathB(int pathId, int ticketId, int ntx, int nty, int ntz, String announcer, String sysmess10, String sysmess5, String sysmess1, String sysmess0, String sysmessb, List<BoatPoint> path)
{ {
pathB = new BoatPathHolder(pathId, ticketId, ntx, nty, ntz, announcer, sysmess10, sysmess5, sysmess1, sysmess0, sysmessb, path); pathB = new BoatPathHolder(pathId, ticketId, ntx, nty, ntz, announcer, sysmess10, sysmess5, sysmess1, sysmess0, sysmessb, path);
} }

View File

@@ -17,7 +17,7 @@
package org.l2jmobius.gameserver.model.holders; package org.l2jmobius.gameserver.model.holders;
import java.util.Collection; import java.util.Collection;
import java.util.Map; import java.util.List;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.l2jmobius.gameserver.model.actor.instance.BoatInstance; import org.l2jmobius.gameserver.model.actor.instance.BoatInstance;
@@ -31,7 +31,7 @@ public class BoatPathHolder
{ {
protected static final Logger LOGGER = Logger.getLogger(BoatPathHolder.class.getName()); protected static final Logger LOGGER = Logger.getLogger(BoatPathHolder.class.getName());
private final Map<Integer, BoatPoint> _path; private final List<BoatPoint> _path;
private final int _max; private final int _max;
public int ticketId; public int ticketId;
public int ntx; public int ntx;
@@ -54,7 +54,7 @@ public class BoatPathHolder
public int time; public int time;
} }
public BoatPathHolder(int pathId, int pTicketId, int pNtx, int pNty, int pNtz, String pNpc, String pSysmess10, String pSysmess5, String pSysmess1, String pSysmess0, String pSysmessb, Map<Integer, BoatPoint> path) public BoatPathHolder(int pathId, int pTicketId, int pNtx, int pNty, int pNtz, String pNpc, String pSysmess10, String pSysmess5, String pSysmess1, String pSysmess0, String pSysmessb, List<BoatPoint> path)
{ {
ticketId = pTicketId; ticketId = pTicketId;
ntx = pNtx; ntx = pNtx;