Example #1
0
    public void Init(GameObject obj)
    {
        LoopListView.ArrangeType = ArrangeType;
        m_Content = LoopListView.transform.Find("Viewport/Content");
        GameObject insObj = Instantiate(obj);

        ItemName = insObj.name = "Item";
        RectTransform rt = insObj.GetComponent <RectTransform>();

        rt.anchorMin = new Vector2(0, 1f);
        rt.anchorMax = new Vector2(0, 1f);
        rt.pivot     = new Vector2(0, 1);
        insObj.transform.SetParent(m_Content);
        insObj.transform.localScale = Vector2.one;
        ItemPrefabConfData itemData = new ItemPrefabConfData();

        itemData.mItemPrefab      = insObj;
        itemData.mPadding         = SpacingY;
        itemData.mInitCreateCount = 0;
        itemData.mStartPosOffset  = SpacingX;
        List <ItemPrefabConfData> list = new List <ItemPrefabConfData>();

        list.Add(itemData);
        LoopListView.mItemPrefabDataList = list;

        DataManger = new ScrollViewData();
        DataManger.TotalDataCount = TotalCount;
        DataManger.Init();
        LoopListView.InitListView(DataManger.TotalDataCount, OnGetItemByIndex);
    }
Example #2
0
    void OnEnable()
    {
        myInstance = (ScrollViewData)Resources.Load("ScrollViewData") as ScrollViewData;
        if (myInstance == null)
        {
            myInstance = CreateInstance <ScrollViewData> ();
            AssetDatabase.CreateAsset(myInstance, "Assets/Resources/ScrollViewData.asset");
            AssetDatabase.SaveAssets();
            AssetDatabase.Refresh();
        }

        transformOfCubes = myInstance.transformOfCubes;
        gapBetweenCubes  = myInstance.gapBetweenCubes;
    }
Example #3
0
    public void Init(GameObject obj)
    {
        LoopListView.ArrangeType = ArrangeType;
        m_Content = LoopListView.transform.Find("Viewport/Content");
        //滑动列表 Content Rect
        Rect svRt = m_Content.GetComponent <RectTransform>().rect;

        ItemName = "Container";
        GameObject container = new GameObject(ItemName);
        //GameObject itemObj = Resources.Load<GameObject>("UIPrefab/Item_01");
        GameObject    itemObj  = obj;
        Rect          itemRect = itemObj.GetComponent <RectTransform>().rect;
        float         height   = itemRect.height;
        RectTransform rt       = container.AddComponent <RectTransform>();

        rt.sizeDelta = new Vector2(svRt.width, height);
        row          = Mathf.FloorToInt((svRt.width + SpacingX) / (itemRect.width + SpacingX));
        for (int i = 0; i < row; i++)
        {
            GameObject insObj = Instantiate(itemObj);
            insObj.transform.SetParent(container.transform);
            insObj.transform.localScale    = Vector2.one;
            insObj.transform.localPosition = new Vector2(-(svRt.width / 2 - itemRect.width / 2) + i * (itemRect.width + SpacingX), 0);
        }
        container.transform.SetParent(m_Content);
        //container.transform.localPosition = Vector3.zero;
        container.transform.localScale = Vector3.one;
        switch (LoopListView.ArrangeType)
        {
        case ListItemArrangeType.TopToBottom:
        case ListItemArrangeType.BottomToTop:
            rt.anchorMin = new Vector2(0, 1f);
            rt.anchorMax = new Vector2(0, 1f);
            rt.pivot     = new Vector2(0, 1);
            break;

        case ListItemArrangeType.LeftToRight:
        case ListItemArrangeType.RightToLeft:

            break;
        }
        ItemPrefabConfData itemData = new ItemPrefabConfData();

        itemData.mItemPrefab      = container;
        itemData.mPadding         = SpacingY;
        itemData.mInitCreateCount = 0;
        itemData.mStartPosOffset  = SpacingX;

        List <ItemPrefabConfData> list = new List <ItemPrefabConfData>();

        list.Add(itemData);
        LoopListView.mItemPrefabDataList = list;


        DataManger = new ScrollViewData();
        DataManger.TotalDataCount = TotalCount;
        int count = DataManger.TotalDataCount / row;

        if (DataManger.TotalDataCount % row > 0)
        {
            count++;
        }
        DataManger.Init();
        //mLoopListView.InitListView(DataSourceMgr.Get.TotalItemCount, OnGetItemByIndex);
        LoopListView.InitListView(count, OnGetItemByIndex);
    }