Exemplo n.º 1
0
    void GenerateEntry(int pcIndex)
    {
        PlayerInventory.PcEntry entry = playerInventory.pcStorage[pcIndex];

        // Get prefab from name and load relevant data
        GameObject monster = Instantiate(randomMonsterPicker.GetMonsterPrefabByName(entry.name));
        Sprite     front   = monster.GetComponent <Monster>().sprites[0];
        Element    element = monster.GetComponent <Monster>().element;

        // Create dummy monster to parse the data and get the level
        Monster dummy = monster.GetComponent <Monster>();

        dummy.LoadFromString(entry.saveString);
        int level = dummy.monsterLevel;

        Destroy(monster);

        // Create UI element and assign data
        GameObject template = Instantiate(uiTemplatePrefab);

        template.transform.SetParent(entryHolder.transform, false);

        PcUIEntry pc = template.GetComponent <PcUIEntry>();

        pc.pcInventory          = this;
        pc.monsterName.text     = entry.name;
        pc.monsterLevel.text    = $"Lvl. {level}";
        pc.monsterSprite.sprite = front;
        pc.monsterElement.text  = element.ToString();
        pc.index = pcIndex;

        uiEntries.Add(pc);
    }
Exemplo n.º 2
0
    public void OnEquip()
    {
        // get player inventory bla bla bla
        bool switched = playerInventory.LoadMonsterFromPc(index, true, index);

        // If we switched, reload this template
        if (switched)
        {
            PlayerInventory.PcEntry entry = playerInventory.pcStorage[index];

            // Get prefab from name and load relevant data
            GameObject monster = Instantiate(randomMonsterPicker.GetMonsterPrefabByName(entry.name));
            Sprite     front   = monster.GetComponent <Monster>().sprites[0];
            Element    element = monster.GetComponent <Monster>().element;

            // Create dummy monster to parse the data and get the level
            Monster dummy = monster.GetComponent <Monster>();
            dummy.LoadFromString(entry.saveString);
            int level = dummy.monsterLevel;

            Destroy(monster);

            monsterName.text     = entry.name;
            monsterLevel.text    = $"Lvl. {level}";
            monsterElement.text  = element.ToString();
            monsterSprite.sprite = front;
        }
        else
        {
            pcInventory.RemoveIndex(index);
        }

        pcInventory.SetPlayerMonstersPC();
    }