Exemple #1
0
    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);
    }
Exemple #2
0
    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);
    }
Exemple #3
0
    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);
    }