package com.javaxyq.core; import java.util.List; import java.util.Map; import com.javaxyq.data.ItemInstance; import com.javaxyq.data.Scene; import com.javaxyq.data.SceneNpc; import com.javaxyq.data.SceneTeleporter; import com.javaxyq.data.SkillMain; import com.javaxyq.model.Item; import com.javaxyq.model.PlayerVO; import com.javaxyq.model.Skill; import com.javaxyq.widget.Player; public interface DataManager { public void addExp(Player player, int exp); public void addHp(Player player, int hp); /** * ����Ʒ�ŵ����ﱳ���� * @return ����ɹ�����true */ public boolean addItemToPlayerBag(Player player, ItemInstance item); public void addMoney(Player player, int money); public void addMp(Player player, int mp); /** * ����ij���Ե�ֵ * @param player * @param prop * @param val */ public void addProp(Player player, String prop, int val); public ItemInstance createItem(String name); public ItemInstance createItem(String string, int amount); public boolean existItem(String name, int amount); /** * ����NPC�������� * @param npcId * @return */ public String findChat(String npcId); /** * ����ij���͵���Ʒ * @param player * @param type ��Ʒ���ͣ��ο�ItemTypes * @return */ public ItemInstance[] findItems(Player player, int type); public List<SceneNpc> findNpcsBySceneId(int sceneId); /** * @return * */ public Scene findScene(int sceneId); public SceneNpc findSceneNpc(Integer id); public SceneTeleporter findSceneTeleporter(Integer id); public Skill findSkillByName(String name); public List<SceneTeleporter> findTeleportersBySceneId(int sceneId); public ItemInstance getItemAt(Player player, int index); public List<SkillMain> findMainSkill(String school); /** * ��Ʒ���Ե��ӵ�������� * @param item * @return */ public int getOverlayAmount(Item item); /** * ��ȡ��Ϸ��������б� */ public ItemInstance[] getItems(Player player); /** * ��ʼ��npc���ԣ���� * @param vo */ public void initNPC(Player player); public void initPlayerData(PlayerVO vo); public PlayerVO createPlayerData(String character); /** * ������Ʒ * @param srcItem Դ��Ʒ * @param destItem Ŀ����Ʒ * @return ���ӳɹ�����true */ public boolean overlayItems(ItemInstance srcItem, ItemInstance destItem); /** * ������������ֵ * * @param vo */ public void recalcElfProps(PlayerVO vo); /** * �������������ֵ * @param vo */ public void recalcProperties(PlayerVO vo); public boolean removeItemFromPlayer(Player player, int index); public void removeItemFromPlayer(Player player, ItemInstance item); /** * ��������ĵ��� * @param index ����λ����ţ����϶��£������������� in 5*4 = [0,20) */ public void setItem(Player player, int index, ItemInstance item); public void setItemByName(Player player, int index, String itemName); public void swapItem(Player player, int srcIndex, int destIndex); public Player createNPC(SceneNpc _npc); Player createElf(String type,String name,int level); /** * ��ȡ������ݼ�ֵ�� * @param player * @return */ public Map<String, Object> getProperties(Player player); public String getBasicSkillName(String school); public long getLevelExp(int level); public long getMSkillsLevelExp(int level); public long getMSkillsLevelSpend(int level); public Player createPlayer(PlayerVO playerData); public void setItems(Player player, ItemInstance[] items); }