Example #1
0
        public void OnClanLegendCupBtnClick()
        {
            cmd_clan_basedata cmdBasedata = LogicDataCenter.clanDataManager.ClanBaseData;
            int nSelfID = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID);

            if (cmdBasedata.lLegendCupID > 0)               // 比赛中
            {
                cmd_legendcup_view_single_cup cupdata = new cmd_legendcup_view_single_cup();
                cupdata.nLegendCupID = cmdBasedata.lLegendCupID;
                ViewEventHelper.Instance.SendCommand <cmd_legendcup_view_single_cup>(GameLogicDef.GVIEWCMD_LEGENDCUP_VIEW_SINGLE_CUP, ref cupdata);
            }
            else
            {
                if (nSelfID == cmdBasedata.nShaikhID)       // 免费发布、付费发布
                {
                    //UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_LEGENDCUP_CREATETYPE_SHOW, null);
                    // 直接选择联盟杯赛
                    cmd_legendcup_req_create_cup_type cupType = new cmd_legendcup_req_create_cup_type();
                    cupType.byLegendCupType = (byte)ELegendCupType.emCupType_Clan;      // 杯赛创建类型
                    cupType.nActorID        = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID);
                    ViewEventHelper.Instance.SendCommand <cmd_legendcup_req_create_cup_type>(GameLogicDef.GVIEWCMD_LEGENDCUP_CREATE_TYPE_REQ, ref cupType);
                }
                else                                        // 等待发布
                {
                    UIUtil.ShowSystemMessage(EMChatTipID.CHAT_TIP_LEGENDCUP_CLAN_WAIT_SHAIKH_CREATE);
                }
            }
        }
Example #2
0
        private void SetTailFrameButtonVisible(ClanListFrameButtonType frameButton)
        {
            cmd_clan_basedata cmdBasedata = LogicDataCenter.clanDataManager.ClanBaseData;
            int nSelfID = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID);

            switch (frameButton)
            {
            case ClanListFrameButtonType.BTN_CLAN_MEMBER:
                if (nSelfID == LogicDataCenter.clanDataManager.ClanBaseData.nShaikhID)
                {
                    dismissClanBtn.gameObject.SetActive(true);
                    acceptMemberBtn.gameObject.SetActive(true);
                }
                else
                {
                    dismissClanBtn.gameObject.SetActive(false);
                    acceptMemberBtn.gameObject.SetActive(false);
                }
                quitClanBtn.gameObject.SetActive(true);
                break;

            case ClanListFrameButtonType.BTN_CLAN_DONATE:
            case ClanListFrameButtonType.BTN_CLAN_EVENT:
            case ClanListFrameButtonType.BTN_CLAN_TIP:
                dismissClanBtn.gameObject.SetActive(false);
                acceptMemberBtn.gameObject.SetActive(false);
                quitClanBtn.gameObject.SetActive(false);
                break;

            default:
                break;
            }
        }
Example #3
0
        public void OnRecvClanBaseData(IntPtr ptr, int nLen)
        {
            IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptr, nLen);

            m_clanBaseData = helper.get <cmd_clan_basedata>();

            m_clanMemberData.Clear();
            for (int i = 0; i < m_clanBaseData.nMemberCount; ++i)
            {
                cmd_clan_memberlist cmdMemberlist = helper.get <cmd_clan_memberlist>();
                m_clanMemberData.Add(cmdMemberlist);
            }
            SortClanMember();

            m_clanApplyMemberData.Clear();
            for (int i = 0; i < m_clanBaseData.nApplyMemberNum; ++i)
            {
                cmd_clan_applymember cmdApplyMemberlist = helper.get <cmd_clan_applymember>();
                m_clanApplyMemberData.Add(cmdApplyMemberlist);
            }

            UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_CLAN_BASEDATA, null);
            UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_CLAN_UPDATEMEMBER, null);
            UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_CLAN_APPLY_MEMBER_TIP, null);
        }
Example #4
0
        public void OnRecvClanSetBaseData(IntPtr ptr, int nLen)
        {
            IntPtrVaArgParseHelper helper = new IntPtrVaArgParseHelper(ptr, nLen);

            m_clanBaseData = helper.get <cmd_clan_basedata>();
            m_clanBaseData.nMemberCount    = m_clanMemberData.Count;
            m_clanBaseData.nApplyMemberNum = (byte)m_clanApplyMemberData.Count;

            UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_CLAN_BASEDATA, null);
            UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_CLAN_UPDATEMEMBER, null);
        }
Example #5
0
        public void OnRecvClanQuit()
        {
            m_clanBaseData = new cmd_clan_basedata();
            // 这里特别变态,处理一下,置空一下帮会ID,界面显示值等服务器到已经晚了
            U3D_Render.EntityView ev = EntityFactory.getMainPlayer();
            if (ev != null)
            {
                // 设置数值属性
                entity_update_Numproperty updatePropData;
                updatePropData.nOtherData      = 0;     // 状态数据
                updatePropData.uID             = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_UID);
                updatePropData.nPBUID          = ev.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID);
                updatePropData.nPropID         = (int)ENTITY_PROPERTY.PROPERTY_CLAN;
                updatePropData.nValue          = 0;
                updatePropData.isIntproperty   = 1;
                updatePropData.isRaiseIprEvent = 1;
                ev.OnCommand_UpdateNumProp(updatePropData);
            }

            // 退出联盟处理,显示联盟列表
            UISystem.Instance.SendWndMessage(WndMsgID.WND_MSG_CLAN_SHOWCLANLIST, null);
        }
Example #6
0
        public void OnUpdateClanBaseData()
        {
            cmd_clan_basedata cmdBasedata = LogicDataCenter.clanDataManager.ClanBaseData;

            clanInfoName.text = String.Format("{0}<color=#ffffff>{1}</color>",
                                              ULocalizationService.Instance.Get("UIView", "ClanDetail", "ClanInfoName"), cmdBasedata.szClanName);
            clanInfoLeader.text = String.Format("{0}<color=#ffffff>{1}</color>",
                                                ULocalizationService.Instance.Get("UIView", "ClanDetail", "ClanInfoLeader"), cmdBasedata.szShaikhName);
            clanInfoTotalFight.text = String.Format("{0}<color=#ffffff>{1}</color>",
                                                    ULocalizationService.Instance.Get("UIView", "ClanDetail", "ClanInfoTotalFight"), cmdBasedata.nTotalFight);
            clanInfoRank.text = String.Format("{0}<color=#ffffff>{1}</color>",
                                              ULocalizationService.Instance.Get("UIView", "ClanDetail", "ClanInfoRank"), cmdBasedata.nPlace);
            clanInfoWeekActivity.text = String.Format("{0}<color=#ffffff>{1}</color>",
                                                      ULocalizationService.Instance.Get("UIView", "ClanDetail", "ClanInfoWeekActivity"), cmdBasedata.nWeekActivity);

            NoticeInputField.placeholder.GetComponent <Text>().text = cmdBasedata.szNotice;

            int nOnlineCount = 0;
            List <cmd_clan_memberlist> clanMemberList = LogicDataCenter.clanDataManager.ClanMemberData;

            for (int i = 0; i < clanMemberList.Count; ++i)
            {
                if (clanMemberList[i].nIsOnline > 0)
                {
                    ++nOnlineCount;
                }
            }
            clanInfoMemberCount.text = String.Format("{0}<color=#ffffff>{1}/{2}</color>",
                                                     ULocalizationService.Instance.Get("UIView", "ClanDetail", "ClanInfoMemberCount"), nOnlineCount, cmdBasedata.nMemberCount);
            clanInfoKinCount.text = String.Format("{0}<color=#ffffff>{1}/{2}</color>",
                                                  ULocalizationService.Instance.Get("UIView", "ClanDetail", "ClanInfoKinCount"), cmdBasedata.nKinCount, cmdBasedata.nMaxKinCount);
            clanInfoWeekActivity.text = String.Format("{0}<color=#ffffff>{1}</color>",
                                                      ULocalizationService.Instance.Get("UIView", "ClanDetail", "ClanInfoWeekActivity"), cmdBasedata.nWeekActivity);

            if (EntityFactory.MainHeroView != null)
            {
                int selfID = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID);
                cmd_clan_memberlist selfData = clanMemberList.Find(x => x.nPDBID == selfID);
                if (selfData.nPDBID == selfID)
                {
                    selfInfoJob.text = String.Format("{0}<color=#ffffff>{1}</color>",
                                                     ULocalizationService.Instance.Get("UIView", "ClanDetail", "SelfInfoJob"), LogicDataCenter.clanDataManager.GetClanIdentityName(selfData.nIdentity));
                    selfInfoGaveThisWeek.text = String.Format("{0}<color=#ffffff>{1}</color>",
                                                              ULocalizationService.Instance.Get("UIView", "ClanDetail", "SelfInfoGaveThisWeek"), selfData.nDonateThisWeek);
                    selfInfoGaveTotal.text = String.Format("{0}<color=#ffffff>{1}</color>",
                                                           ULocalizationService.Instance.Get("UIView", "ClanDetail", "SelfInfoGaveTotal"), selfData.nDonateTotal);
                }

                if (selfID == cmdBasedata.nShaikhID)
                {
                    NoticeEditBtn.gameObject.SetActive(true);
                    NoticeSaveBtn.gameObject.SetActive(false);
                }
                else
                {
                    NoticeEditBtn.gameObject.SetActive(false);
                    NoticeSaveBtn.gameObject.SetActive(false);
                }
            }

            // 杯赛按钮设置
            int      nSelfID        = EntityFactory.MainHeroView.Property.GetNumProp(ENTITY_PROPERTY.PROPERTY_ID);
            string   strTip         = "";
            DateTime serverTime     = new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Unspecified).AddSeconds(cmdBasedata.nServerTime);
            int      nNeedDay       = System.DateTime.DaysInMonth(serverTime.Year, serverTime.Month) - serverTime.Day + 1;
            bool     bCanFreePublic = GameLogicAPI.clanCanPublicLegendCup();

            CreateCupText.gameObject.SetActive(bCanFreePublic);
            if (cmdBasedata.lLegendCupID > 0)               // 比赛中
            {
                legendCupBtnText.text = ULocalizationService.Instance.Get("UIView", "ClanDetail", "CupProcessing");
                strTip = ULocalizationService.Instance.Get("UIView", "ClanDetail", "CupProcessingTip");
                ClearLegendCupBtnEffect();
            }
            else
            {
                if (nSelfID == cmdBasedata.nShaikhID)
                {
                    if (cmdBasedata.nLegendCupCount > 0)    // 免费发布
                    {
                        legendCupBtnText.text = ULocalizationService.Instance.Get("UIView", "ClanDetail", "CupFreePublic");
                        strTip = ULocalizationService.Instance.Get("UIView", "ClanDetail", "CupFreePublicTip");
                        CreateLegendCupBtnEffect();
                    }
                    else                                    // 付费发布
                    {
                        legendCupBtnText.text = ULocalizationService.Instance.Get("UIView", "ClanDetail", "CupChargePublic");
                        strTip = String.Format(ULocalizationService.Instance.Get("UIView", "ClanDetail", "CupChargePublicTip"), nNeedDay);
                        ClearLegendCupBtnEffect();
                    }
                }
                else                                        // 等待发布
                {
                    legendCupBtnText.text = ULocalizationService.Instance.Get("UIView", "ClanDetail", "CupWaitPublic");
                    strTip = ULocalizationService.Instance.Get("UIView", "ClanDetail", "CupWaitPublicTip");
                    ClearLegendCupBtnEffect();
                }
            }
            legendCupBtnTip.SetText(UTooltipParamName.BodyText, strTip);

            // 设置联盟解散提示
            SetDismissCountdownVisible();
        }