/// <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> /// <param name="itemID"></param> public void AddItem(int itemID) { //根据ID找到与之对应的物品 如烧烤的是一块生肉 那么成品应是一块熟肉 Model_Item item = Ctrl_InventoryManager.Instance.GetItemById(GlobalParametr.GetCookingProduct(itemID)); if (Item == null) { Item = Ctrl_InventoryManager.Instance.NewItem(item.id); /* Item = new Model_Item * { * id = item.id, * itemName = item.itemName, * itemType = item.itemType, * equipmentType = item.equipmentType, * materialType = item.materialType, * consumption = item.consumption, * maxStack = item.maxStack, * currentNumber = item.currentNumber, * buyPriceByGold = item.buyPriceByGold, * buyPriceByDiamond = item.buyPriceByDiamond, * sellPriceByGold = item.sellPriceByGold, * sellPriceByDiamond = item.sellPriceByDiamond, * minLevel = item.minLevel, * sellable = item.sellable, * tradable = item.tradable, * destroyable = item.destroyable, * description = item.description, * sprite = item.sprite, * useDestroy = item.useDestroy, * useHealth = item.useHealth, * useMagic = item.useMagic, * useExperience = item.useExperience, * equipHealthBonus = item.equipHealthBonus, * equipManaBonus = item.equipManaBonus, * equipDamageBonus = item.equipDamageBonus, * equipDefenseBonus = item.equipDefenseBonus, * equipSpeedcBonus = item.equipSpeedcBonus, * modelPrefab = item.modelPrefab * };*/ } else { if (this.item.currentNumber < item.maxStack) { this.item.currentNumber += 1; UpdateAmount(); } } }
/// <summary> /// 添加物品 食材成熟后如果当前格子为空 则新开辟一个物品地址,不为空就直接添加个数即可 /// </summary> /// <param name="itemID"></param> public void AddItem(int itemID) { //根据ID找到与之对应的物品 如烧烤的是一块生肉 那么成品应是一块熟肉 Model_Item item = Ctrl_InventoryManager.Instance.GetItemById(GlobalParametr.GetCookingProduct(itemID)); if (Item == null) { Item = Ctrl_InventoryManager.Instance.NewItem(item.id); } else { if (this.item.currentNumber < item.maxStack) { this.item.currentNumber += 1; UpdateAmount(); } } }
/// <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 }