/**A function to be called from the Quest Manager class, to return an instance of a given quest item, to be spawned from the quest manager on quest start.*/ public GameObject SpawnQuestItem(QuestItemName quest_item_name, Transform parent = null) { //A default value, to be overwritten (Though this is literally what will be spawned if no case is reached in the switch xD) GameObject generated_instance = this.m_RoosterPrefab; if (parent != null) //A default value - the only real thing telling the quest items apart are their names and sprites { generated_instance = GameObject.Instantiate(this.m_DefaultQuestItemPrefab, parent); } else { generated_instance = GameObject.Instantiate(this.m_DefaultQuestItemPrefab); } generated_instance.GetComponent <QuestItemPickup> ().m_QuestItem = new QuestItem(); switch ((int)quest_item_name) { case (int)QuestItemName.POTION_OF_WISDOM: { QuestItem quest_item = generated_instance.GetComponent <QuestItemPickup> ().m_QuestItem; quest_item.m_QuestItemName = QuestItemName.POTION_OF_WISDOM; quest_item.m_QuestItemSprite = this.m_PotionOfWisdomSprite; generated_instance.GetComponentInChildren <SpriteRenderer> ().sprite = quest_item.m_QuestItemSprite; break; } //end case Potion of wisdom (POTION MASTER quest) } //end switch return(generated_instance); } //end f'n SpawnQuestItem)QuestItemName)
private Quest GenerateFetch(QuestName questName, String nameString, int nbItems, QuestItemName questItemName, Scenes region, Vector3 goalLocation, params GameObject[] requisitePrefabs) { Quest quest = GenerateQuest(questName, nameString, QuestType.FETCH, requisitePrefabs.ToList(), region, goalLocation); QuestItem potion = new QuestItem(); potion.GenerateQuestItem(questItemName); quest.m_ItemInformation = potion; quest.m_Fetch.m_PlayerInventory = this.m_Player.GetComponent <PlayerInventory>(); quest.m_NumberOfItemsToFind = nbItems; return(quest); }
/**A function to spawn the quest items to be collected at the given position*/ public void SpawnQuestItemsAtPosition(Spawner item_spawner, Vector3 position, QuestItemName quest_item_name, int number_of_items) { if (this.m_ItemContainer == null) { this.m_ItemContainer = new GameObject(); this.m_ItemContainer.name = quest_item_name.ToString() + "Container"; } this.m_NumberOfItems = number_of_items; //for however many quest items are needed... for (int index = 0; index < number_of_items; index++) { //Spawn the quest item GameObject item_obj = item_spawner.SpawnQuestItem(quest_item_name, this.m_ItemContainer.transform); //Position the item item_obj.transform.position = position; //Adjust position with respect to number of items Vector3 translation = item_obj.transform.position + (2.0f * index * Vector3.forward); item_obj.transform.position = translation; //Set QuestItem value // item_obj.GetComponent<QuestItemPickup> ().m_QuestItem = item; this.m_QuestItems.Add(item_obj.GetComponent <QuestItemPickup> ().m_QuestItem); } //end for } //end f'n SpawnQuestItemsAtPosition(Vector3, GameObject, int)
public void GenerateQuestItem(QuestItemName name) { this.m_QuestItemName = name; }
public void SetQuestItemName(QuestItemName quest_item_name) { this.m_QuestItemName = quest_item_name; }