Esempio n. 1
0
    // overloading for creature which is containing treasures...
    public static List <ItemSaveData> GenerateItems(CreatureSaveData saveData)
    {
        List <ItemSaveData> itemsSaveData = new List <ItemSaveData>();

        // get creature object from resources
        GameObject creaturePrefab = Resources.Load <GameObject>("Creatures/" + saveData.Name);
        GameObject creatureObj    = Instantiate(creaturePrefab);
        Creature   creature       = creatureObj.GetComponent <Creature>();

        foreach (GameObject treasureObj in creature.Treasures)
        {
            Treasure            treasure = treasureObj.GetComponent <Treasure>();
            List <ItemSaveData> itemsSaveDataFromTreasure = GenerateItems(treasure.GetSaveData() as TreasureSaveData);
            itemsSaveData.AddRange(itemsSaveDataFromTreasure);
        }

        Destroy(creatureObj.gameObject);
        return(itemsSaveData);
    }