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(); }
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); }
public void LoadMonster(string monsterName, string saveString, bool secondaryMonster = false) { int index = (secondaryMonster) ? 1 : 0; // Destroy the carried monster Destroy(carriedMonsters[index]); // Get the monster by name carriedMonsters[index] = Instantiate(randomMonsterPicker.GetMonsterPrefabByName(monsterName), gameObject.transform); carriedMonsters[index].GetComponent <Monster>().LoadFromString(saveString); carriedMonsters[index].SetActive(false); }