package com.yarin.android.GameEngine.Screen; import com.yarin.android.GameEngine.GameObjectQueue; import com.yarin.android.GameEngine.Script.XmlScriptParser; //��Ϸװ���������𽫹ؿ�(��ͼ��NPC����ͼת����������)�����ǡ��������װ���ڴ� public class GameLoader { //��������ģʽ���������еĶ��� public static final int POSITIVE_LOAD_MODEL=1; //�������ģʽ��ֻ���ص�һ���ؿ��õ��Ķ��������ؿ��õĶ���û�м���ʱ�����أ������汾��δ֧�� public static final int LAZY_LOAD_MODEL=2; //�ؿ��б�ÿ���ؿ����������ͼ��ÿ����ͼ�������ͼ�㡢���NPC�������ͼת������ private GameObjectQueue globalLevelTable=null; //������б� private GameObjectQueue globalCameraTable=null; //�����б� private GameObjectQueue globalMusicTable=null; //�����б� private GameObjectQueue globalActorTable=null; //����cache�Ķ����б�-�¼��б� private GameObjectQueue eventTable=null; //����cache�Ķ����б�-��Ϣ�б� private GameObjectQueue msgTable=null; //����cache�Ķ����б�-�����б� private GameObjectQueue propertyTable=null; //����cache�Ķ����б�-NPC�б� private GameObjectQueue npcTable=null; //����cache�Ķ����б�-ͼ���б� private GameObjectQueue layerTable=null; //����cache�Ķ����б�-��ͼת�����б� private GameObjectQueue transformerTable=null; //����cache�Ķ����б�-��ͼ�б� private GameObjectQueue mapTable=null; //����cache�Ķ����б�-�ؿ��б� private GameObjectQueue levelTable=null; //���ֳ����м�� private int carnieRunInterval=10; //����ģʽ private int type=0; //����Ŀǰ��֧�ֻ�������ģʽ�������ڹ��췽���н�type��ֵΪPOSITIVE_LOAD_MODEL public GameLoader(){ type=POSITIVE_LOAD_MODEL; } /** * �������ļ�ʹ�û�������ģʽװ��������Ϸ���� * @param gameConfigureResURL ��Ϸ������Դ·�� */ public void load(String gameConfigureResURL){ long startTime=System.currentTimeMillis(); XmlScriptParser x=new XmlScriptParser(); //��xml�����ļ� x.openConfigure(gameConfigureResURL); //װ����Ϣ���� GameObjectQueue msgTable=x.readMsgConfigure(true); System.out.println("msg����="+msgTable.size()); //װ����Ϣ���У�������Ϣ���������� GameObjectQueue mqTable=x.readMsgQueueConfigure(new GameObjectQueue[]{msgTable},true); System.out.println("msg Queue����="+mqTable.size()); //װ���¼��������� GameObjectQueue eventTable=x.readEventConfigure(true); System.out.println("event����="+eventTable.size()); //װ���¼��б������¼����������� GameObjectQueue eqTable=x.readEventQueueConfigure(new GameObjectQueue[]{eventTable},true); System.out.println("event Queue����="+eqTable.size()); //װ�ص��߶��� GameObjectQueue propTable=x.readPropertyConfigure(true); System.out.println("property����="+propTable.size()); //װ�ص����䣬������߶��������� GameObjectQueue propBoxTable=x.readPropertyBoxConfigure(new GameObjectQueue[]{propTable},true); System.out.println("propertyBox����="+propBoxTable.size()); //װ��NPC���󣬹�������������¼����� GameObjectQueue npcTable=x.readNpcConfigure(new GameObjectQueue[]{propTable,eventTable},true); System.out.println("npc����="+npcTable.size()); //װ�����ǣ�������������� GameObjectQueue actorTable=x.readActorConfigure(new GameObjectQueue[]{propTable},true); System.out.println("actor����="+actorTable.size()); //װ��ͼ����� GameObjectQueue layerTable=x.readLayerConfigure(true); System.out.println("layer����="+layerTable.size()); //װ�ص�ͼת�������� GameObjectQueue transformerTable=x.readTransformerConfigure(true); System.out.println("transformer����="+transformerTable.size()); //װ�ص�ͼ���󣬹���NPC��ͼ�㡢��ͼת���� GameObjectQueue mapTable=x.readMapConfigure(new GameObjectQueue[]{layerTable,npcTable,transformerTable},true); System.out.println("map����="+mapTable.size()); //װ�عؿ����󣬲�������ͼ���� GameObjectQueue levelTable=x.readLevelConfigure(new GameObjectQueue[]{mapTable},true); System.out.println("level����="+levelTable.size()); //װ����������� GameObjectQueue cameraTable=x.readCameraConfigure(true); System.out.println("camera����="+cameraTable.size()); //װ�����ֶ��� GameObjectQueue musicTable=x.readMusicConfigure(true); System.out.println("music����="+musicTable.size()); System.out.println("װ�ع�������ʱ��:"+(System.currentTimeMillis()-startTime)+" ms"); this.globalActorTable=actorTable; this.globalCameraTable=cameraTable; this.globalMusicTable=musicTable; this.globalLevelTable=levelTable; } public GameObjectQueue getGlobalActorTable() { return globalActorTable; } public GameObjectQueue getGlobalCameraTable() { return globalCameraTable; } public GameObjectQueue getGlobalLevelTable() { return globalLevelTable; } public GameObjectQueue getGlobalMusicTable() { return globalMusicTable; } public int getType() { return type; } public void setGlobalActorTable(GameObjectQueue globalActorTable) { this.globalActorTable = globalActorTable; } public void setGlobalCameraTable(GameObjectQueue globalCameraTable) { this.globalCameraTable = globalCameraTable; } public void setGlobalLevelTable(GameObjectQueue globalLevelTable) { this.globalLevelTable = globalLevelTable; } public void setGlobalMusicTable(GameObjectQueue globalMusicTable) { this.globalMusicTable = globalMusicTable; } public GameObjectQueue getEventTable() { return eventTable; } public void setEventTable(GameObjectQueue eventTable) { this.eventTable = eventTable; } public GameObjectQueue getLayerTable() { return layerTable; } public void setLayerTable(GameObjectQueue layerTable) { this.layerTable = layerTable; } public GameObjectQueue getLevelTable() { return levelTable; } public void setLevelTable(GameObjectQueue levelTable) { this.levelTable = levelTable; } public GameObjectQueue getMapTable() { return mapTable; } public void setMapTable(GameObjectQueue mapTable) { this.mapTable = mapTable; } public GameObjectQueue getMsgTable() { return msgTable; } public void setMsgTable(GameObjectQueue msgTable) { this.msgTable = msgTable; } public GameObjectQueue getNpcTable() { return npcTable; } public void setNpcTable(GameObjectQueue npcTable) { this.npcTable = npcTable; } public GameObjectQueue getPropertyTable() { return propertyTable; } public void setPropertyTable(GameObjectQueue propertyTable) { this.propertyTable = propertyTable; } public GameObjectQueue getTransformerTable() { return transformerTable; } public void setTransformerTable(GameObjectQueue transformerTable) { this.transformerTable = transformerTable; } public int getCarnieRunInterval() { return carnieRunInterval; } public void setCarnieRunInterval(int carnieRunInterval) { this.carnieRunInterval = carnieRunInterval; } }