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]); } } } } }
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"); }