public static BattleGameData getBattleGameDataFromZoneTree(List<GameCharacter> playerCharacterList, BattleTree battleTree, GameDataSet gameDataSet, TileMapData tileMapData) { BattleGameData retval = new BattleGameData(); retval.tileMapData = tileMapData; //load player retval.gameCharacterList.AddRange(playerCharacterList); //load enemies foreach (var enemyNode in battleTree.getEnemyNodeList()) { if(gameDataSet.gameCharacterDataDictionary.ContainsKey(enemyNode.content.linkIndex)){ var enemyData = gameDataSet.gameCharacterDataDictionary[enemyNode.content.linkIndex]; retval.gameCharacterList.Add(CharacterFactory.getGameCharacterFromGameCharacterData(enemyData, gameDataSet)); } } return retval; }
public static ITree getTreeFromString(string data, TreeType treeType, GlobalFlags gf) { ITree t = null; List <ITreeNode> treeNodeList = null; switch (treeType) { case TreeType.World: WorldTree worldTree = new WorldTree(gf, treeType); treeNodeList = getTreeNodeListFromString(data, treeType); worldTree.treeNodeDictionary = getWorldTreeNodeFromList(treeNodeList); worldTree.currentIndex = treeNodeList[0].index; t = worldTree; break; case TreeType.Zone: ZoneTree zoneTree = new ZoneTree(gf, treeType); treeNodeList = getTreeNodeListFromString(data, treeType); zoneTree.treeNodeDictionary = getZoneTreeNodeFromList(treeNodeList); zoneTree.currentIndex = treeNodeList[0].index; t = zoneTree; break; case TreeType.Dialog: DialogTree dialogTree = new DialogTree(gf, treeType); treeNodeList = getTreeNodeListFromString(data, treeType); dialogTree.treeNodeDictionary = getDialogTreeNodeFromList(treeNodeList); dialogTree.currentIndex = treeNodeList[0].index; t = dialogTree; break; case TreeType.Quest: QuestTree questTree = new QuestTree(gf, treeType); treeNodeList = getTreeNodeListFromString(data, treeType); questTree.treeNodeDictionary = getQuestTreeNodeFromList(treeNodeList); questTree.currentIndex = treeNodeList[0].index; t = questTree; break; case TreeType.Battle: BattleTree battleTree = new BattleTree(gf, treeType); treeNodeList = getTreeNodeListFromString(data, treeType); battleTree.treeNodeDictionary = getBattleTreeNodeFromList(treeNodeList); battleTree.currentIndex = treeNodeList[0].index; t = battleTree; break; case TreeType.Info: InfoTree infoTree = new InfoTree(gf, treeType); treeNodeList = getTreeNodeListFromString(data, treeType); infoTree.treeNodeDictionary = getInfoTreeNodeFromList(treeNodeList); infoTree.currentIndex = treeNodeList[0].index; t = infoTree; break; case TreeType.Store: StoreTree storeTree = new StoreTree(gf, treeType); treeNodeList = getTreeNodeListFromString(data, treeType); storeTree.treeNodeDictionary = getStoreTreeNodeFromList(treeNodeList); storeTree.currentIndex = treeNodeList[0].index; t = storeTree; break; case TreeType.Cutscene: CutsceneTree cutsceneTree = new CutsceneTree(gf, treeType); treeNodeList = getTreeNodeListFromString(data, treeType); cutsceneTree.treeNodeDictionary = getCutsceneTreeNodeFromList(treeNodeList); cutsceneTree.currentIndex = treeNodeList[0].index; t = cutsceneTree; break; default: break; } return(t); }
public static ITree getTreeFromString(string data, TreeType treeType, GlobalFlags gf) { ITree t = null; List<ITreeNode> treeNodeList = null; switch (treeType) { case TreeType.World: WorldTree worldTree = new WorldTree(gf, treeType); treeNodeList = getTreeNodeListFromString(data, treeType); worldTree.treeNodeDictionary = getWorldTreeNodeFromList(treeNodeList); worldTree.currentIndex = treeNodeList[0].index; t = worldTree; break; case TreeType.Zone: ZoneTree zoneTree = new ZoneTree(gf, treeType); treeNodeList = getTreeNodeListFromString(data, treeType); zoneTree.treeNodeDictionary = getZoneTreeNodeFromList(treeNodeList); zoneTree.currentIndex = treeNodeList[0].index; t = zoneTree; break; case TreeType.Dialog: DialogTree dialogTree = new DialogTree(gf, treeType); treeNodeList = getTreeNodeListFromString(data, treeType); dialogTree.treeNodeDictionary = getDialogTreeNodeFromList(treeNodeList); dialogTree.currentIndex = treeNodeList[0].index; t = dialogTree; break; case TreeType.Quest: QuestTree questTree = new QuestTree(gf, treeType); treeNodeList = getTreeNodeListFromString(data, treeType); questTree.treeNodeDictionary = getQuestTreeNodeFromList(treeNodeList); questTree.currentIndex = treeNodeList[0].index; t = questTree; break; case TreeType.Battle: BattleTree battleTree = new BattleTree(gf, treeType); treeNodeList = getTreeNodeListFromString(data, treeType); battleTree.treeNodeDictionary = getBattleTreeNodeFromList(treeNodeList); battleTree.currentIndex = treeNodeList[0].index; t = battleTree; break; case TreeType.Info: InfoTree infoTree = new InfoTree(gf, treeType); treeNodeList = getTreeNodeListFromString(data, treeType); infoTree.treeNodeDictionary = getInfoTreeNodeFromList(treeNodeList); infoTree.currentIndex = treeNodeList[0].index; t = infoTree; break; default: break; } return t; }
public static BattleGameData getBattleGameDataFromZoneTree(List <GameCharacter> playerCharacterList, BattleTree battleTree, GameDataSet gameDataSet, TileMapData tileMapData) { BattleGameData retval = new BattleGameData(); retval.tileMapData = tileMapData; //load player retval.gameCharacterList.AddRange(playerCharacterList); //load enemies foreach (var enemyNode in battleTree.getEnemyNodeList()) { if (gameDataSet.gameCharacterDataDictionary.ContainsKey(enemyNode.content.linkIndex)) { var enemyData = gameDataSet.gameCharacterDataDictionary[enemyNode.content.linkIndex]; retval.gameCharacterList.Add(CharacterFactory.getGameCharacterFromGameCharacterData(enemyData, gameDataSet)); } } return(retval); }