Added inheritance for quests, finished quest implementation (90%), v1.4.0

This commit is contained in:
Nicola Sovic
2022-07-12 19:58:28 +02:00
parent 408339387d
commit 3f8d9c0551
18 changed files with 388 additions and 144 deletions

View File

@@ -22,7 +22,9 @@ namespace Assets.Scripts
quests.Add("main", new List<Quest>());
GameObject newQuest = Instantiate(quest);
newQuest.transform.SetParent(content.transform, false);
quests["main"].Add(new Quest("main", newQuest));
FindQuest main = new FindQuest(newQuest);
main.generateCityQuest();
quests["main"].Add(main);
for (int i = 0; i < 20; i++)
{
addQuest();
@@ -35,49 +37,56 @@ namespace Assets.Scripts
}
public void updateQuests()
public void updateQuests(string key, object obj, int amount)
{
foreach (string key in quests.Keys)
foreach (Quest quest in quests[key])
{
foreach (Quest quest in quests[key])
{
quest.update(key);
}
quest.update(obj, amount);
}
}
public void addQuest()
{
GameObject newQuest = Instantiate(quest);
newQuest.transform.SetParent(content.transform, false);
int index = rand.Next(4);
string type = "";
Quest questItem;
switch (index)
{
case 0:
type = "collect";
questItem = new CollectQuest(newQuest);
break;
case 1:
type = "find";
type = "kill";
questItem = new KillQuest(newQuest);
break;
case 2:
type = "kill";
type = "find";
questItem = new FindQuest(newQuest);
break;
case 3:
/*case 3:
type = "craft";
break;*/
case 3:
type = "explore";
questItem = new ExploreQuest(newQuest);
break;
default:
questItem = new Quest(newQuest);
break;
}
if (!quests.ContainsKey(type))
{
quests.Add(type, new List<Quest>());
}
GameObject newQuest = Instantiate(quest);
newQuest.transform.SetParent(content.transform, false);
quests[type].Add(new Quest(type, newQuest));
quests[type].Add(questItem);
}
public void showQuests()
{
content.GetComponent<RectTransform>().sizeDelta = new Vector2(0, 10);
updateQuests();
float y = -37.5f;
foreach (string key in quests.Keys)
{