Example #1
0
        public void Init(NpcQuestItemDTO questItem, Transform followNode, Action action)
        {
            m_FollowNode.SetFloowNode(followNode);
            gameObject.AddComponent <DelayCallBack>().SetAction(action, 2, true);
            int         state   = questItem.state;
            CampNpcItem npcItem = Global.gApp.gGameData.CampNpcConfig.Get(questItem.npcId);

            if (state == NpcState.None)
            {
                int plotLength = npcItem.NoTask.Length;
                int plotIndex  = UnityEngine.Random.Range(0, plotLength);
                TaskText.text.text = Global.gApp.gGameData.GetTipsInCurLanguage(npcItem.NoTask[plotIndex]);
            }
            else if (state == NpcState.Received)
            {
                int plotLength = npcItem.TaskFinished.Length;
                int plotIndex  = UnityEngine.Random.Range(0, plotLength);
                TaskText.text.text = Global.gApp.gGameData.GetTipsInCurLanguage(npcItem.NoTask[plotIndex]);
            }
            string lgg = Global.gApp.gSystemMgr.GetMiscMgr().Language;

            if (lgg == null || lgg.Equals(GameConstVal.EmepyStr))
            {
                lgg = UiTools.GetLanguage();
            }
            TaskText.text.font = Global.gApp.gGameData.GetFont(lgg);
        }
Example #2
0
        private void CreateNpc()
        {
            NpcQuestItemDTO questItem = m_CurTaskList[m_CreateIndex];
            Transform       bornNode;
            bool            showOldWomanPlot = false;
            bool            IsOldWoman       = false;
            bool            IsBoy            = false;
            GameObject      flolowNode       = null;

            if (questItem.npcId == "Npc_boy")
            {
                bornNode = m_ControllerNode.transform.Find("FightNode/NPCBornNode/BoyBornNode");
                IsBoy    = true;
            }
            else if (questItem.npcId == "Npc_oldwoman")
            {
                if (!Global.gApp.gSystemMgr.GetMiscMgr().GetAndResetHasOpenCampState())
                {
                    showOldWomanPlot = true;
                }
                bornNode   = m_ControllerNode.transform.Find("FightNode/NPCBornNode/OldWomanBornNode");
                flolowNode = OldWamonIcon.gameObject;
                IsOldWoman = true;
            }
            else if (questItem.npcId == "Npc_drstrange")
            {
                bornNode   = m_ControllerNode.transform.Find("FightNode/NPCBornNode/DrStrangeBornNode");
                flolowNode = DrstrangeIcon.gameObject;
            }
            else if (questItem.npcId == "Npc_recycle")
            {
                bornNode   = m_ControllerNode.transform.Find("FightNode/NPCBornNode/RecycleBornNode");
                flolowNode = RecycleIcon.gameObject;
            }
            else
            {
                int index = Random.Range(0, m_NoTaskNpcBornNode.childCount);
                bornNode = m_NoTaskNpcBornNode.GetChild(index);
            }
            CreateNpcImp(bornNode, questItem, m_CreateIndex, flolowNode);
            if (showOldWomanPlot)
            {
                //m_NpcBehav[m_CreateIndex].ShowOldWomanTaskUi(100203);
            }
            if (IsOldWoman)
            {
                m_OldWomanBav = m_NpcBehav[m_CreateIndex];
                m_OldWomanBav.transform.position = bornNode.transform.position;
            }
            else if (IsBoy)
            {
                m_NpcBehav[m_CreateIndex].gameObject.SetActive(m_NpcMgr.GetShowBoyNpcState());
                m_BoyBav = m_NpcBehav[m_CreateIndex];
            }
            m_CreateIndex++;
        }
Example #3
0
        public void InitNode(NpcQuestItemDTO dto, int index, CampTaskDetails parent)
        {
            m_DTO    = dto;
            m_Index  = index;
            m_Parent = parent;
            CampTasksItem taskCfg = Global.gApp.gGameData.CampTasksConfig.Get(m_DTO.npcQuestId);

            gameObject.SetActive(true);
            if (taskCfg.taskCondition[0] == FilterTypeConstVal.GET_ITEM)
            {
                ItemItem itemCfg = Global.gApp.gGameData.ItemData.Get(Convert.ToInt32(taskCfg.taskCondition[1]));
                IName.text.text            = Global.gApp.gGameData.GetTipsInCurLanguage(itemCfg.sourceLanguage);
                TargetIcon.image.sprite    = Resources.Load(itemCfg.image_grow, typeof(Sprite)) as Sprite;
                TaskTargetText.text.text   = string.Format(Global.gApp.gGameData.GetTipsInCurLanguage(taskCfg.describe), Global.gApp.gGameData.GetTipsInCurLanguage(itemCfg.sourceLanguage));
                TaskTargetAmount.text.text = taskCfg.taskCondition[taskCfg.taskCondition.Length - 1].ToString();
            }
            else if (taskCfg.taskCondition[0] == FilterTypeConstVal.KILL_ZOMBIE)
            {
                IName.text.text            = Global.gApp.gGameData.GetTipsInCurLanguage(4265);
                TargetIcon.image.sprite    = Resources.Load(CommonResourceConstVal.CAMP_KILL_ICON, typeof(Sprite)) as Sprite;
                TaskTargetText.text.text   = Global.gApp.gGameData.GetTipsInCurLanguage(taskCfg.describe);
                TaskTargetAmount.text.text = taskCfg.taskCondition[taskCfg.taskCondition.Length - 1].ToString();
            }
            else if (taskCfg.taskCondition[0] == FilterTypeConstVal.GET_ITEM_BY_TYPE)
            {
                IName.text.text            = Global.gApp.gGameData.GetTipsInCurLanguage(4268);
                TargetIcon.image.sprite    = Resources.Load(CommonResourceConstVal.CAMP_GET_TYPE_ITEM_ICON, typeof(Sprite)) as Sprite;
                TaskTargetText.text.text   = Global.gApp.gGameData.GetTipsInCurLanguage(taskCfg.describe);
                TaskTargetAmount.text.text = taskCfg.taskCondition[taskCfg.taskCondition.Length - 1].ToString();
            }
            else
            {
                Debug.LogError("该条件类型未告知如何显示 taskCfg.taskCondition[0] = " + taskCfg.taskCondition[0]);
            }
            string cur = m_DTO.cur > taskCfg.taskCondition[taskCfg.taskCondition.Length - 1] ? taskCfg.taskCondition[taskCfg.taskCondition.Length - 1].ToString() : m_DTO.cur.ToString();

            Amount.text.text          = cur + "/" + taskCfg.taskCondition[taskCfg.taskCondition.Length - 1].ToString();
            Progress.image.fillAmount = Convert.ToSingle(m_DTO.cur / taskCfg.taskCondition[taskCfg.taskCondition.Length - 1]);

            if (int.Parse(taskCfg.reward[0]) == SpecialItemIdConstVal.GOLD)
            {
                Gold_paramsItem gpiCfg = Global.gApp.gGameData.GoldParamsConfig.Get(Global.gApp.gSystemMgr.GetBaseAttrMgr().GetLevel());
                AwardAmount.text.text = UiTools.FormateMoneyUP(double.Parse(taskCfg.reward[1]) * gpiCfg.coinParams);
            }
            else
            {
                AwardAmount.text.text = UiTools.FormateMoneyUP(int.Parse(taskCfg.reward[1]));
            }

            ItemItem awardItem = Global.gApp.gGameData.ItemData.Get(int.Parse(taskCfg.reward[0]));

            AwardIcon.image.sprite = Resources.Load(awardItem.image_grow, typeof(Sprite)) as Sprite;
            ChangeStateAndIndex();
            Btn.button.onClick.AddListener(OnReceive);
        }
Example #4
0
 public void PlayNPCheerAnimAndFreshHeart()
 {
     foreach (NpcBehavior npcBehavior in m_NpcBehav)
     {
         NpcQuestItemDTO npcQuestItemDTO = npcBehavior.GetQuestItem();
         bool            addHeart        = m_NpcMgr.ForceAddHeart(npcQuestItemDTO);
         npcBehavior.PlayCheerAnim(addHeart);
     }
     m_NpcMgr.SaveData();
     Global.gApp.gMsgDispatcher.Broadcast(MsgIds.CampRedTips);
 }
Example #5
0
 public void Init(NpcQuestItemDTO taskItem, int taskIndex)
 {
     m_TaskItem  = taskItem;
     m_TaskIndex = taskIndex;
     if (taskItem.state != NpcState.None && m_TaskItem.state != NpcState.Received)
     {
         GameObject go = Global.gApp.gResMgr.InstantiateObj(Wndid.TaskStateNode);
         m_TaskStateNode = go.GetComponent <TaskStateNode>();
         m_TaskStateNode.Init(this, GetTaskUINode(), taskId: taskItem.npcQuestId, taskState: taskItem.state);
         PlayIdle();
     }
     FreshDropInfo();
 }
Example #6
0
        private void CreateNpcImp(Transform bornNode, NpcQuestItemDTO taskItem, int taskIndex, GameObject followNode = null)
        {
            string npcId = taskItem.npcId;

            CampNpcItem campNpcItem = Global.gApp.gGameData.CampNpcConfig.Get(npcId);
            GameObject  npcNode     = Global.gApp.gResMgr.InstantiateObj(campNpcItem.NpcPath);

            npcNode.transform.SetParent(m_NpcNode, false);
            if (taskItem.state != NpcState.None)
            {
                Transform newBornNode = m_TaskNpcBronNode.transform.GetChild(m_TaskNpcBornNodeIndex);
                npcNode.transform.position = newBornNode.position;
                m_TaskNpcBornNodeIndex++;
            }
            else
            {
                Vector3 localScale = bornNode.localScale;
                float   x          = Random.Range(-0.5f, 0.5f);
                float   y          = Random.Range(-0.5f, 0.5f);
                Vector3 posOffset  = new Vector3(localScale.x * x, localScale.y * y, 0);

                Vector3 position = bornNode.transform.position + posOffset;
                position.z = 0;
                npcNode.transform.position = position;
            }
            NpcBehavior npcBehavior = npcNode.GetComponent <NpcBehavior>();

            npcBehavior.Init(taskItem, taskIndex);
            if (followNode != null)
            {
                FollowNode followComp = followNode.GetComponent <FollowNode>();
                followComp.SetFloowNode(npcBehavior.GetTaskUINode());
                npcBehavior.SetForceHasOutlineEffect();
            }
            m_NpcBehav.Add(npcBehavior);
        }
        public void InitDetailsInfo(NpcQuestItemDTO taskItem, int taskIndex, Transform adaptNode, Action closeCallBack)
        {
            m_CloseCallBack = closeCallBack;
            m_TaskIndex     = taskIndex;
            m_FollowRectTsf.anchoredPosition = UiTools.WorldToRectPos(gameObject, adaptNode.position, m_ParentRectTsf);
            CampTasksItem campTasksItem = Global.gApp.gGameData.CampTasksConfig.Get(taskItem.npcQuestId);

            if (campTasksItem != null)
            {
                TitleText.text.text             = Global.gApp.gGameData.GetTipsInCurLanguage(campTasksItem.title);
                prNum.text.text                 = ((int)taskItem.cur).ToString() + "/" + campTasksItem.taskCondition[2].ToString();
                m_passProgress.image.fillAmount = (float)taskItem.cur / campTasksItem.taskCondition[2];


                ItemItem conditonItem = Global.gApp.gGameData.ItemData.Get((int)campTasksItem.taskCondition[1]);
                if (conditonItem != null)
                {
                    taskIcon.image.sprite = Resources.Load(conditonItem.image_grow, typeof(Sprite)) as Sprite;
                }
                else
                {
                    if (campTasksItem.taskCondition[0] == FilterTypeConstVal.KILL_ZOMBIE)
                    {
                        taskIcon.image.sprite = Resources.Load(CommonResourceConstVal.CAMP_KILL_ICON, typeof(Sprite)) as Sprite;
                    }
                    else if (campTasksItem.taskCondition[0] == FilterTypeConstVal.GET_ITEM_BY_TYPE)
                    {
                        taskIcon.image.sprite = Resources.Load(CommonResourceConstVal.CAMP_GET_TYPE_ITEM_ICON, typeof(Sprite)) as Sprite;
                    }
                    else
                    {
                        taskIcon.image.sprite = Resources.Load(CommonResourceConstVal.CAMP_KILL_ICON, typeof(Sprite)) as Sprite;
                    }
                }
                ItemItem rewardItem = Global.gApp.gGameData.ItemData.Get(int.Parse(campTasksItem.reward[0]));
                if (rewardItem != null)
                {
                    icon.image.sprite = Resources.Load(rewardItem.image_grow, typeof(Sprite)) as Sprite;
                }
                if (rewardItem.id == SpecialItemIdConstVal.GOLD)
                {
                    double          itemNum = double.Parse(campTasksItem.reward[1]);
                    Gold_paramsItem cfg     = Global.gApp.gGameData.GoldParamsConfig.Get(Global.gApp.gSystemMgr.GetBaseAttrMgr().GetLevel());
                    itemNum      *= cfg.coinParams;
                    Num.text.text = UiTools.FormateMoneyUP(itemNum);
                }
                else
                {
                    Num.text.text = UiTools.FormateMoneyUP(double.Parse(campTasksItem.reward[1]));
                }
            }
            if (taskItem.state == NpcState.UnReceived)
            {
                WaitRewardBtn.gameObject.SetActive(false);
                RewardBtn.gameObject.SetActive(true);
                RewardBtn.button.onClick.AddListener(ReceiveReward);
            }
            else
            {
                WaitRewardBtn.gameObject.SetActive(true);
                RewardBtn.gameObject.SetActive(false);
            }
        }