bool LinkQuest() { if (QuestId == 0) { return(false); } QuestData qdata = QuestData.GetData(QuestId); if (null == qdata) { return(false); } if (qdata.postQuest_ == 0) //|| QuestSystem.IsQuestAcceptable(qdata.postQuest_)) { return(false); } for (int i = 0; i < _NpcData.Quests.Length; ++i) { if (qdata.postQuest_ == _NpcData.Quests[i]) { QuestId = qdata.postQuest_; qdata = QuestData.GetData(QuestId); InitTalk(qdata.startTalk_); return(true); } } return(false); }
public static void TryAcceptQuest(int questId, bool isTeam = false) { QuestData qdata = QuestData.GetData(questId); if (null == qdata) { return; } if (qdata.questKind_ == QuestKind.QK_Profession) { //ְҵתְ int tmp = GamePlayer.Instance.GetIprop(PropertyType.PT_Profession); if (tmp != (int)JobType.JT_Newbie && qdata.jobtype_ != tmp) { _QuestId = questId; MessageBoxUI.ShowMe(LanguageManager.instance.GetValue("TransProfTips"), __AcceptQuest); return; } } if (qdata.questKind_ == QuestKind.QK_Guild) { if (TeamSystem.IsInTeam()) { PopText.Instance.Show(LanguageManager.instance.GetValue("GuildQuestNoTeam")); return; } } NetConnection.Instance.acceptQuest(questId); }
bool IsShowProfession() { Profession pro = Profession.get((JobType)GamePlayer.Instance.GetIprop(PropertyType.PT_Profession), GamePlayer.Instance.GetIprop(PropertyType.PT_ProfessionLevel)); if (QuestSystem.aqid == 0) { return(false); } QuestData qdai = QuestData.GetData(QuestSystem.aqid); if (qdai == null) { return(false); } if (qdai.questKind_ == QuestKind.QK_Profession) { if (qdai.JobLevel_ != 1) { if (qdai.jobtype_ == (int)GamePlayer.Instance.GetIprop(PropertyType.PT_Profession)) { if (qdai.JobLevel_ - GamePlayer.Instance.GetIprop(PropertyType.PT_ProfessionLevel) == 1) { return(true); } } } } return(false); }
void OnClickBegin(ButtonScript obj, object args, int param1, int param2) { int max = 0; GlobalValue.Get(Constant.C_LearnSkillMaxNum, out max); int level = prof.getSkilMaxLevel(skData_._Id); if (level == 0) { PopText.Instance.Show(LanguageManager.instance.GetValue("learnSkillJobNotMatch")); return; } else if (GamePlayer.Instance.GetIprop(PropertyType.PT_Level) < skData_._LearnLv) { PopText.Instance.Show(LanguageManager.instance.GetValue("skillLevel").Replace("{n}", skData_._LearnLv.ToString())); return; } else if (GamePlayer.Instance.Properties[(int)PropertyType.PT_Money] < skData_._LearnCoin) { PopText.Instance.Show(LanguageManager.instance.GetValue("EN_MoneyLess")); return; } else if (IsAlreadyLearnedSkills(SkpData._Id)) { PopText.Instance.Show(LanguageManager.instance.GetValue("learnSkillReplice")); return; } else if (skData_._LearnQuestID != 0 && !QuestSystem.IsComplate(skData_._LearnQuestID)) { QuestData qd = QuestData.GetData(skData_._LearnQuestID); if (qd != null) { if (QuestSystem.IsComplate(qd.id_)) { PopText.Instance.Show(LanguageManager.instance.GetValue("YouHadQuest")); return; } else if (QuestSystem.IsQuestDoing(qd.id_)) { PopText.Instance.Show(LanguageManager.instance.GetValue("YouHadComplateQuest")); return; } string msg = LanguageManager.instance.GetValue("YouNeedDoThisQuest") + StringTool.MakeNGUIStringInfoFmt(skData_._LearnQuestID.ToString(), qd.questName_); MessageBoxUI.ShowMe(msg, null, true, null, __TryGotoQuestNpc); } //PopText.Instance.Show("任务没有完成"); } else if (GetLearaSkillNum() >= max) { PopText.Instance.Show(LanguageManager.instance.GetValue("EN_SkillSoltFull")); return; } else { MessageBoxUI.ShowMe(LanguageManager.instance.GetValue("learSkill"), __NormalLearnSkill); } }
void OnEnable() { item.SetActive(false); questKind_item.SetActive(false); for (int i = 0; i < QuestSystem.AcceptableList.Count; i++) { QuestData qda = QuestData.GetData(QuestSystem.AcceptableList[i]); if (!QuestKinds.Contains(qda.questKind_)) { QuestKinds.Add(qda.questKind_); } } AddQuestKindItem(); ChooseKindItem(); // if(IsShowProfession()) // { // TaskUI tui = taskInfoObj.GetComponent<TaskUI> (); // tui.ShowTaskIonf (QuestSystem.aqid); // }else // { // TaskUI tui = taskInfoObj.GetComponent<TaskUI> (); // tui.closeItem(); // } }
bool IsJobQuestSame(int quid) { QuestData qd = QuestData.GetData(quid); if (qd == null) { return(false); } Profession pro = Profession.get((JobType)GamePlayer.Instance.GetIprop(PropertyType.PT_Profession), GamePlayer.Instance.GetIprop(PropertyType.PT_ProfessionLevel)); if (pro == null) { return(false); } if (qd.questKind_ == QuestKind.QK_Profession) { if (qd.JobLevel_ == GamePlayer.Instance.GetIprop(PropertyType.PT_ProfessionLevel) && qd.jobtype_ == (int)GamePlayer.Instance.GetIprop(PropertyType.PT_Profession)) { PopText.Instance.Show(LanguageManager.instance.GetValue("bunengjie")); return(true); } // if(qd.JobLevel_ != 1) // { // if(qd.jobtype_ != (int)GamePlayer.Instance.GetIprop (PropertyType.PT_Profession) || qd.JobLevel_ - GamePlayer.Instance.GetIprop (PropertyType.PT_ProfessionLevel) != 1) // { // return true; // } // } } return(false); }
static bool isAll(int questId) { QuestData quest = QuestData.GetData(questId); COM_QuestInst inst = GetQuestInst(questId); if (inst == null) { return(false); } if (quest == null) { return(false); } for (int i = 0; i < inst.targets_.Length; i++) { //QuestData questd = QuestData.GetData((int)inst.targets_[i].targetId_); if (inst.targets_[i].targetNum_ < int.Parse(quest.targetNum_[i])) { return(false); } } return(true); }
public static void EraseQuestInst(int questId) { if (QuestList == null) { return; } for (int i = 0; i < QuestList.Count; ++i) { if (QuestList[i].questId_ == questId) { QuestList.RemoveAt(i); break; } } QuestData qdata = QuestData.GetData(questId); for (int i = 0; i < QuestListKind[(int)qdata.questKind_].Count; ++i) { if (QuestListKind[(int)qdata.questKind_][i].questId_ == questId) { QuestListKind[(int)qdata.questKind_].RemoveAt(i); break; } } UpdateAcceptableQuests(); }
public static int GetFirstComplateMainKindId() { if (CompletedList == null) { return(0); } int ret = 0; for (int i = 0; i < CompletedList.Count; ++i) { QuestData qdata = QuestData.GetData(CompletedList[i]); if (null == qdata) { continue; } if (qdata.questKind_ == QuestKind.QK_Main) { ret = CompletedList[i]; } } return(ret); }
//static bool isAllItem(int questId) //{ // QuestData quest = QuestData.GetData(questId); // COM_QuestInst inst = GetQuestInst(questId); // if (inst == null) // return false; // if (quest == null) // return false; // for (int i = 0; i < inst.targets_.Length; i++) // { // int itemCountInBag = BagSystem.instance.GetItemMaxNum(inst.targets_[i].targetId_); // //QuestData questd = QuestData.GetData((int)inst.targets_[i].targetId_); // if (itemCountInBag < int.Parse(quest.targetNum_[i])) // { // return false; // } // } // return true; //} public static void CheckItemQuest(uint itemId) { int itemStack = BagSystem.instance.GetItemMaxNum(itemId); for (int i = 0; i < CurrentList.Count; ++i) { QuestData quest = QuestData.GetData(CurrentList[i].questId_); if (null == quest) { continue; } if (quest.questType_ == QuestType.QT_Item || quest.questType_ == QuestType.QT_GiveItem) { for (int j = 0; j < CurrentList[i].targets_.Length; ++j) { if (CurrentList[i].targets_[j].targetId_ == itemId) { CurrentList[i].targets_[j].targetNum_ = itemStack; QuestSystem.isDirty = true; } } } } }
public static bool IsPointNpc(int npcId) { if (QuestListKind == null) { return(false); } if (QuestListKind[(int)QuestKind.QK_Main].Count > 0) { int questId = QuestListKind[(int)QuestKind.QK_Main][0].questId_; QuestData data = QuestData.GetData(questId); if (IsQuestFinish(questId)) { GameObject[] npcLst = GameObject.FindGameObjectsWithTag("NPC"); for (int i = 0; i < npcLst.Length; ++i) { if (npcLst[i].name.Equals(data.finishNpcId_.ToString())) { return(true); } } } } return(false); }
public static PointInfo GetPointInfo() { if (QuestListKind == null) { return(null); } if (QuestListKind[(int)QuestKind.QK_Main].Count > 0) { PointInfo info = null; int questId = QuestListKind[(int)QuestKind.QK_Main][0].questId_; QuestData data = QuestData.GetData(questId); if (IsQuestFinish(questId)) { Vector2 dest = Vector2.zero; GameObject[] npcLst = GameObject.FindGameObjectsWithTag("NPC"); for (int i = 0; i < npcLst.Length; ++i) { if (npcLst[i].name.Equals(data.finishNpcId_.ToString())) { dest = new Vector2(npcLst[i].transform.position.x, npcLst[i].transform.position.z); } } info = new PointInfo(data.finishSceneId_, dest); } else { info = new PointInfo(data.doingSceneId_, data.doingLocation_); } return(info); } return(null); }
public static void UpdateQuest(COM_QuestInst questInst) { if (QuestListKind == null) { return; } QuestData qdata = QuestData.GetData(questInst.questId_); int i; for (i = 0; i < QuestListKind[(int)qdata.questKind_].Count; ++i) { if (QuestListKind[(int)qdata.questKind_][i].questId_ == qdata.id_) { QuestListKind[(int)qdata.questKind_][i] = questInst; break; } } for (i = 0; i < QuestList.Count; ++i) { if (QuestList[i].questId_ == questInst.questId_) { QuestList[i] = questInst; break; } } if (IsQuestFinish(questInst.questId_)) { isEffectF = true; isTaskF = true; sqid = questInst.questId_; //Èç¹ûÍê³ÉµÄÈÎÎñÊǵ±Ç°Ñ²ÂßµÄÈÎÎñ Í£Ö¹ if (Prebattle.Instance.clickedQuestId_ == sqid) { NetConnection.Instance.stopMove(); Prebattle.Instance.ChangeWalkEff(Prebattle.WalkState.WS_Normal); Prebattle.Instance.ResetCurrentQuest(); } } // for(int j =0;j<TrackQues.Count;j++) // { // if (TrackQues[j].questId_ == questInst.questId_) // TrackQues[j] = questInst; // } isDirty = true; if (OnQuestUpdate != null) { OnQuestUpdate(); } }
bool IsQuestDaily(QuestData qdata) { for (int i = 0; i < QuestSystem.CurrentList.Count; i++) { QuestData qdataa = QuestData.GetData(QuestSystem.CurrentList[i].questId_); if (qdata.questKind_ == qdataa.questKind_) { return(true); } } return(false); }
// bool ContinueCompletedJopQuest() // { // // for(int i =0;i<QuestSystem.AcceptableList.Count;i++) // { // QuestData q = QuestData.GetData(QuestSystem.AcceptableList[i]); // if(IsCompletedJopQuest(q)) // { // return true; // } // // } // return false; // } bool IsCompletedJopQuest() { for (int i = 0; i < QuestSystem.CompletedList.Count; i++) { QuestData q = QuestData.GetData(QuestSystem.CompletedList[i]); if (q.questKind_ == QuestKind.QK_Profession) { return(true); } } return(false); }
public static void SubmitQuestOk(int id) { QuestData q = QuestData.GetData(id); if (OnQuestEffectFinish != null) { OnQuestEffectFinish(id); } //DelTrackQues (id); EraseQuestInst(id); if (q.questKind_ == QuestKind.QK_Profession) { for (int i = 0; i < CompletedList.Count; ++i) { QuestData tmpQ = QuestData.GetData(CompletedList[i]); if (tmpQ.questKind_ == QuestKind.QK_Profession) { CompletedList.RemoveAt(i); break; } } } if (q.questKind_ != QuestKind.QK_Tongji) { if (!CompletedQuestList.Contains(id)) { CompletedQuestList.Add(id); UpdateAcceptableQuests(); if (OnQuestUpdate != null) { OnQuestUpdate(); } isDirty = true; GuideManager.Instance.ProcEvent(ScriptGameEvent.SGE_NpcRenwuSubmit, id); EffectAPI.PlayUIEffect((EFFECT_ID)GlobalValue.EFFECT_ComplishQuest, ApplicationEntry.Instance.uiRoot.transform); } } if (q.questType_ == QuestType.QT_GiveBaby || q.questType_ == QuestType.QT_GiveItem) { TurnOnUIPlanel.HideMe(); NpcRenwuUI.SwithShowMe(); } if (IsCopyEndId(id)) { CopyTipsUI.SwithShowMe(); // MessageBoxUI.ShowMe(LanguageManager.instance.GetValue("gongxitongguan"),()=>{ // NetConnection.Instance.exitCopy(); // },true,null,null,LanguageManager.instance.GetValue("likai")); } }
void OnQuestStart(int questid) { QuestData qData = QuestData.GetData(questid); if (qData != null) { Dictionary <string, string> map = new Dictionary <string, string>(); map["Task_Id"] = questid.ToString(); map["Task_Type"] = _QuestTypeMirror[qData.questKind_]; GameParam param = new GameParam(map); GameAnalytics.getInstance().callFuncWithParam("startTask", param); } }
public static bool IsQuestFinish(int questId) { QuestData quest = QuestData.GetData(questId); COM_QuestInst inst = GetQuestInst(questId); if (null == inst) { return(false); } switch (quest.questType_) { case QuestType.QT_Battle: for (int i = 0; i < inst.targets_.Length; i++) { if (inst.targets_[i].targetNum_ >= 1) { return(true); } } // if (inst.questNum_ >= 1) // return true; break; case QuestType.QT_Dialog: return(true); case QuestType.QT_Item: case QuestType.QT_Other: case QuestType.QT_GiveBaby: case QuestType.QT_Kill: case QuestType.QT_KillAI: { if (isAll((int)questId)) { return(true); } } break; case QuestType.QT_GiveItem: if (isGiveItemAll((int)questId)) { return(true); } break; default: return(false); } return(false); }
bool IsJobQuestSame(int quid) { QuestData qd = QuestData.GetData(quid); Profession pro = Profession.get((JobType)GamePlayer.Instance.GetIprop(PropertyType.PT_Profession), GamePlayer.Instance.GetIprop(PropertyType.PT_ProfessionLevel)); if (qd.questKind_ == QuestKind.QK_Profession) { if (qd.JobLevel_ == GamePlayer.Instance.GetIprop(PropertyType.PT_ProfessionLevel) && qd.jobtype_ == (int)GamePlayer.Instance.GetIprop(PropertyType.PT_Profession)) { return(true); } } return(false); }
void GiveupBabyQuest() { int talkId = 0; //QuestId = TurnOnUIPlanel.quesid; QuestData quest = QuestData.GetData(TurnOnUIPlanel.quesid); if (quest.questType_ == QuestType.QT_GiveBaby || quest.questType_ == QuestType.QT_GiveItem) { talkId = quest.finishTalk_; QuestId = quest.postQuest_; InitTalk(talkId); //QuestId = 0; } }
void sortQuest() { qudes.Clear(); for (int i = 0; i < QuestSystem.CurrentList.Count; i++) { QuestData qdata = QuestData.GetData(QuestSystem.CurrentList[i].questId_); if (qdata.questKind_ == QuestKind.QK_Main) { qudes.Insert(0, qdata); } else { qudes.Add(qdata); } } }
public static bool IsProfessionQuestDoing() { if (QuestList == null) { return(false); } for (int j = 0; j < QuestList.Count; j++) { if (QuestKind.QK_Profession == QuestData.GetData(QuestList[j].questId_).questKind_) { return(true); } } return(false); }
public static bool IsDailyComplate() { if (CompletedQuestList == null) { return(false); } for (int i = 0; i < CompletedQuestList.Count; ++i) { if (QuestData.GetData(CompletedQuestList[i]).questKind_ == QuestKind.QK_Daily) { return(true); } } return(false); }
public static bool IsDailyDoing() { if (QuestList == null) { return(false); } for (int i = 0; i < QuestList.Count; ++i) { if (QuestData.GetData(QuestList[i].questId_).questKind_ == QuestKind.QK_Daily) { return(true); } } return(false); }
static bool isGiveItemAll(int questId) { QuestData quest = QuestData.GetData(questId); if (quest == null) { return(false); } int itemcount = BagSystem.instance.GetItemMaxNum((uint)quest.targetId_); if (itemcount >= int.Parse(quest.targetNum_[0])) { return(true); } return(false); }
bool IsKinDaily(List <int> qlist) { for (int i = 0; i < qlist.Count; i++) { QuestData qda = QuestData.GetData(qlist[i]); if (qda.questKind_ == QuestKind.QK_Daily) { continue; } else { return(true); } } return(false); }
public static void GiveupQuestOk(int id) { if (AcceptableQuestList == null) { return; } QuestData data = QuestData.GetData(id); if (data != null && data.questKind_ == QuestKind.QK_Rand) { AcceptableQuestList.Add(QuestData.defaultXuanshangQuestId_); //??????? ????2b????????????? } else { AcceptableQuestList.Add(id); } for (int i = 0; i < QuestList.Count; ++i) { if (QuestList[i].questId_ == id) { QuestList.RemoveAt(i); break; } } if (GiveupQuests != null) { GiveupQuests(); } // for(int j =0;j<TrackQues.Count;j++) // { // if (TrackQues[j].questId_ == id) // { // TrackQues.RemoveAt(j); // PlayerPrefs.DeleteKey(TrackQues[j].questId_.ToString()); // } // // // } if (OnQuestUpdate != null) { OnQuestUpdate(); } isDirty = true; }
void OnClickChuan(ButtonScript obj, object args, int param1, int param2) { QuestData qdata = QuestData.GetData(CurrentId); if (qdata.questKind_ == QuestKind.QK_Guild) { if (!GuildSystem.IsInGuild()) { PopText.Instance.Show(LanguageManager.instance.GetValue("gonghui")); return; } } if (GameManager.Instance.ParseNavMeshInfo(qdata.xunlu)) { Prebattle.Instance.ChangeWalkEff(Prebattle.WalkState.WS_AFP); } }
public static List <QuestData> GetQuestDataForQuestKind(QuestKind questKind) { if (AcceptableList == null) { return(null); } List <QuestData> qdatas = new List <QuestData> (); for (int i = 0; i < AcceptableList.Count; i++) { if (QuestData.GetData(AcceptableList[i]).questKind_ == questKind) { qdatas.Add(QuestData.GetData(AcceptableList[i])); } } return(qdatas); }
void InitData() { Quests.Clear(); NpcId = int.Parse(gameObject.name); NpcData data = NpcData.GetData(NpcId); int[] queststr = data.Quests; for (int i = 0; i < queststr.Length; i++) { QuestData qd = QuestData.GetData(queststr[i]); //if(qd==null)return false; Profession pro = Profession.get((JobType)GamePlayer.Instance.GetIprop(PropertyType.PT_Profession), GamePlayer.Instance.GetIprop(PropertyType.PT_ProfessionLevel)); //if(pro==null)return false; if (qd.questKind_ == QuestKind.QK_Profession) { if (qd.JobLevel_ != 1 && qd.JobLevel_ != 0) { if (qd.jobtype_ != (int)GamePlayer.Instance.GetIprop(PropertyType.PT_Profession) || qd.JobLevel_ - GamePlayer.Instance.GetIprop(PropertyType.PT_ProfessionLevel) != 1) { continue; } } } if (QuestSystem.IsFDailyQuest()) { if (qd.questKind_ == QuestKind.QK_Daily) { continue; } } Quests.Add(queststr[i]); } //如果是第一个职业任务npc 任务不在quest字段 而在附加参数字段 已避开正常任务的一部分逻辑 if (data.AssetsId == UIASSETS_ID.UIASSETS_ProfessionPanel) { string[] questStr = data.BabySkillLearn.Split(';'); for (int i = 0; i < questStr.Length; ++i) { Quests.Add(int.Parse(questStr[i])); } } }