예제 #1
0
        void UpdateChildrenCallback(int index, Transform trans)
        {
            HistroyGradePanelData hgpd = GameData.Instance.HistroyGradePanelData;
            HistroyGradeRoom      room = trans.GetComponent <HistroyGradeRoom>();

            room.GradeRoom = hgpd.GradeMessage[index];
            room.index     = index;
            room.UpdateShow();
        }
예제 #2
0
        /// <summary>
        /// 产生历史战绩的面板
        /// </summary>
        public void SpwanHistoryPanel()
        {
            //删除玩家的之前的面板
            HistroyGradeRoom[] rooms = GradeRect_Room.transform.Find("Content").GetComponentsInChildren <HistroyGradeRoom>();

            if (rooms.Length > 0)
            {
                for (int i = 0; i < rooms.Length; i++)
                {
                    Destroy(rooms[i].gameObject);
                }

                //return;
            }
            GradeRect_Room.transform.Find("Content").GetComponent <GridLayoutGroup>().enabled   = true;
            GradeRect_Room.transform.Find("Content").GetComponent <ContentSizeFitter>().enabled = true;



            HistroyGradePanelData hgpd = GameData.Instance.HistroyGradePanelData;
            int count = hgpd.GradeMessage.Count;

            if (count <= 0)
            {
                hgpd.isShowGrade_Room  = false;
                hgpd.isShowGrade_Round = false;
                UpdateShow();
            }



            //Debug.LogError("hgpd.GradeMessage:" + hgpd.GradeMessage.Count);
            if (count > 5)
            {
                for (int i = 0; i < 5; i++)
                {
                    GameObject go = Instantiate(Resources.Load <GameObject>("Lobby/HistroyGrade/HistroyGrade_Room"));
                    go.transform.SetParent(GradeRect_Room.transform.Find("Content"));
                    go.transform.localEulerAngles = Vector3.zero;
                    go.transform.localPosition    = new Vector3(go.transform.localPosition.x, go.transform.localPosition.y, 0);
                    go.transform.localScale       = Vector3.one;
                    go.name = "HistroyGrade_Room_" + i;
                }
                //初始化数据列表;
                infinityGridLayoutGroup = GradeRect_Room.transform.Find("Content").GetComponent <InfinityGridLayoutGroup>();
                infinityGridLayoutGroup.Init();
                //Invoke("SetAmount", 0.1f);
                infinityGridLayoutGroup.SetAmount(hgpd.GradeMessage.Count);
                infinityGridLayoutGroup.updateChildrenCallback = UpdateChildrenCallback;
            }
            else
            {
                for (int i = 0; i < count; i++)
                {
                    GameObject go = Instantiate(Resources.Load <GameObject>("Lobby/HistroyGrade/HistroyGrade_Room"));
                    go.transform.SetParent(GradeRect_Room.transform.Find("Content"));
                    go.transform.localEulerAngles = Vector3.zero;
                    go.transform.localPosition    = new Vector3(go.transform.localPosition.x, go.transform.localPosition.y, 0);
                    go.transform.localScale       = Vector3.one;
                    go.name = "HistroyGrade_Room_" + i;
                    HistroyGradeRoom room = go.GetComponent <HistroyGradeRoom>();
                    room.GradeRoom = hgpd.GradeMessage[i];
                    room.index     = i;
                    room.UpdateShow();
                }
            }
        }