Ejemplo n.º 1
0
    public void UpdateLog(int questid, int[] currentitems, int[] currentkills)
    {
        int childs = QuestListGrid.transform.childCount;

        for (int i = 0; i < childs; i++)
        {
            Transform currentquest = QuestListGrid.transform.GetChild(i);
            if (currentquest.name == questid.ToString())
            {
                int       curitemcount  = currentitems.Length;
                int       curkillamount = currentkills.Length;
                Transform Requirements  = currentquest.GetChild(1);
                int       reqchildcount = Requirements.childCount;
                for (int rcc = 0; rcc < reqchildcount; rcc++)
                {
                    for (int ic = 0; ic < curitemcount; ic++)
                    {
                        HandleQLObjective HQLD = Requirements.GetChild(rcc).GetComponent <HandleQLObjective>();
                        HQLD.UpdateAmount(currentitems[i]);
                    }
                    for (int ik = 0; ik < curkillamount; ik++)
                    {
                        HandleQLObjective HQLD = Requirements.GetChild(rcc).GetComponent <HandleQLObjective>();
                        HQLD.UpdateAmount(currentkills[i]);
                    }
                }
            }
        }
    }
Ejemplo n.º 2
0
    public void AddQuestToList(int questid, string title, string dialogue, int[] regitemid, int[] regenemyid, int[] regkillamount, int[] currentitems, int[] currentkills)
    {
        GameObject Quest = Instantiate(QuestItemPrefab);

        Quest.transform.SetParent(QuestListGrid.transform);
        Quest.name = questid + "";
        Quest.transform.localScale = DefaultScale;

        HandleQLDetails Details = Quest.GetComponent <HandleQLDetails>();

        Details.SetTitle(title);
        int ridl = regitemid.Length;
        int reil = regenemyid.Length;
        int rkal = regkillamount.Length;

        // ITEM ID
        for (int i = 0; i < ridl; i++)
        {
            int        id  = regitemid[i];
            GameObject QRP = Instantiate(ObjectiveReqPrefab);
            QRP.transform.SetParent(Quest.transform.GetChild(1));
            QRP.transform.localScale = DefaultScale;
            HandleQLObjective objectivedetails = QRP.GetComponent <HandleQLObjective>();
            objectivedetails.SetAmount(currentitems[i], 1);
            ItemDatabase ID       = GameObject.FindGameObjectWithTag("Inventory").GetComponent <ItemDatabase>();
            string       ItemName = ID.FetchItemNameByID(id);
            objectivedetails.SetObjective(ItemName + " found");
        }

        // ENEMIES
        for (int i = 0; i < reil; i++)
        {
            int        eid = regenemyid[i];
            int        rka = regkillamount[i];
            GameObject QRP = Instantiate(ObjectiveReqPrefab);
            QRP.transform.SetParent(Quest.transform.GetChild(1));
            QRP.transform.localScale = DefaultScale;
            HandleQLObjective objectivedetails = QRP.GetComponent <HandleQLObjective>();
            objectivedetails.SetAmount(currentkills[0], rka);
            // GET INFO FROM A ENEMY LISY OMG
            objectivedetails.SetObjective(" Slimes killed");
        }

        Debug.Log("[QUESTLOG] Added Quest [" + title + "] to the Questlog");
    }