Добрый день, решил написать скрипт для ведения боя. Но т.к. с Delphi я знаком косвенно натолкнулся на кучу проблем. Мне необходимо класс, с 1 полем и несколькими методами. Код в JAVA
Код:
public class Table {
HashMap<Integer, NPC> listNPC;
public Table() {
// Создаем объект хранящий класс NPC
listNPC = new HashMap<Integer, NPC>();
}
/**
* Удаляем из списка NPC
*/
public void destroyNPC(int objectID) {
listNPC.remove(objectID);
}
/**
* Возвращает ближайешло NPC
*/
public NPC getNearestNPC(int x, int y, int z) {
NPC nearestNPC = null;
int distantion = Integer.MAX_VALUE;
for (Integer key : listNPC.keySet()) {
int curDist = listNPC.get(key).getDistantion(x, y, z);
if (curDist < distantion) {
distantion = curDist;
nearestNPC = listNPC.get(key);
}
}
return nearestNPC;
}
/**
* Количестов наших NPC
*/
public int getCountNPC() {
return listNPC.size();
}
/**
* Добавляем в список NPC
*/
public void addNPC(String buff) {
NPC npc = new NPC(buff);
listNPC.put(npc.id, npc);
}
/**
*
* Сам класс NPC
*
*/
public class NPC {
//Поля
int objectID;
int id;
int x;
int y;
int z;
//Методы
/**
* Конструктор, заполняет поля
*/
public NPC(String buff) {
// Код
}
/**
* Метод возвращает дистанцию до текущего NPC
*/
public int getDistantion(int x, int y, int z) {
// КОД
return 0;
}
}
}
Вопросы:
1) Есть ли в Delphi аналог HashMap.
2) Как если это будет плагин сделать его многопоточным, что бы он работал во всех запущенных соединениях
3) Можно ли в плагине хранить мои данные
Если есть другие способы, буду рад их узнать.
Спасибо