130 lines
3.5 KiB
C#
130 lines
3.5 KiB
C#
using System.Collections;
|
|
using System.Collections.Generic;
|
|
using UnityEngine;
|
|
using UnityEngine.UI;
|
|
|
|
namespace Assets.Scripts
|
|
{
|
|
public class Quest
|
|
{
|
|
string questname;
|
|
string keyword;
|
|
int current;
|
|
int goal;
|
|
bool isFinished = false;
|
|
Vector3 coordinates;
|
|
System.Random rand = new System.Random();
|
|
GameObject display;
|
|
|
|
public Quest(string type, GameObject display)
|
|
{
|
|
switch (type)
|
|
{
|
|
case "collect":
|
|
generateCollectQuest();
|
|
break;
|
|
case "find":
|
|
generateFindQuest();
|
|
break;
|
|
case "kill":
|
|
generateKillQuest();
|
|
break;
|
|
case "craft":
|
|
generateCraftQuest();
|
|
break;
|
|
case "explore":
|
|
generateExploreQuest();
|
|
break;
|
|
case "main":
|
|
generateCityQuest();
|
|
break;
|
|
}
|
|
this.display = display;
|
|
}
|
|
|
|
public void generateCollectQuest()
|
|
{
|
|
current = 0;
|
|
goal = rand.Next(10) + 1;
|
|
questname = "Collect " + goal + " ";
|
|
int index = rand.Next(7);
|
|
switch (index)
|
|
{
|
|
case 0:
|
|
questname = questname + "slimeballs";
|
|
keyword = "Slimeball";
|
|
break;
|
|
case 1:
|
|
questname = questname + "stones";
|
|
keyword = "Stone";
|
|
break;
|
|
case 2:
|
|
questname = questname + "wood";
|
|
keyword = "Wood";
|
|
break;
|
|
case 3:
|
|
questname = questname + "common items";
|
|
keyword = "Common";
|
|
break;
|
|
case 4:
|
|
questname = questname + "rare items";
|
|
keyword = "Rare";
|
|
break;
|
|
case 5:
|
|
questname = questname + "epic items";
|
|
keyword = "Epic";
|
|
break;
|
|
case 6:
|
|
questname = questname + "legendary items";
|
|
keyword = "Legendary";
|
|
break;
|
|
}
|
|
}
|
|
|
|
public void generateFindQuest()
|
|
{
|
|
|
|
}
|
|
|
|
public void generateKillQuest()
|
|
{
|
|
|
|
}
|
|
|
|
public void generateCraftQuest()
|
|
{
|
|
|
|
}
|
|
|
|
public void generateExploreQuest()
|
|
{
|
|
|
|
}
|
|
|
|
public void generateCityQuest()
|
|
{
|
|
questname = "Find all cities";
|
|
current = 0;
|
|
goal = GameObject.Find("WorldGenerator").GetComponent<WorldGenerator>().getCityAmount();
|
|
}
|
|
|
|
public void update(string type)
|
|
{
|
|
|
|
}
|
|
|
|
public void show(float positionY)
|
|
{
|
|
display.transform.Find("txtName").GetComponent<Text>().text = questname;
|
|
display.transform.Find("txtAmount").GetComponent<Text>().text = current + "/" + goal;
|
|
if (isFinished)
|
|
{
|
|
display.transform.Find("imgDone").GetComponent<RawImage>().color = new Color(255,255,255,255);
|
|
}
|
|
float x = display.transform.localPosition.x;
|
|
float z = display.transform.localPosition.z;
|
|
display.transform.localPosition = new Vector3(x, positionY, z);
|
|
}
|
|
}
|
|
|
|
} |