Ejemplo n.º 1
0
 /// <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); //对话显示角色
 }
Ejemplo n.º 2
0
    /// <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();
            }
        }
    }
Ejemplo n.º 3
0
    /// <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();
            }
        }
    }
Ejemplo n.º 4
0
    /// <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
    }