/// <summary> /// 任务需求中与NPC谈话内容,只有一句 /// </summary> /// <param name="quest"></param> public void TalkInMission(Model_Quest.QuestNPC quest) { Complete.gameObject.SetActive(true); //显示完成按钮 Accept.gameObject.SetActive(false); //隐藏接受按钮 Abandon.gameObject.SetActive(false); //隐藏取消按钮 questContent.text = quest.questDialogueNpc[0]; //NPC说话内容 QuestReleaseNpcText.text = GlobalParametr.GetNpcName(quest.npcId); //对话显示角色 }
/// <summary> /// 初始化 /// </summary> public void InitQuest() { questBriefIntroduction.text = quest.questBriefIntroduction; questSescribe.text = quest.questSescribe; ClearQuestDemandAndReward(); //击杀需求 foreach (Model_Quest.QuestEnemy enemy in quest.questKillEnemy) { //没有击杀任务,跳过 if (enemy.enemyNumber != 0) { GameObject MissionRequired = Resources.Load <GameObject>("Prefabs/UI/Quest/MissionRequired"); View_QuestMissionRequired missionRequired = MissionRequired.GetComponent <View_QuestMissionRequired>(); missionRequired.CurrentCount.text = enemy.currentEnemyNumber.ToString(); missionRequired.QuestCount.text = enemy.enemyNumber.ToString(); missionRequired.QuestName.text = GlobalParametr.GetEnemyName(enemy.enemyId); missionRequired.HideMark(); missionRequired.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); Instantiate(MissionRequired).transform.parent = questDemandTransform; } } //对话内容 foreach (Model_Quest.QuestNPC questNpc in quest.questTalkNPC) { if (questNpc.npcId != -1) { GameObject MissionRequired = Resources.Load <GameObject>("Prefabs/UI/Quest/MissionRequired"); View_QuestMissionRequired missionRequired = MissionRequired.GetComponent <View_QuestMissionRequired>(); missionRequired.CurrentCount.text = questNpc.isTalk ? "1" : "0"; missionRequired.QuestCount.text = "1"; missionRequired.QuestName.text = GlobalParametr.GetNpcName(questNpc.npcId); missionRequired.ShowMark(); missionRequired.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); Instantiate(MissionRequired).transform.parent = questDemandTransform; } } //物品需求 foreach (Model_Quest.QuestItem questItem in quest.questItem) { if (questItem.itemId != -1) { GameObject MissionRequired = Resources.Load <GameObject>("Prefabs/UI/Quest/MissionRequired"); View_QuestMissionRequired missionRequired = MissionRequired.GetComponent <View_QuestMissionRequired>(); missionRequired.CurrentCount.text = Ctrl_InventoryManager.Instance .GetItemCount(questItem.itemId).ToString(); missionRequired.QuestCount.text = questItem.itemNumber.ToString(); missionRequired.QuestName.text = Ctrl_InventoryManager.Instance.GetItemById(questItem.itemId).itemName; missionRequired.HideMark(); missionRequired.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); Instantiate(MissionRequired).transform.parent = questDemandTransform; } } #region 任务奖励 if (quest.questReward.gold > 0) { GameObject QuestRewardSlot = Resources.Load <GameObject>("Prefabs/UI/Quest/QuestRewardSlot"); QuestRewardSlot.GetComponent <Ctrl_QuestRewardSlot>().ShowGoldView(quest.questReward.gold); QuestRewardSlot.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); Instantiate(QuestRewardSlot).transform.parent = questRewardTransform; } if (quest.questReward.diamod > 0) { GameObject QuestRewardSlot = Resources.Load <GameObject>("Prefabs/UI/Quest/QuestRewardSlot"); QuestRewardSlot.GetComponent <Ctrl_QuestRewardSlot>().ShowDiamodView(quest.questReward.diamod); QuestRewardSlot.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); Instantiate(QuestRewardSlot).transform.parent = questRewardTransform; } if (quest.questReward.exp > 0) { GameObject QuestRewardSlot = Resources.Load <GameObject>("Prefabs/UI/Quest/QuestRewardSlot"); QuestRewardSlot.GetComponent <Ctrl_QuestRewardSlot>().ShowExpView(quest.questReward.exp); QuestRewardSlot.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); Instantiate(QuestRewardSlot).transform.parent = questRewardTransform; } if (quest.questReward.questRewardItem.Length >= 1) { foreach (Model_Quest.QuestItem item in quest.questReward.questRewardItem) { GameObject QuestRewardSlot = Resources.Load <GameObject>("Prefabs/UI/Quest/QuestRewardSlot"); QuestRewardSlot = Instantiate(QuestRewardSlot); QuestRewardSlot.GetComponent <Ctrl_QuestRewardSlot>().Item = Ctrl_InventoryManager.Instance.GetItemById(item.itemId); QuestRewardSlot.transform.localScale = new Vector3(0.5f, 0.5f, 0.5f); QuestRewardSlot.transform.parent = questRewardTransform; } } if (Quest.questState) { overQuest.SetActive(true); } else { overQuest.SetActive(false); } #endregion }