Beispiel #1
0
    // ...wTeamNum个(SMsgTeamProp_SC+队伍的上下文)


    public static SMsgTeamNum_SC ParsePackage(byte[] dataBuffer)
    {
        SMsgTeamNum_SC sMsgTeamNum = new SMsgTeamNum_SC();

        sMsgTeamNum.wTeamNum      = BitConverter.ToUInt16(dataBuffer, 0);
        sMsgTeamNum.SMsgTeamProps = new SMsgTeamProp_SC[sMsgTeamNum.wTeamNum];

        int offset = 0;

        //sMsgTeamNum.SMsgTeamProps.ApplyAllItem(p =>
        //    {
        //        //p = p.ParsePackage(dataBuffer, 0 + 2 + offset);
        //        //offset += p.wContextLen;
        //        offset += Marshal.SizeOf(p);
        //    });
        for (int i = 0; i < sMsgTeamNum.wTeamNum; i++)
        {
            sMsgTeamNum.SMsgTeamProps[i] = SMsgTeamProp_SC.ParsePackage(dataBuffer, 0 + 2 + offset);
            int memberNum = sMsgTeamNum.SMsgTeamProps[i].TeamMemberNum_SC.SMsgTeamPropMembers.Length;
            for (int j = 0; j < memberNum; j++)
            {
                offset += sMsgTeamNum.SMsgTeamProps[i].TeamMemberNum_SC.SMsgTeamPropMembers[j].wContextLen + 1 + 2; //加上每个队员信息长度
            }
            //sMsgTeamNum.SMsgTeamProps[i].TeamMemberNum_SC.SMsgTeamPropMembers.ApplyAllItem(p =>
            //    {
            //        offset += p.wContextLen + 1 + 2;    //加上每个队员信息长度
            //    });
            offset += 2;                                                //队员数量数据长度
            offset += sMsgTeamNum.SMsgTeamProps[i].wContextLen + 1 + 2; //队伍信息长度
        }

        return(sMsgTeamNum);
    }
Beispiel #2
0
        void CreateTeamInfoItemsHandle(INotifyArgs e)
        {
            SMsgTeamNum_SC sMsgTeamNum = (SMsgTeamNum_SC)e;

            //ShowWorldTeamInfo();
            TeamOrganizePanel.CreateTeamInfoItems(sMsgTeamNum);
        }
Beispiel #3
0
        //为了队员摄像机创建安全
        IEnumerator CreateTeamLater(SMsgTeamNum_SC sMsgTeamNum)
        {
            yield return(new WaitForEndOfFrame());

            bool isInTeamRoomPanel = TeamRoomPanel.IsInTeamRoomPanel();

            TeamRoomPanel.UpdateTeammateInfo(sMsgTeamNum);
            if (!isInTeamRoomPanel)
            {
                //检查背包
                TeamRoomPanel.CheckBackpack();
            }
        }
Beispiel #4
0
    CommandCallbackType ReceiveTeamListHandle(byte[] dataBuffer, int socketId)
    {
        SMsgTeamNum_SC sTeamNum = SMsgTeamNum_SC.ParsePackage(dataBuffer);

        //sTeamNum.SMsgTeamProps.ApplyAllItem(p=>
        //  {
        //      TeamManager.Instance.RegisteMember(p);
        //  }
        //);

        RaiseEvent(EventTypeEnum.TeamList.ToString(), sTeamNum);

        return(CommandCallbackType.Continue);
    }
Beispiel #5
0
        void CreateTeamHandle(INotifyArgs e)
        {
            SMsgTeamNum_SC sMsgTeamNum = (SMsgTeamNum_SC)e;

            //设置标题
            var  ectypeData   = EctypeConfigManager.Instance.EctypeSelectConfigList[sMsgTeamNum.SMsgTeamProps[0].TeamContext.dwEctypeId];
            bool isNormalType = ectypeData.lEctypeType != 9;

            TitleBar_Team.SetActive(isNormalType);
            TitleBar_Crusade.SetActive(!isNormalType);

            TeamListPanel.LastPanel = (TeamListPanel_V2.PANEL_TYPE)(isNormalType == true ? 0 : 1);
            ShowMyTeamInfo();

            StartCoroutine(CreateTeamLater(sMsgTeamNum));
        }
Beispiel #6
0
    //队伍创建
    CommandCallbackType ReceiveTeamCreateHandle(byte[] dataBuffer, int socketId)
    {
        SMsgTeamNum_SC sTeamNum = SMsgTeamNum_SC.ParsePackage(dataBuffer);

        //TraceUtil.Log("创建队伍: 队伍数量 = " + sTeamNum.wTeamNum);
        //sTeamNum.SMsgTeamProps.ApplyAllItem(p =>
        //    {
        //        //TraceUtil.Log("队员数量 = "+p.TeamMemberNum_SC.wMemberNum);
        //        //TraceUtil.Log("队长id = "+p.TeamContext.dwCaptainId + " 队伍id = "+p.TeamContext.dwId);
        //        p.TeamMemberNum_SC.SMsgTeamPropMembers.ApplyAllItem(k =>
        //            {
        //                //TraceUtil.Log("队员dwActorID = " + k.TeamMemberContext.dwActorID);
        //                //TraceUtil.Log("队员 头像 = " + k.TeamMemberContext.byKind);
        //            });
        //    });

        RaiseEvent(EventTypeEnum.TeamCreate.ToString(), sTeamNum);

        return(CommandCallbackType.Continue);
    }
Beispiel #7
0
    //队员加入
    CommandCallbackType ReceiveTeamMemberJoinHandle(byte[] dataBuffer, int socketId)
    {
        SMsgTeamNum_SC sTeamNum = SMsgTeamNum_SC.ParsePackage(dataBuffer);

        if (GameManager.Instance.CurrentState == GameManager.GameState.GAME_STATE_TOWN)
        {
            if (!TeamManager.Instance.IsTeamExist())
            {
                UI.MainUI.MainUIController.Instance.OpenMainUI(UI.MainUI.UIType.TeamInfo, 1);
            }

            //提示
            if (TeamManager.Instance.MyTeamProp.TeamMemberNum_SC.wMemberNum > 0)
            {
                TeamManager.Instance.MyTeamProp.TeamMemberNum_SC.SMsgTeamPropMembers.ApplyAllItem(p => {
                    sTeamNum.SMsgTeamProps[0].TeamMemberNum_SC.SMsgTeamPropMembers.ApplyAllItem(k => {
                        if (k.TeamMemberContext.dwActorID != p.TeamMemberContext.dwActorID)
                        {
                            MessageBox.Instance.ShowTips(4, string.Format(LanguageTextManager.GetString("IDS_I13_28"), k.TeamMemberContext.szName), 1f);
                        }
                    });
                });
            }
            RaiseEvent(EventTypeEnum.TeamCreate.ToString(), sTeamNum);
        }
        else
        {
            //副本重连情况下
            //TraceUtil.Log("======副本重连情况下=======");
            //var teamProp = sTeamNum.SMsgTeamProps[0];
            //TeamManager.Instance.RegisteTeam(teamProp);
        }
        var teamProp = sTeamNum.SMsgTeamProps[0];

        TeamManager.Instance.RegisteTeam(teamProp);
        return(CommandCallbackType.Continue);
    }
Beispiel #8
0
        void CreateTeamHandle(INotifyArgs e)
        {
            SMsgTeamNum_SC sMsgTeamNum = (SMsgTeamNum_SC)e;

            StartCoroutine(CreateTeamLater(sMsgTeamNum));
        }
Beispiel #9
0
        public void UpdateTeammateInfo(SMsgTeamNum_SC sMsgTeamNum)
        {
            var teamProp = sMsgTeamNum.SMsgTeamProps[0];

            TeamManager.Instance.RegisteTeam(teamProp);
            TeamManager.Instance.SetCurSelectEctypeContainerData(EctypeConfigManager.Instance.EctypeSelectConfigList[teamProp.TeamContext.dwEctypeId]);

            var playerData = PlayerManager.Instance.FindHeroDataModel();
            //var propMembers = teamProp.TeamMemberNum_SC.SMsgTeamPropMembers.Where(p => p.TeamMemberContext.dwActorID != playerData.ActorID).ToArray();
            var propMembers = teamProp.TeamMemberNum_SC.SMsgTeamPropMembers;
            int teammateNum = propMembers.Length;

            if (EctypeIcon != null)
            {
                Destroy(EctypeIcon);
            }
            int ectypeID          = EctypeConfigManager.Instance.EctypeSelectConfigList[teamProp.TeamContext.dwEctypeId]._vectContainer[teamProp.TeamContext.dwEctypeIndex - 1];
            var containerIconData = TownEctypeResDataManager.Instance.GetEctypeContainerResData(ectypeID);

            EctypeIcon = UI.CreatObjectToNGUI.InstantiateObj(containerIconData.EctypeIconPrefab, EctypeIconPoint);
            EctypeIcon.transform.localPosition = Vector3.back * 2;
            EctypeIcon.AddComponent <UIPanel>();

            //难度
            string hardStr = teamProp.TeamContext.byEctypeDifficulty == 0 ? "IDS_I13_10" : "IDS_I13_11";

            Label_Hard.text = LanguageTextManager.GetString(hardStr);

            //队长风格
            bool isCaptain = false;

            if (teamProp.TeamContext.dwCaptainId == playerData.ActorID)
            {
                ShowCaptainInterface();
                isCaptain = true;
            }
            else
            {
                ShowMemberInterface();
            }

            //初始化 hero model views
            if (m_MemberHeroViews == null)
            {
                m_TeamMemberViewCamera = (GameObject)Instantiate(TeamCamaraRoot);
                m_TeamMemberViewCamera.transform.localPosition = new Vector3(0, 0, 10);                //z为10避免看到town的label
                m_MemberHeroViews = m_TeamMemberViewCamera.GetComponentsInChildren <ContainerHeroView>();
            }

            //m_TeamMemberViewCamera.SetActive(true);

            if (MainUIController.Instance.CurrentUIStatus == UIType.TeamInfo)           //隐藏面板时不显示队员
            {
                SetTeamHeroView(true);
            }

//			var camera = m_TeamMemberViewCamera.GetComponentInChildren<Camera>();
//			camera.enabled = true;

            //EctypeSelectConfigData ectypeData = null;

            //\
            //ectypeData = EctypeConfigManager.Instance.EctypeSelectConfigList[teamProp.TeamContext.dwEctypeId];
            //var ectypeID = ectypeData._vectContainer[teamProp.TeamContext.byEctypeDifficulty - 1];
            var ectypeInfo = EctypeConfigManager.Instance.EctypeContainerConfigList[ectypeID];


            AreaTitleLabel.text = LanguageTextManager.GetString(ectypeInfo.lEctypeName);            //更新标题
            //等级
            Label_Level.text = ectypeInfo.lMinActorLevel.ToString() + LanguageTextManager.GetString("IDS_H1_156");

            m_MemberList.ApplyAllItem(p => {
                if (p != null)
                {
                    Destroy(p.gameObject);
                }
            });
            m_MemberList.Clear();

            int teamCombat = 0;
            //自己模型放在最前面
            List <SMsgTeamPropMember_SC> sortList = new List <SMsgTeamPropMember_SC>();

            for (int i = 0; i < propMembers.Length; i++)
            {
                if (propMembers[i].TeamMemberContext.dwActorID == playerData.ActorID)
                {
                    sortList.Insert(0, propMembers[i]);
                }
                else
                {
                    sortList.Add(propMembers[i]);
                }
            }

            for (int i = 0; i < teammateNum; i++)
            {
                GameObject            roomMemberItem        = UI.CreatObjectToNGUI.InstantiateObj(TeamRoomMemberItemPrefab, FirstMemberPoint);
                TeamRoomMemberItem_V2 teamRoomMemberItem_V2 = roomMemberItem.GetComponent <TeamRoomMemberItem_V2>();
                teamRoomMemberItem_V2.transform.localPosition = Vector3.right * m_MemberInfoSpacing * i;
                bool isCaptaionPos = teamProp.TeamContext.dwCaptainId == sortList[i].TeamMemberContext.dwActorID;
                teamRoomMemberItem_V2.SetInfo(sortList[i].TeamMemberContext, ectypeInfo, isCaptain, isCaptaionPos);
                m_MemberList.Add(teamRoomMemberItem_V2);
                //显示hero model view
                m_MemberHeroViews[i].ShowHeroModelView((int)sortList[i].TeamMemberContext.dwActorID, sortList[i].TeamMemberContext.byKind, sortList[i].TeamMemberContext.nFashionID
                                                       , sortList[i].TeamMemberContext.nCurWeaponID);

                if (m_lastMembersList.Count > 0)
                {
                    if (!m_lastMembersList.Any(p => p.TeamMemberContext.dwActorID == sortList[i].TeamMemberContext.dwActorID))
                    {
                        m_MemberHeroViews[i].PlayJoinInAnimation();
                    }
                }
                else
                {
                    m_MemberHeroViews[0].PlayJoinInAnimation();
                }


                teamCombat += sortList[i].TeamMemberContext.fightNum;
            }

            //队伍功力
            Label_MyCombat.text        = teamCombat.ToString();
            Label_RecommendCombat.text = ectypeInfo.FightingCapacity.ToString();
            //消耗
            Swith_Consume.ChangeSprite(ectypeInfo.lCostType);            //消耗类型
            Label_Consume.text = ectypeInfo.lCostEnergy.ToString();

            //如果是队长,更新邀请请离按钮
            if (isCaptain)
            {
                ResetButtons();
            }
            else
            {
                //自身是队员 判断准备按钮是否置灰
                var myTeamData = teamProp.TeamMemberNum_SC.SMsgTeamPropMembers.SingleOrDefault(p => p.TeamMemberContext.dwActorID == playerData.ActorID);
//				if (myTeamData.TeamMemberContext.byFightReady == 1)
//				{
////					MemberReadyButton.SetButtonStatus(true);
////					MemberReadyButton.SetButtonTextColor(m_greyColor);
////					MemberReadyButton.animation.Stop();
//					var uisprites = MemberReadyButton.GetComponentsInChildren<UISprite>();
//					uisprites.ApplyAllItem(p=>p.alpha = 0.5f);
//					MemberReadyButton.SetBoxCollider(false);
//				}
                bool isReady = myTeamData.TeamMemberContext.byFightReady == 1;
                MemberReadyButton.gameObject.SetActive(!isReady);
                MemberCancelReadyButton.gameObject.SetActive(isReady);
            }

            //判断是否全员准备
            bool isAllReady = true;

            teamProp.TeamMemberNum_SC.SMsgTeamPropMembers.ApplyAllItem(p =>
            {
                //TraceUtil.Log("[Weapean ID]"+p.TeamMemberContext.nCurWeaponID);
                if (p.TeamMemberContext.byFightReady == 0)
                {
                    isAllReady = false;
                }
            });
            if (isAllReady)
            {
                CaptainStartButtonEff.SetActive(true);
                //CaptainStartButton.animation.Play();
            }
            else
            {
                CaptainStartButtonEff.SetActive(false);
                //CaptainStartButton.animation.Stop();
            }

            //队长如果是邀请界面
            if (TeamInvitePanel.IsShow())
            {
                TeamInvitePanel.FilterFriendList();
            }

            //记录当前的队员信息
            m_lastMembersList.Clear();
            m_lastMembersList.AddRange(propMembers);
        }
Beispiel #10
0
        public void UpdateTeammateInfo(SMsgTeamNum_SC sMsgTeamNum)
        {
            var teamProp = sMsgTeamNum.SMsgTeamProps[0];

            TeamManager.Instance.RegisteTeam(teamProp);

            int teammateNo = 0;
            var playerData = PlayerManager.Instance.FindHeroDataModel();
            //var propMembers = teamProp.TeamMemberNum_SC.SMsgTeamPropMembers.Where(p => p.TeamMemberContext.dwActorID != playerData.ActorID).ToArray();
            var propMembers = teamProp.TeamMemberNum_SC.SMsgTeamPropMembers;
            int teammateNum = propMembers.Length;

            //队长风格
            bool isCaptain = false;

            if (teamProp.TeamContext.dwCaptainId == playerData.ActorID)
            {
                ShowCaptainInterface();
                isCaptain = true;
            }
            else
            {
                ShowMemberInterface();
            }

            //初始化 hero model views
            if (m_MemberHeroViews == null)
            {
                m_TeamMemberViewCamera = (GameObject)Instantiate(TeamCamaraRoot);
                //m_TeamMemberViewCamera.transform.parent = transform;
                //m_TeamMemberViewCamera.transform.localScale = Vector3.one;
                //m_TeamMemberViewCamera.transform.localPosition = new Vector3(-2000, 0, 0);
                m_TeamMemberViewCamera.transform.localPosition = new Vector3(0, 0, 10);//z为10避免看到town的label
                m_MemberHeroViews = m_TeamMemberViewCamera.GetComponentsInChildren <ContainerHeroView>();
            }
            m_TeamMemberViewCamera.SetActive(true);
            var camera = m_TeamMemberViewCamera.GetComponentInChildren <Camera>();

            camera.enabled = true;

            EctypeSelectConfigData ectypeData = null;

            ectypeData = EctypeConfigManager.Instance.EctypeSelectConfigList[teamProp.TeamContext.dwEctypeId];
            var ectypeID   = ectypeData._vectContainer[teamProp.TeamContext.byEctypeDifficulty - 1];
            var ectypeInfo = EctypeConfigManager.Instance.EctypeContainerConfigList[ectypeID];

            AreaTitleLabel.text = LanguageTextManager.GetString(ectypeInfo.lEctypeName);//更新标题

            mTeamMemberList.ApplyAllItem(p =>
            {
                if (teammateNo < teammateNum)
                {
                    p.SetInfo(propMembers[teammateNo].TeamMemberContext, ectypeInfo);
                    //显示hero model view
                    m_MemberHeroViews[teammateNo].ShowHeroModelView((int)propMembers[teammateNo].TeamMemberContext.dwActorID, propMembers[teammateNo].TeamMemberContext.byKind, propMembers[teammateNo].TeamMemberContext.nFashionID
                                                                    , propMembers[teammateNo].TeamMemberContext.nCurWeaponID);
                }
                else
                {
                    p.Close();
                }

                teammateNo++;
            });

            //如果是队长,更新邀请请离按钮
            if (isCaptain)
            {
                ResetButtons();

                //
                if (teamProp.TeamContext.byCurNum <= 1)
                {
                    ExplanationLabel.text = LanguageTextManager.GetString("IDS_H1_171");
                }
                else
                {
                    ExplanationLabel.text = LanguageTextManager.GetString("IDS_H1_170");
                }
            }
            else
            {
                ExplanationLabel.text = "";

                //自身是队员 判断准备按钮是否置灰
                var myTeamData = teamProp.TeamMemberNum_SC.SMsgTeamPropMembers.SingleOrDefault(p => p.TeamMemberContext.dwActorID == playerData.ActorID);
                if (myTeamData.TeamMemberContext.byFightReady == 1)
                {
                    MemberReadyButton.SetButtonStatus(true);
                    MemberReadyButton.SetButtonTextColor(m_greyColor);
                    MemberReadyButton.SetButtonActive(false);
                    MemberReadyButton.animation.Stop();
                }
            }

            //判断是否全员准备
            bool isAllReady = true;

            teamProp.TeamMemberNum_SC.SMsgTeamPropMembers.ApplyAllItem(p =>
            {
                //TraceUtil.Log("[Weapean ID]"+p.TeamMemberContext.nCurWeaponID);
                if (p.TeamMemberContext.byFightReady == 0)
                {
                    isAllReady = false;
                }
            });
            if (isAllReady)
            {
                CaptainStartButton.animation.Play();
            }
            else
            {
                CaptainStartButton.animation.Stop();
            }

            /*
             *
             * //挑战界面信息
             * var challengeData = TeamManager.Instance.CurrentEctypeLevelData;
             * ComboLabel.text = ComboFTx + (challengeData.wHighestCombo == 0 ? "" : challengeData.wHighestCombo.ToString());
             *
             * //通关时间
             * int Passtime = (int)challengeData.dwBestClearTime;
             * int Minutes = Passtime / 60000;
             * int Second = Passtime % 60000 / 1000;
             * int MS = Passtime % 60000 % 1000 / 10;
             * string PassTime = string.Format("{0}:{1}:{2}", Minutes, Second, MS);
             *
             * TimeLabel.text = TimeFTx + (PassTime == "0:0:0" ? "" : PassTime);
             *
             * //TimeLabel.text = TimeFTx + challengeData.dwBestClearTime.ToString();
             *
             */


            //\如果一开始就有队伍,这里索取的值为空
            if (ectypeData != null)
            {
                ectypeData.InitectContainer();
                int containerID = ectypeData.GetVectContainer(teamProp.TeamContext.byEctypeDifficulty);
                var localEctypeContainerData = EctypeConfigManager.Instance.EctypeContainerConfigList[containerID];

                if (localEctypeContainerData != null)
                {
                    ExpLabel.text    = ExpFTx + localEctypeContainerData.lExperience.ToString();
                    CopperLabel.text = CopperFTx + localEctypeContainerData.lMoney.ToString();

                    TitleLabel.text = LanguageTextManager.GetString(localEctypeContainerData.lEctypeName);

                    //储存副本信息
                    TeamManager.Instance.SetEctypeData(new SMSGEctypeData_SC()
                    {
                        //Todo:onSelectEctypeData协议已经取消dwEctypeID和byDiff难度,如果使用需要从新更改
//                        dwEctypeID = (uint)ectypeData._lEctypeID,
//                        byDiff = (byte)localEctypeContainerData.lDifficulty
                    });
                }

                CostTypeSpriteSwith.ChangeSprite(localEctypeContainerData.lCostType);//消耗类型
                ActiveCostLabel.text = ActiveCostFTx + localEctypeContainerData.lCostEnergy.ToString();
            }


            //队长如果是邀请界面
            if (TeamInvitePanel.gameObject.activeInHierarchy)
            {
                TeamInvitePanel.ShowFriendList();
            }
        }
Beispiel #11
0
        public void CreateTeamInfoItems(SMsgTeamNum_SC sMsgTeamNum)
        {
            mItemNum = sMsgTeamNum.wTeamNum;    //队伍数量

            if (mItemNum <= 0)
            {
                NoneTeamTip.SetActive(true);
            }
            else
            {
                NoneTeamTip.SetActive(false);
            }

            /*
             * if (mItemNum > TeamInfoItemList.Count)
             * {
             *  int addNum = mItemNum - TeamInfoItemList.Count;
             *  for (int i = 0; i < addNum; i++)
             *  {
             *      GameObject obj = ((GameObject)Instantiate(ATeamInfoItem.gameObject));
             *      TeamInfoItem item = obj.GetComponent<TeamInfoItem>();
             *      item.InitInfo(i, MyUIGrid.transform);
             *      TeamInfoItemList.Add(item);
             *
             *      //\
             *      item.UpdateInfo(sMsgTeamNum.SMsgTeamProps[i]);
             *  }
             *  //TeamInfoItemList.ApplyAllItem(p => p.UpdateInfo());
             * }
             * else
             * {
             *  int num = 0;
             *  TeamInfoItemList.ApplyAllItem(p =>
             *  {
             *      if (num < mItemNum)
             *      {
             *          //\
             *          p.UpdateInfo(sMsgTeamNum.SMsgTeamProps[num]);
             *      }
             *      else
             *      {
             *          p.Close();
             *      }
             *      num++;
             *  });
             * }
             * //排列
             * MyUIGrid.repositionNow = true;
             *
             */
            #region new page

            /*
             * if (mItemNum > TeamInfoItemList.Count)
             * {
             *  int addNum = mItemNum - TeamInfoItemList.Count;
             *  for (int i = 0; i < addNum; i++)
             *  {
             *      GameObject obj = ((GameObject)Instantiate(ATeamInfoItem.gameObject));
             *      TeamInfoItem item = obj.GetComponent<TeamInfoItem>();
             *      item.InitInfo(i, ItemPageManager_Team.transform);
             *      TeamInfoItemList.Add(item);
             *      item.UpdateInfo(sMsgTeamNum.SMsgTeamProps[i]);
             *  }
             * }
             * else
             * {
             *  int num = 0;
             *  TeamInfoItemList.ApplyAllItem(p =>
             *  {
             *      if (num < mItemNum)
             *      {
             *          p.UpdateInfo(sMsgTeamNum.SMsgTeamProps[num]);
             *      }
             *      else
             *      {
             *          p.Close();
             *      }
             *      num++;
             *  });
             * }
             */
            #endregion

            TeamInfoItemList.ApplyAllItem(p =>
            {
                Destroy(p.gameObject);
            });
            TeamInfoItemList.Clear();
            for (int i = 0; i < mItemNum; i++)
            {
                GameObject   obj  = ((GameObject)Instantiate(ATeamInfoItem.gameObject));
                TeamInfoItem item = obj.GetComponent <TeamInfoItem>();
                item.InitInfo(i, ItemPageManager_Team.transform);
                TeamInfoItemList.Add(item);
                item.UpdateInfo(sMsgTeamNum.SMsgTeamProps[i]);
            }

            mItemNum = Mathf.Clamp(mItemNum, 1, 100);
            ItemPageManager_Team.InitPager(mItemNum, 1, 0);
        }
Beispiel #12
0
        public void CreateTeamInfoItems(SMsgTeamNum_SC sMsgTeamNum)
        {
            mItemNum = sMsgTeamNum.wTeamNum;                //队伍数量

            if (mItemNum <= 0)
            {
                NoneTeamTip.SetActive(true);
            }
            else
            {
                NoneTeamTip.SetActive(false);
            }

            /*
             * if (mItemNum > TeamInfoItemList.Count)
             * {
             * int addNum = mItemNum - TeamInfoItemList.Count;
             * for (int i = 0; i < addNum; i++)
             * {
             * GameObject obj = ((GameObject)Instantiate(ATeamInfoItem.gameObject));
             * TeamInfoItem item = obj.GetComponent<TeamInfoItem>();
             * item.InitInfo(i, MyUIGrid.transform);
             * TeamInfoItemList.Add(item);
             *
             * //\
             * item.UpdateInfo(sMsgTeamNum.SMsgTeamProps[i]);
             * }
             * //TeamInfoItemList.ApplyAllItem(p => p.UpdateInfo());
             * }
             * else
             * {
             * int num = 0;
             * TeamInfoItemList.ApplyAllItem(p =>
             * {
             * if (num < mItemNum)
             * {
             * //\
             * p.UpdateInfo(sMsgTeamNum.SMsgTeamProps[num]);
             * }
             * else
             * {
             * p.Close();
             * }
             * num++;
             * });
             * }
             * //排列
             * MyUIGrid.repositionNow = true;
             *
             */
            #region new page

            /*
             * if (mItemNum > TeamInfoItemList.Count)
             * {
             * int addNum = mItemNum - TeamInfoItemList.Count;
             * for (int i = 0; i < addNum; i++)
             * {
             * GameObject obj = ((GameObject)Instantiate(ATeamInfoItem.gameObject));
             * TeamInfoItem item = obj.GetComponent<TeamInfoItem>();
             * item.InitInfo(i, ItemPageManager_Team.transform);
             * TeamInfoItemList.Add(item);
             * item.UpdateInfo(sMsgTeamNum.SMsgTeamProps[i]);
             * }
             * }
             * else
             * {
             * int num = 0;
             * TeamInfoItemList.ApplyAllItem(p =>
             * {
             * if (num < mItemNum)
             * {
             * p.UpdateInfo(sMsgTeamNum.SMsgTeamProps[num]);
             * }
             * else
             * {
             * p.Close();
             * }
             * num++;
             * });
             * }
             */
            #endregion

            TeamInfoItemList.ApplyAllItem(p =>
            {
                if (p != null && p.gameObject != null)
                {
                    Destroy(p.gameObject);
                }
            });
            TeamInfoItemList.Clear();
            for (int i = 0; i < mItemNum; i++)
            {
                GameObject    obj  = UI.CreatObjectToNGUI.InstantiateObj(WorldTeamItemPrefab, Grid.transform);
                WorldTeamItem item = obj.GetComponent <WorldTeamItem>();
                //item.InitInfo(i);
                item.UpdateInfo(sMsgTeamNum.SMsgTeamProps[i]);
                item.PlayAppearAnimation((i - 1) * 0.1f);
                TeamInfoItemList.Add(item);
            }

            StartCoroutine("LateGridReposition");
        }