コード例 #1
0
	// Use this for initialization
	void Start () {

        var q0 = new Quest("bed", "Wakey wakey eggs and bakey. Rise and shine!", true);
        q0.AddObjective(new Objective("leaveBed"));
        quests.Add(q0);

        var q1 = new Quest("wakeup", "Clock is ringing, you should do something about that", true);
        q1.AddObjective(new Objective("shootAlarm"));
        quests.Add(q1);

        var q2 = new Quest("shower", "Shower without your dad", false);
        q2.AddObjective(new Objective("shower"));
        quests.Add(q2);

        var q4 = new Quest("bacon", "Bakin' bacon pancakes", false);
        q4.AddObjective(new Objective("shootFridge"));
        q4.AddObjective(new Objective("getBacon"));
        q4.AddObjective(new Objective("putBaconOnOven"));
        q4.AddObjective(new Objective("heatOven"));
        q4.AddObjective(new Objective("fryBacon"));
        quests.Add(q4);

        var q5 = new Quest("car", "Get to work", false);
        q5.completesLevel = true;
        q5.AddObjective(new Objective("getInCar"));
        quests.Add(q5);

        player = FindObjectOfType<Player>();
        TrapPlayer();
	}
コード例 #2
0
    public void Awake()
    {
        DontDestroyOnLoad(this);

        QuestData          = JsonMapper.ToObject(File.ReadAllText(Application.dataPath + "/StreamingAssets/Quests.json"));
        QuestObjectiveData = JsonMapper.ToObject(File.ReadAllText(Application.dataPath + "/StreamingAssets/QuestObjectives.json"));


        for (int i = 0; i < QuestObjectiveData.Count; i++)
        {
            JsonData       EntryData = QuestObjectiveData[i];
            string         id        = EntryData["identifier"].ToString();
            ObjectiveTypes objType;

            switch (EntryData["type"].ToString())
            {
            case "bool":
                objType = ObjectiveTypes.Bool;
                break;

            case "number":
                objType = ObjectiveTypes.Number;
                break;

            case "percentage":
                objType = ObjectiveTypes.Percentage;
                break;

            default:
                objType = ObjectiveTypes.Number;
                break;
            }

            QuestObjective objective = new QuestObjective(id, EntryData["description"].ToString(), objType, float.Parse(EntryData["goal"].ToString()));
            questObjectives.Add(id, objective);
        }

        for (int i = 0; i < QuestData.Count; i++)
        {
            JsonData EntryData   = QuestData[i];
            string   id          = EntryData["identifier"].ToString();
            string   dialogue    = EntryData["dialogue"].ToString();
            int      xpReward    = (EntryData.Keys.Contains("xp")) ? int.Parse(EntryData["xp"].ToString()) : 0;
            string   itemRewards = (EntryData.Keys.Contains("items")) ? EntryData["items"].ToString() : "";

            Quest quest = new Quest(id, EntryData["title"].ToString(), dialogue, xpReward, itemRewards);

            string[] objectives = EntryData["objectives"].ToString().Split(',');

            foreach (string s in objectives)
            {
                quest.AddObjective(s, questObjectives[s]);
            }

            quests.Add(id, quest);
        }
    }
コード例 #3
0
        public override void OnResponse(Network.NetState state, RelayInfo info)
        {
            if (info.ButtonID == 0 && User.Quest != null && User.Quest is TimeForLegendsQuest)
            {
                User.Quest.Cancel();
            }

            int id = info.ButtonID - 1;

            if (id >= 0 && id < SkillInfo.Table.Length)
            {
                Quest.Mastery = (SkillName)id;
                Quest.ToSlay  = TimeForLegendsQuest.TargetOfTheDay;
                Quest.AddObjective(new TimeForLegendsObjective());
            }
        }