protected Objective createObjective(bool modify = false) { switch (options[selected]) { case "GetItem": GetItemObjective getItem = new GetItemObjective(); getItem.setItem(item); getItem.setObjectiveType(options[selected]); getItem.setObjectiveName(objectiveName); if (!modify) { quest.addObjective(getItem); } return(getItem); case "Kill": KillObjective kill = new KillObjective(); kill.setHowMany(howMany); kill.setObjectiveType(options[selected]); kill.setTarget(target); kill.setObjectiveName(objectiveName); if (!modify) { quest.addObjective(kill); } return(kill); case "TalkTo": TalkToObjective talk = new TalkToObjective(); talk.setObjectiveType(options[selected]); talk.setTarget(target); talk.setObjectiveName(objectiveName); if (!modify) { quest.addObjective(talk); } return(talk); default: return(null); } }
protected Objective castObjective(Objective obj) { switch (obj.getObjectiveType()) { case "GetItem": GetItemObjective itemObj = (GetItemObjective)obj; item = itemObj.getItem(); return(itemObj); case "Kill": KillObjective objKill = (KillObjective)obj; howMany = objKill.getHowMany(); target = objKill.getTarget(); return(obj); case "TalkTo": TalkToObjective talkObj = (TalkToObjective)obj; target = talkObj.getTarget(); return(obj); default: return(null); } }