Beispiel #1
0
    /**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)
Beispiel #2
0
    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);
    }
Beispiel #3
0
    /**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)
Beispiel #4
0
 public void GenerateQuestItem(QuestItemName name)
 {
     this.m_QuestItemName = name;
 }
Beispiel #5
0
 public void SetQuestItemName(QuestItemName quest_item_name)
 {
     this.m_QuestItemName = quest_item_name;
 }