Пример #1
0
    void SetSelectMission(List <Mission> lst_mis)
    {
        mView.sizeDelta = new Vector2(mCanvas.sizeDelta.x, mView.sizeDelta.y);
        int sum_size = WIDTH_INTERVAL + lst_mis.Count * WIDTH_ITEM;

        mContent.sizeDelta = new Vector2(sum_size, WIDTH_ITEM);
        MoveToTop();

        for (int i = 0; i < lst_mis.Count; i++)
        {
            GameObject obj = GameObject.Instantiate(Resources.Load("ui/UIMissionEditorItem")) as GameObject;
            obj.transform.parent        = mContent.transform;
            obj.transform.localPosition = new Vector3(-sum_size / 2 + WIDTH_INTERVAL + WIDTH_ITEM * i, 0, 0);
            obj.transform.localScale    = Vector3.one;

            UIDailyMissionItem mission_item = obj.GetComponent <UIDailyMissionItem>();
            mission_item.SetMission(lst_mis[i]);
            mission_item.mBtnFinish.SetData("d", lst_mis[i]);
            mission_item.mBtnFinish.onClick     = BtnSelectOnClick;
            mission_item.mBtnFinish.onBeginDrag = ScrollOnBeginDrag;
            mission_item.mBtnFinish.onDrag      = ScrollOnDrag;
            mission_item.mBtnFinish.onEndDrag   = ScrollOnEndDrag;
        }
    }
Пример #2
0
    public void ShowMission(List <Mission> _lstmission)
    {
        mView.sizeDelta = new Vector2(mCanvas.sizeDelta.x, mCanvas.sizeDelta.y - VIEW_TOP);
        for (int i = 0; i < mListOldMission.Count; i++)
        {
            Destroy(mListOldMission[i].gameObject);
        }
        mListOldMission.Clear();

        for (int i = 0; i < mListNowMission.Count; i++)
        {
            Destroy(mListNowMission[i].gameObject);
        }
        mListNowMission.Clear();

        for (int i = 0; i < mListFinishedMission.Count; i++)
        {
            Destroy(mListFinishedMission[i].gameObject);
        }
        mListFinishedMission.Clear();

        List <Mission> lst_old      = new List <Mission>();
        List <Mission> lst_now      = new List <Mission>();
        List <Mission> lst_finished = new List <Mission>();

        int  sum_hight     = HEIGHT_ITEM * _lstmission.Count;
        bool have_old      = false;
        bool have_finished = false;
        bool have_now      = false;

        for (int i = 0; i < _lstmission.Count; i++)
        {
            Mission mis      = _lstmission[i];
            int     day_time = TimeConvert.NowDay();
            if (mis.IsFinished())
            {
                lst_finished.Add(mis);
                if (!have_finished)
                {
                    have_finished = true;
                    sum_hight    += HEIGHT_TEXT;
                }
            }
            else if (mis.IsOld())
            {
                lst_old.Add(mis);
                if (!have_old)
                {
                    have_old   = true;
                    sum_hight += HEIGHT_TEXT;
                }
            }
            else
            {
                lst_now.Add(mis);
                if (!have_now)
                {
                    have_now   = true;
                    sum_hight += HEIGHT_TEXT;
                }
            }
        }

        mScrollRect.content.sizeDelta = new Vector2(mCanvas.sizeDelta.x, sum_hight);

        if (mScrollRect.content.sizeDelta.y < mView.sizeDelta.y)
        {
            mView.sizeDelta = new Vector2(mView.sizeDelta.x, mScrollRect.content.sizeDelta.y);
            mView.transform.localPosition = new Vector3(0, (mCanvas.sizeDelta.y - mView.sizeDelta.y) / 2 - VIEW_TOP, 0);
        }
        else
        {
            mView.transform.localPosition = new Vector3(0, (mCanvas.sizeDelta.y - mView.sizeDelta.y) / 2 - VIEW_TOP, 0);
        }

        mScrollRect.CalculateLayoutInputVertical();
        //mScrollRect.Rebuild(CanvasUpdate.Layout);
        MoveToTop();

        sum_hight = sum_hight / 2;
        int y_pos = 0;

        if (lst_old.Count > 0)
        {
            mOldItemParent.SetActive(true);
            y_pos += HEIGHT_TEXT / 2;
            mOldItemParent.transform.localPosition = new Vector3(0, sum_hight - y_pos, 0);
            for (int i = 0; i < lst_old.Count; i++)
            {
                GameObject obj = GameObject.Instantiate(Resources.Load("ui/UIDailyMissionItem")) as GameObject;
                obj.transform.parent        = mOldItemParent.transform;
                obj.transform.localPosition = new Vector3(0, -HEIGHT_TEXT - HEIGHT_ITEM * i, 0);
                obj.transform.localScale    = Vector3.one;

                UIDailyMissionItem mission_item = obj.GetComponent <UIDailyMissionItem>();
                mission_item.SetMission(lst_old[i]);

                mission_item.mBtnBg.SetData("drag", 1);
                mission_item.mBtnBg.SetData("d", lst_old[i]);
                mission_item.mBtnBg.onBeginDrag = BtnItemOnBeginDrag;
                mission_item.mBtnBg.onDrag      = BtnItemOnDrag;
                mission_item.mBtnBg.onEndDrag   = BtnItemOnEndDrag;

                mission_item.mBtnFinish.SetData("d", lst_old[i]);
                mission_item.mBtnFinish.SetData("t", 1);
                mission_item.mBtnFinish.onClick = BtnMissionFinishOnClick;

                mission_item.mBtnFinish.SetData("drag", 1);
                mission_item.mBtnFinish.onBeginDrag = BtnItemOnBeginDrag;
                mission_item.mBtnFinish.onDrag      = BtnItemOnDrag;
                mission_item.mBtnFinish.onEndDrag   = BtnItemOnEndDrag;

                mission_item.mBtnCancel.SetData("d", lst_old[i]);
                mission_item.mBtnCancel.SetData("t", 1);
                mission_item.mBtnCancel.onClick = BtnMissionCancelOnClick;

                mission_item.mBtnCancel.SetData("drag", 1);
                mission_item.mBtnCancel.onBeginDrag = BtnItemOnBeginDrag;
                mission_item.mBtnCancel.onDrag      = BtnItemOnDrag;
                mission_item.mBtnCancel.onEndDrag   = BtnItemOnEndDrag;

                mission_item.mBtnDelete.SetData("d", lst_old[i]);
                mission_item.mBtnDelete.onClick = BtnMissionDeleteOnClick;
                mission_item.mBtnEditor.SetData("d", lst_old[i]);
                mission_item.mBtnEditor.onClick = BtnMissionEditorOnClick;
                mission_item.mDeleteEditorNode.gameObject.SetActive(false);

                mListOldMission.Add(mission_item);
            }
        }
        else
        {
            mOldItemParent.SetActive(false);
        }

        if (lst_now.Count > 0)
        {
            mNowItemParent.SetActive(true);
            y_pos += HEIGHT_INTERVAL;
            y_pos += lst_old.Count * HEIGHT_ITEM;
            mNowItemParent.transform.localPosition = new Vector3(0, sum_hight - y_pos, 0);
            //y_pos += HEIGHT_TEXT;
            for (int i = 0; i < lst_now.Count; i++)
            {
                GameObject obj = GameObject.Instantiate(Resources.Load("ui/UIDailyMissionItem")) as GameObject;
                obj.transform.parent        = mNowItemParent.transform;
                obj.transform.localPosition = new Vector3(0, -HEIGHT_TEXT - HEIGHT_ITEM * i, 0);
                obj.transform.localScale    = Vector3.one;

                UIDailyMissionItem mission_item = obj.GetComponent <UIDailyMissionItem>();
                mission_item.SetMission(lst_now[i]);

                mission_item.mBtnBg.SetData("drag", 1);
                mission_item.mBtnBg.SetData("d", lst_now[i]);
                mission_item.mBtnBg.onBeginDrag = BtnItemOnBeginDrag;
                mission_item.mBtnBg.onDrag      = BtnItemOnDrag;
                mission_item.mBtnBg.onEndDrag   = BtnItemOnEndDrag;

                mission_item.mBtnFinish.SetData("d", lst_now[i]);
                mission_item.mBtnFinish.SetData("t", 2);
                mission_item.mBtnFinish.onClick = BtnMissionFinishOnClick;

                mission_item.mBtnFinish.SetData("drag", 1);
                mission_item.mBtnFinish.onBeginDrag = BtnItemOnBeginDrag;
                mission_item.mBtnFinish.onDrag      = BtnItemOnDrag;
                mission_item.mBtnFinish.onEndDrag   = BtnItemOnEndDrag;

                mission_item.mBtnCancel.gameObject.SetActive(false);

                mission_item.mBtnDelete.SetData("d", lst_now[i]);
                mission_item.mBtnDelete.onClick = BtnMissionDeleteOnClick;
                mission_item.mBtnEditor.SetData("d", lst_now[i]);
                mission_item.mBtnEditor.onClick = BtnMissionEditorOnClick;
                mission_item.mDeleteEditorNode.gameObject.SetActive(false);

                mListNowMission.Add(mission_item);
            }
        }
        else
        {
            mNowItemParent.SetActive(false);
        }

        if (lst_finished.Count > 0)
        {
            mFinishedItemParent.SetActive(true);
            y_pos += HEIGHT_INTERVAL;
            y_pos += lst_now.Count * HEIGHT_ITEM;
            mFinishedItemParent.transform.localPosition = new Vector3(0, sum_hight - y_pos, 0);
            //y_pos += HEIGHT_TEXT;
            for (int i = 0; i < lst_finished.Count; i++)
            {
                GameObject obj = GameObject.Instantiate(Resources.Load("ui/UIDailyMissionItem")) as GameObject;
                obj.transform.parent        = mFinishedItemParent.transform;
                obj.transform.localPosition = new Vector3(0, -HEIGHT_TEXT - HEIGHT_ITEM * i, 0);
                obj.transform.localScale    = Vector3.one;

                UIDailyMissionItem mission_item = obj.GetComponent <UIDailyMissionItem>();
                mission_item.SetMission(lst_finished[i]);

                mission_item.mBtnBg.SetData("drag", 1);
                mission_item.mBtnBg.SetData("d", lst_finished[i]);
                mission_item.mBtnBg.onBeginDrag = BtnItemOnBeginDrag;
                mission_item.mBtnBg.onDrag      = BtnItemOnDrag;
                mission_item.mBtnBg.onEndDrag   = BtnItemOnEndDrag;

                mission_item.mBtnCancel.SetData("d", lst_finished[i]);
                mission_item.mBtnCancel.SetData("t", 3);
                mission_item.mBtnCancel.onClick = BtnMissionCancelOnClick;

                mission_item.mBtnCancel.SetData("drag", 1);
                mission_item.mBtnCancel.onBeginDrag = BtnItemOnBeginDrag;
                mission_item.mBtnCancel.onDrag      = BtnItemOnDrag;
                mission_item.mBtnCancel.onEndDrag   = BtnItemOnEndDrag;

                mission_item.mBtnFinish.gameObject.SetActive(false);
                mission_item.mBtnDelete.SetData("d", lst_finished[i]);
                mission_item.mBtnDelete.onClick = BtnMissionDeleteOnClick;
                mission_item.mBtnEditor.SetData("d", lst_finished[i]);
                mission_item.mBtnEditor.onClick = BtnMissionEditorOnClick;
                mission_item.mDeleteEditorNode.gameObject.SetActive(false);

                mListFinishedMission.Add(mission_item);
            }
        }
        else
        {
            mFinishedItemParent.SetActive(false);
        }
    }