public MoveData[] GenerateMoves() { moveDataDictionary = new Dictionary <string, MoveData>(); TXTFileAccessor.SetPath("Assets/Data/Text Files/moves.txt"); for (int i = 0; i < NUMBER_OF_MOVES; i++) { MoveData move = ScriptableObject.CreateInstance <MoveData>(); string[] dataString = TXTFileAccessor.ReadValue(i).Split('\"'); string[] dataStringArray = dataString[0].Split(','); move.ID = Int32.Parse(dataStringArray[0]); move.internalName = dataStringArray[1]; move.name = dataStringArray[2]; move.functionCode = dataStringArray[3]; move.basePower = Int32.Parse(dataStringArray[4]); pokemonTypeDataDictionary.TryGetValue(dataStringArray[5], out move.type); move.isSpecial = dataStringArray[6].Equals("Special"); move.accuracy = Int32.Parse(dataStringArray[7]); move.totalPP = Int32.Parse(dataStringArray[8]); move.additionalEffectChance = Int32.Parse(dataStringArray[9]); move.target = dataStringArray[10]; move.priority = Int32.Parse(dataStringArray[11]); move.flags = dataStringArray[12].ToCharArray(); move.description = dataString[1]; moveDataDictionary.Add(move.internalName, move); } moveDataSerializationArray = new MoveData[moveDataDictionary.Count]; moveDataDictionary.Values.CopyTo(moveDataSerializationArray, 0); return(moveDataSerializationArray); }
public AbilityData[] GenerateAbilities() { abilityDataDictionary = new Dictionary <string, AbilityData>(); TXTFileAccessor.SetPath("Assets/Data/Text Files/abilities.txt"); for (int i = 0; i < NUMBER_OF_ABILITIES; i++) { AbilityData ability = ScriptableObject.CreateInstance <AbilityData>(); string[] dataString = TXTFileAccessor.ReadValue(i).Split(','); ability.ID = Int32.Parse(dataString[0]); ability.internalName = dataString[1]; ability.name = dataString[2]; ability.description = dataString[3]; abilityDataDictionary.Add(ability.internalName, ability); } abilityDataSerializationArray = new AbilityData[abilityDataDictionary.Count]; abilityDataDictionary.Values.CopyTo(abilityDataSerializationArray, 0); return(abilityDataSerializationArray); }
public ItemData[] GenerateItems() { itemDataDictionary = new Dictionary <string, ItemData>(); TXTFileAccessor.SetPath("Assets/Data/Text Files/items.txt"); for (int i = 0; i < NUMBER_OF_ITEMS; i++) { ItemData item = ScriptableObject.CreateInstance <ItemData>(); string[] dataString = TXTFileAccessor.ReadValue(i).Split('\"'); string[] dataStringArray = dataString[0].Split(','); item.ID = Int32.Parse(dataStringArray[0]); item.internalName = dataStringArray[1]; item.name = dataStringArray[2]; item.itemType = (ItemData.ItemType)Int32.Parse(dataStringArray[3]); item.price = Int32.Parse(dataStringArray[4]); string moveName = ""; if (dataString.Length == 3) { string description = dataString[1]; string[] dataStringSecondaryArray = dataString[2].Substring(1).Split(','); item.description = description; item.overworldUsabilityID = (ItemData.OverworldType)Int32.Parse(dataStringSecondaryArray[0]); item.battleUsabilityID = (ItemData.BattleType)Int32.Parse(dataStringSecondaryArray[1]); item.specialItemID = (ItemData.SpecialItemType)Int32.Parse(dataStringSecondaryArray[2]); moveName = dataStringSecondaryArray[3]; } else { item.description = dataStringArray[5]; item.overworldUsabilityID = (ItemData.OverworldType)Int32.Parse(dataStringArray[6]); item.battleUsabilityID = (ItemData.BattleType)Int32.Parse(dataStringArray[7]); item.specialItemID = (ItemData.SpecialItemType)Int32.Parse(dataStringArray[8]); moveName = dataStringArray[9]; } moveName = moveName.TrimEnd(',', '\n', '\r'); MoveData moveData; if (moveDataDictionary.TryGetValue(moveName, out moveData)) { item.TMmoveToLearn = moveData; } //SPRITE string paddedindexStr = item.ID.ToString().PadLeft(3, '0'); // results in 009 item.sprite = (Sprite)AssetDatabase.LoadAssetAtPath("Assets/Graphics/Sprites/Icons/item" + paddedindexStr + ".png", typeof(Sprite)); itemDataDictionary.Add(item.internalName, item); } itemDataSerializationArray = new ItemData[itemDataDictionary.Count]; itemDataDictionary.Values.CopyTo(itemDataSerializationArray, 0); return(itemDataSerializationArray); }