Exemplo n.º 1
0
    void MissionNodeOnDelete(object sender)
    {
        UIMissionNode node = sender as UIMissionNode;

        if (node == null)
        {
            return;
        }
        delView = node.mData as UIMissionMgr.MissionView;
        if (delView == null)
        {
            return;
        }

        MissionCommonData data = MissionManager.GetMissionCommonData(delView.mMissionID);

        if (data == null)
        {
            return;
        }
        //else
        //    MissionManager.Instance.m_PlayerMission.FailureMission(delView.mMissionID);

        if (!data.m_bGiveUp)
        {
            new PeTipMsg(PELocalization.GetString(8000174), PeTipMsg.EMsgLevel.Warning);
            return;
        }

        MessageBox_N.ShowYNBox(PELocalization.GetString(8000066), DeleteMissionOk);
    }
Exemplo n.º 2
0
    public UIMissionNode AddMissionNode(UIMissionNode parentNode, string text, bool enableCkTag = true, bool enableBtnDel = true, bool canSelected = true)
    {
        GameObject    o    = GameObject.Instantiate(mNodePrefab) as GameObject;
        UIMissionNode node = o.GetComponent <UIMissionNode>();

        if (parentNode == null)
        {
            node.transform.parent = mContentTable.gameObject.transform;
            node.mTablePartent    = mContentTable;
        }
        else
        {
            node.transform.parent = parentNode.mTable.gameObject.transform;
            node.mTablePartent    = parentNode.mTable;
        }

        node.gameObject.transform.localScale = Vector3.one;
        node.mLbTitle.text   = text;
        node.enableCkTag     = enableCkTag;
        node.enableBtnDelete = enableBtnDel;
        node.e_OnClick      += OnChangeSelectedNode;
        node.gameObject.SetActive(true);
        node.mCanSelected            = canSelected;
        node.mParent                 = parentNode;
        node.transform.localPosition = new Vector3(0, -(FindChildNodeCount(parentNode) * UITreeHight), 0);

        if (parentNode)
        {
            parentNode.mChilds.Add(node);
        }
        mNodes.Add(node);

        return(node);
    }
Exemplo n.º 3
0
 void UpdateNodeText(UIMissionNode node)
 {
     if (node.mData == null)
     {
         return;
     }
     if (node.mParent == null)
     {
         if (node.mData is UIMissionMgr.MissionView)
         {
             UIMissionMgr.MissionView view = node.mData as UIMissionMgr.MissionView;
             string colorFormat            = view.mMissionType == MissionType.MissionType_Main ? mainMissionColor : sideMissionColor;
             string text = view.mComplete ? string.Format(complateTitleFormat, view.mMissionTitle, PELocalization.GetString(8000694)) : view.mMissionTitle;
             node.mLbTitle.text = string.Format(colorFormat, text);
         }
     }
     else
     {
         if (node.mData is List <UIMissionMgr.TargetShow> )
         {
             List <UIMissionMgr.TargetShow> showList = node.mData as List <UIMissionMgr.TargetShow>;
             string text = string.Empty;
             foreach (UIMissionMgr.TargetShow target in showList)
             {
                 string countStr = string.Empty;
                 if (target.mMaxCount > 0)
                 {
                     countStr = string.Format(countFormat, target.mCount, target.mMaxCount);
                 }
                 text += string.Format(target.mComplete ? complateMissionColor : uncompletedMissionColor, target.mContent, countStr);
             }
             node.mLbTitle.text = text;
         }
     }
 }
Exemplo n.º 4
0
    bool AddTrackData(ItemTrackData data)
    {
        UIMissionNode rootNode = itemsTree.AddMissionNode(null, "", false, true, false);

        rootNode.mLbTitle.maxLineCount = 1;
        rootNode.e_BtnDelete          += DeleteNode;

        UIMissionNode tragetNode = itemsTree.AddMissionNode(rootNode, "", false, false, false);

        tragetNode.mLbTitle.maxLineCount = 0;

        _nodeDataDic.Add(rootNode, data);

        UpdateNodeText(rootNode);

        rootNode.ChangeExpand();

        if (!GameUI.Instance.mItemsTrackWnd.isShow)
        {
            GameUI.Instance.mItemsTrackWnd.Show();
        }

        if (data != null && data.type == TrackType.Script)
        {
            if (ScriptTrackChanged != null)
            {
                ScriptTrackChanged(data.scriptID, true);
            }
        }

        return(true);
    }
Exemplo n.º 5
0
    void OnDelMissionView(UIMissionMgr.MissionView view)
    {
        UIMissionNode node = FindMissionNode(view);

        if (node != null)
        {
            mMissionTree.DeleteMissionNode(node);
        }
    }
Exemplo n.º 6
0
    void UpdateNodeText(UIMissionNode node)
    {
        if (node == null)
        {
            return;
        }
        if (!_nodeDataDic.ContainsKey(node))
        {
            return;
        }
        ItemTrackData data = _nodeDataDic[node];

        if (data == null)
        {
            return;
        }

        UIMissionNode childNode = null;

        if (node.mChilds.Count > 0)
        {
            childNode = node.mChilds[0];
        }

        bool complate = true;

        if (playerPackage != null)
        {
            string text = string.Empty;
            foreach (var kv in data.costDic)
            {
                string costName = ItemProto.GetName(kv.Key);
                int    curCount = playerPackage.GetCount(kv.Key);
                string countStr = string.Empty;
                countStr = string.Format(countFormat, curCount, kv.Value);
                bool costComplate = curCount >= kv.Value;
                text += string.Format(costComplate ? complateCountColor : uncompletedCountColor, costName, countStr);
                if (!costComplate)
                {
                    complate = false;
                }
            }
            if (childNode)
            {
                childNode.mLbTitle.text = text;
            }
        }

        string titleText = data.itemName;

        if (complate)
        {
            titleText = string.Format(complateTitleColor, string.Format(complateTitleFormat, data.itemName, data.itemCount, PELocalization.GetString(8000694)));
        }
        node.mLbTitle.text = titleText;
    }
Exemplo n.º 7
0
    void ReflashMissionWnd()
    {
        if (mMainStroyTree == null || mSideQuestTree == null)
        {
            return;
        }
        UIMissionNode node = mMainStroyTree.gameObject.activeSelf ? mMainStroyTree.mSelectedNode : mSideQuestTree.mSelectedNode;

        SelectMissionNode(node);
    }
Exemplo n.º 8
0
    void MissionNodeOnSelectChange(object sender)
    {
        UIMissionNode node = sender as UIMissionNode;

        if (node == null)
        {
            return;
        }

        SelectMissionNode(node);
    }
Exemplo n.º 9
0
 void SelectMissionNode(UIMissionNode node)
 {
     if (node == null)
     {
         ClearMissionContent();
     }
     else
     {
         ReFlashMissionContent(node);
     }
 }
Exemplo n.º 10
0
    public List <UIMissionNode> GetChildNode(UIMissionNode parentNode)
    {
        List <UIMissionNode> childs = new List <UIMissionNode>();

        for (int i = 0; i < mNodes.Count; i++)
        {
            if (parentNode == mNodes[i].mParent)
            {
                childs.Add(mNodes[i]);
            }
        }
        return(childs);
    }
Exemplo n.º 11
0
    int FindChildNodeCount(UIMissionNode parentNode)
    {
        int count = 0;

        for (int i = 0; i < mNodes.Count; i++)
        {
            if (mNodes[i].mParent == parentNode)
            {
                count++;
            }
        }
        return(count);
    }
Exemplo n.º 12
0
    void ReFlashMissionContent(UIMissionNode node)
    {
        if (mTargetScroll != null)
        {
            mTargetScroll.scrollValue = 0;
        }

        ClearMissionContent();

        UIMissionMgr.MissionView view = node.mData as UIMissionMgr.MissionView;
        if (view == null)
        {
            return;
        }

        mDesLabel.text = view.mMissionDesc;
        int missionId         = view.mMissionID;
        MissionCommonData mcd = MissionManager.GetMissionCommonData(missionId);

        if (mcd != null)
        {
            if (mcd.addSpValue > 0)
            {
                mSPLabel.text = "SP" + " " + "+" + " " + "[ffff00]" + mcd.addSpValue + "[-]";
            }
        }

        SetGiver(view.mMissionStartNpc.mNpcIcoStr, view.mMissionStartNpc.mName);
        SetSubmit(view.mMissionReplyNpc.mNpcIcoStr, view.mMissionReplyNpc.mName);

        for (int i = 0; i < view.mTargetList.Count; i++)
        {
            AddTarget(view.mTargetList[i]);
        }
        mTargetGrid.Reposition();
        //if (mTargetScroll != null)
        //    mTargetScroll.scrollValue = 0;

        for (int i = 0; i < view.mRewardsList.Count; i++)
        {
            AddRewards(view.mRewardsList[i]);
        }
        mRewardsGrid.Reposition();
        if (mRewardsScroll != null)
        {
            mRewardsScroll.scrollValue = 0;
        }
    }
Exemplo n.º 13
0
    void MissionNodeOnCheckTag(object sender, bool isChecked)
    {
        UIMissionNode node = sender as UIMissionNode;

        if (node == null)
        {
            return;
        }
        UIMissionMgr.MissionView view = node.mData as UIMissionMgr.MissionView;
        if (view == null)
        {
            return;
        }

        view.mMissionTag = isChecked;
        UIMissionMgr.Instance.CheckMissionTag(view);
    }
Exemplo n.º 14
0
    void DeleteMission(UIMissionMgr.MissionView misView)
    {
        UIMissionNode node = null;

        if (misView.mMissionType == MissionType.MissionType_Main || misView.mMissionType == MissionType.MissionType_Time)
        {
            node = mMainStroyTree.mNodes.Find(
                delegate(UIMissionNode nd)
            {
                UIMissionMgr.MissionView mv = nd.mData as UIMissionMgr.MissionView;
                return(mv == misView);
            });
            mMainStroyTree.DeleteMissionNode(node);

            if (mMainStroyTree.mNodes.Count == 0)
            {
                node = null;
            }
            else
            {
                node = mMainStroyTree.mNodes[0];
            }
        }
        else if (misView.mMissionType == MissionType.MissionType_Sub)
        {
            node = mSideQuestTree.mNodes.Find(
                delegate(UIMissionNode nd)
            {
                UIMissionMgr.MissionView mv = nd.mData as UIMissionMgr.MissionView;
                return(mv == misView);
            });
            mSideQuestTree.DeleteMissionNode(node);

            if (mSideQuestTree.mNodes.Count == 0)
            {
                node = null;
            }
            else
            {
                node = mSideQuestTree.mNodes[0];
            }
        }

        SelectMissionNode(node);
    }
Exemplo n.º 15
0
 //lz-2016.08.17 这个接口提供外部通过UIMissionMgr.MissionView来选中任务节点
 public void SelectMissionNodeByData(object data)
 {
     if (null == data)
     {
         return;
     }
     if (data is UIMissionMgr.MissionView)
     {
         UIMissionMgr.MissionView misView = (UIMissionMgr.MissionView)data;
         if (misView.mMissionType == MissionType.MissionType_Main || misView.mMissionType == MissionType.MissionType_Time)
         {
             mCkMainStory.isChecked = true;
             mCkSideQuest.isChecked = false;
             BtnMainStroy();
             UIMissionNode findNode = mMainStroyTree.mNodes.Find(a => (a.mParent == null && a.mData != null && a.mData is  UIMissionMgr.MissionView && ((UIMissionMgr.MissionView)a.mData).mMissionID == misView.mMissionID));
             if (null != findNode)
             {
                 if (null != mMainStroyTree.mSelectedNode)
                 {
                     mMainStroyTree.mSelectedNode.Selected = false;
                 }
                 mMainStroyTree.mSelectedNode = findNode;
                 findNode.Selected            = true;
                 ReFlashMissionContent(findNode);
             }
         }
         else if (misView.mMissionType == MissionType.MissionType_Sub)
         {
             mCkMainStory.isChecked = false;
             mCkSideQuest.isChecked = true;
             BtnSideQuest();
             UIMissionNode findNode = mSideQuestTree.mNodes.Find(a => (a.mParent == null && a.mData != null && a.mData is  UIMissionMgr.MissionView && ((UIMissionMgr.MissionView)a.mData).mMissionID == misView.mMissionID));
             if (null != findNode)
             {
                 if (null != mSideQuestTree.mSelectedNode)
                 {
                     mSideQuestTree.mSelectedNode.Selected = false;
                 }
                 mSideQuestTree.mSelectedNode = findNode;
                 findNode.Selected            = true;
                 ReFlashMissionContent(findNode);
             }
         }
     }
 }
Exemplo n.º 16
0
    void ResetSelectBg(UIMissionNode node)
    {
        if (node.mParent == null)
        {
            return;
        }
        UIMissionNode parent = node.mParent;
        int           deepth = 0;

        while (parent != null)
        {
            deepth++;
            parent = parent.mParent;
        }
        Vector3 scale = node.mSpSelected.transform.localScale;

        node.mSpSelected.transform.localScale = new Vector3(scale.x - 30, scale.y, scale.z);
    }
Exemplo n.º 17
0
    void OnAddMissionView(UIMissionMgr.MissionView view)
    {
        if (view.mMissionTag && !ContainsMissionView(view))
        {
            UIMissionNode rootNode = mMissionTree.AddMissionNode(null, "", false, false, false);
            rootNode.mData = view;
            rootNode.mLbTitle.maxLineCount = 1;

            UIMissionNode tragetNode = mMissionTree.AddMissionNode(rootNode, "", false, false, false);
            tragetNode.mData = view.mTargetList;
            tragetNode.mLbTitle.maxLineCount = 0;

            UpdateNodeText(rootNode);
            UpdateNodeText(tragetNode);

            Sort();

            rootNode.ChangeExpand();
        }
    }
Exemplo n.º 18
0
    void OnChangeSelectedNode(object sender)
    {
        UIMissionNode node = sender as UIMissionNode;

        if (node == null || node == mSelectedNode)
        {
            return;
        }

        if (mSelectedNode != null)
        {
            mSelectedNode.Selected = false;
        }
        node.Selected = true;
        mSelectedNode = node;

        if (e_ChangeSelectedNode != null)
        {
            e_ChangeSelectedNode(mSelectedNode);
        }
    }
Exemplo n.º 19
0
    void AddMission(UIMissionMgr.MissionView misView)
    {
        UIMissionNode node = null;

        if (misView.mMissionType == MissionType.MissionType_Main ||
            misView.mMissionType == MissionType.MissionType_Time)
        {
            node = mMainStroyTree.AddMissionNode(null, misView.mMissionTitle);
        }
        else if (misView.mMissionType == MissionType.MissionType_Sub)
        {
            node = mSideQuestTree.AddMissionNode(null, misView.mMissionTitle);
        }

        node.mCheckBoxTag.isChecked = misView.mMissionTag;
        node.mData        = misView;
        node.e_BtnDelete += MissionNodeOnDelete;
        node.e_CheckedTg += MissionNodeOnCheckTag;

        SelectMissionNode(node);
    }
Exemplo n.º 20
0
 public void DeleteMissionNode(UIMissionNode node)
 {
     if (node == null)
     {
         return;
     }
     for (int i = mNodes.Count - 1; i >= 0; i--)
     {
         if (i < mNodes.Count)
         {
             if (mNodes[i].mParent == node)
             {
                 mNodes.Remove(mNodes[i]);
             }
         }
     }
     mNodes.Remove(node);
     GameObject.Destroy(node.gameObject);
     node.gameObject.transform.parent = null;
     node = null;
     RepositionContent();
 }
Exemplo n.º 21
0
    void DeleteNode(object obj)
    {
        UIMissionNode node = obj as UIMissionNode;

        if (node)
        {
            ItemTrackData data = null;
            if (_nodeDataDic.ContainsKey(node))
            {
                data = _nodeDataDic[node];
                _nodeDataDic.Remove(node);
            }
            itemsTree.DeleteMissionNode(node);
            if (data != null && data.type == TrackType.Script)
            {
                if (ScriptTrackChanged != null)
                {
                    ScriptTrackChanged(data.scriptID, false);
                }
            }
        }
    }