public void AddItems(ItemObj item) { bool IfRemove = false; foreach (QuestEventBase questEvent in currentQuests.GetEvents()) { if (questEvent.eventType == EventType.FindObject) { FindObjectEvent findObjectEvent = (FindObjectEvent)questEvent; if (findObjectEvent.ItemName == item.ItemName) { findObjectEvent.FinishedAmount++; if (findObjectEvent.FinishedAmount >= findObjectEvent.Amount) { IfRemove = true; EventToBeRemoved = findObjectEvent; } } } } if (IfRemove) { currentQuests.RemoveQuestEvent(EventToBeRemoved); } items.Add(item); }
public void SetCurrentEvents() { bool IfMove = false; bool IfAlreadyFinished = false; foreach (QuestBase quest in Current) { if (quest.GetCurrentEvent(quest.FindFirstEvent()).Count == 0) { Temp = quest; IfMove = true; } else { foreach (QuestEventBase questEvent in quest.GetCurrentEvent(quest.FindFirstEvent())) { if (!CurrentEvents.Contains(questEvent)) { if (questEvent.eventType == EventType.FindObject) { FindObjectEvent findObjectEvent = (FindObjectEvent)questEvent; foreach (ItemObj item in inventoryData.GetItems()) { if (item.ItemName == findObjectEvent.ItemName) { findObjectEvent.FinishedAmount++; } } CurrentEvents.Add(questEvent); if (findObjectEvent.FinishedAmount >= findObjectEvent.Amount) { IfAlreadyFinished = true; TempEvent = findObjectEvent; } } else { CurrentEvents.Add(questEvent); } } } } } if (IfMove) { MoveQuestToFinishend(Temp); } if (IfAlreadyFinished) { RemoveQuestEvent(TempEvent); } }
public void RemoveItem(ItemObj item) { foreach (QuestEventBase questEvent in currentQuests.GetEvents()) { if (questEvent.eventType == EventType.FindObject) { FindObjectEvent findObjectEvent = (FindObjectEvent)questEvent; if (findObjectEvent.ItemName == item.ItemName) { findObjectEvent.FinishedAmount--; } } } items.Remove(item); }