| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236 |
- local UIGuildMainView = require("UIGuild/UIGuildMainView_Generate")
- local LoadStatusLoopListCtr = require('Common/LoadStatusLoopListCtr')
- local ManageLanguageKeyMap = {
- [Enum.GuildManageType.AuditApply] = 'GuildManage_01',
- [Enum.GuildManageType.Settings] = 'GuildManage_02',
- [Enum.GuildManageType.Mail] = 'GuildManage_03',
- [Enum.GuildManageType.List] = 'GuildManage_04',
- [Enum.GuildManageType.Dismiss] = 'GuildManage_05',
- [Enum.GuildManageType.Exit] = 'GuildManage_06',
- }
- local PeopleHandleLanguageKeyMap = {
- [Enum.GuildPeopleHandleType.UpPresident] = 'GuildMemberHandle_01',
- [Enum.GuildPeopleHandleType.UpVicePresident] = 'GuildMemberHandle_02',
- [Enum.GuildPeopleHandleType.DownMember] = 'GuildMemberHandle_03',
- [Enum.GuildPeopleHandleType.PrivateChat] = 'GuildMemberHandle_04',
- [Enum.GuildPeopleHandleType.SeeInfo] = 'GuildMemberHandle_05',
- [Enum.GuildPeopleHandleType.Interest] = 'GuildMemberHandle_06',
- [Enum.GuildPeopleHandleType.CancelInterest] = 'GuildMemberHandle_07',
- [Enum.GuildPeopleHandleType.Kickout] = 'GuildMemberHandle_08',
- }
- local ManageMap = {
- [Enum.GuildPostType.None] = {
- Enum.GuildManageType.List,
- Enum.GuildManageType.Exit,
- },
- [Enum.GuildPostType.VicePresident] = {
- Enum.GuildManageType.AuditApply,
- Enum.GuildManageType.List,
- Enum.GuildManageType.Exit,
- },
- [Enum.GuildPostType.President] = {
- Enum.GuildManageType.AuditApply,
- Enum.GuildManageType.Settings,
- Enum.GuildManageType.Mail,
- Enum.GuildManageType.List,
- Enum.GuildManageType.Dismiss,
- },
- }
- local PeopleHandleMap = {
- [Enum.GuildPostType.None] = {
- [Enum.GuildPostType.None] = {
- Enum.GuildPeopleHandleType.PrivateChat,
- Enum.GuildPeopleHandleType.SeeInfo,
- Enum.GuildPeopleHandleType.Interest,
- },
- [Enum.GuildPostType.VicePresident] = {
- Enum.GuildPeopleHandleType.PrivateChat,
- Enum.GuildPeopleHandleType.SeeInfo,
- Enum.GuildPeopleHandleType.Interest,
- },
- [Enum.GuildPostType.President] = {
- Enum.GuildPeopleHandleType.PrivateChat,
- Enum.GuildPeopleHandleType.SeeInfo,
- Enum.GuildPeopleHandleType.Interest,
- },
- },
- [Enum.GuildPostType.VicePresident] = {
- [Enum.GuildPostType.None] = {
- Enum.GuildPeopleHandleType.PrivateChat,
- Enum.GuildPeopleHandleType.SeeInfo,
- Enum.GuildPeopleHandleType.Interest,
- Enum.GuildPeopleHandleType.Kickout,
- },
- [Enum.GuildPostType.VicePresident] = {
- Enum.GuildPeopleHandleType.PrivateChat,
- Enum.GuildPeopleHandleType.SeeInfo,
- Enum.GuildPeopleHandleType.Interest,
- },
- [Enum.GuildPostType.President] = {
- Enum.GuildPeopleHandleType.PrivateChat,
- Enum.GuildPeopleHandleType.SeeInfo,
- Enum.GuildPeopleHandleType.Interest,
- },
- },
- [Enum.GuildPostType.President] = {
- [Enum.GuildPostType.None] = {
- Enum.GuildPeopleHandleType.UpVicePresident,
- Enum.GuildPeopleHandleType.PrivateChat,
- Enum.GuildPeopleHandleType.SeeInfo,
- Enum.GuildPeopleHandleType.Interest,
- Enum.GuildPeopleHandleType.Kickout,
- },
- [Enum.GuildPostType.VicePresident] = {
- Enum.GuildPeopleHandleType.DownMember,
- Enum.GuildPeopleHandleType.UpPresident,
- Enum.GuildPeopleHandleType.PrivateChat,
- Enum.GuildPeopleHandleType.SeeInfo,
- Enum.GuildPeopleHandleType.Interest,
- Enum.GuildPeopleHandleType.Kickout,
- },
- [Enum.GuildPostType.President] = {
- Enum.GuildPeopleHandleType.PrivateChat,
- Enum.GuildPeopleHandleType.SeeInfo,
- Enum.GuildPeopleHandleType.Interest,
- },
- }
- }
- function UIGuildMainView:OnAwake(data)
- self.controller = require("UIGuild/UIGuildMainCtr")
- self.controller:Init(self)
- self.controller:SetData(data)
- end
- function UIGuildMainView:AddEventListener()
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.GUILD_SELF_MORE_INFO_CHANGED, self, self.OnGuildMoreInfoChanged)
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.GUILD_MEMBER_MORE_INFO_CHANGED, self, self.OnGuildMemberMoreInfoChanged)
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.GUILD_DISBAND_SUCCESS, self, self.OnGuildDisBandSuccess)
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.GUILD_QUIT_SUCCESS, self, self.OnGuildQuitSuccess)
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.GUILD_KICKOUT_SUCCESS, self, self.OnGuildKickoutSuccess)
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.GUILD_NOTICE_CHANGED, self, self.OnGuildNoticeChanged)
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.GUILD_NAME_CHANGED, self, self.OnGuildNameChanged)
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.GUILD_BADGE_CHANGED, self, self.OnGuildBadgeChanged)
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.GUILD_ACTIVE_CHANGED, self, self.OnGuildActiveChanged)
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name, UIEventNames.GUILD_GET_AUDIT_APPLY_LIST_CHANGED, self, self.OnGetAuditApplyListChanged)
- end
- function UIGuildMainView:FillContent(data, uiBase)
- self.uiBase = uiBase
- local gameObject = self.uiBase:GetRoot()
- if gameObject ~= nil then
- self.gameObject = gameObject
- self.transform = gameObject.transform
- end
- self:InitGenerate(self.transform, data)
- self:Init()
- end
- function UIGuildMainView:Init()
- self:InitGuildTips()
- self.scrollView.scrollRect.horizontalNormalizedPosition = 0
- self.selectItemIdx = nil
- if self.loadStatusLoopListCtr then
- self.loadStatusLoopListCtr:Dispose()
- self.loadStatusLoopListCtr = nil
- end
- self.loadStatusLoopListCtr = LoadStatusLoopListCtr:new(self, self.peopleList.loopListView, 0, 50,
- false, nil, nil,
- true, 'LoadingItem', Enum.ListLoadingStatus.WaitLoad,
- self.GetItemByIndex, nil, self.OnBeginLoad)
- self.noticeInput.inputField.interactable = false
- self.noticeNumTxt:SetActive(false)
- self:OnClickClickMaskBtn()
- self:RefreshBriefView()
- self:RefreshMoreInfoView()
- self:RefreshGuildBattle()
- -- 界面准备好了,等待服务器数据到来
- local errorCode = self.controller:SendGetGuildInfoReq()
- if errorCode ~= 0 then
- ManagerContainer.LuaUIMgr:ErrorNoticeDisplay(errorCode)
- end
- end
- function UIGuildMainView:RemoveEventListener()
- ManagerContainer.LuaEventMgr:Unregister(self.uiData.name)
- self.noticeInput.inputField.onValidateInput = nil
- self.noticeInput.inputField.onValueChanged:RemoveAllListeners()
- self.noticeInput.inputField.onEndEdit:RemoveAllListeners()
- end
- function UIGuildMainView:AddUIEventListener()
- ManagerContainer.LuaEventMgr:RegisterUIEvent(self.uiData.name)
- self.uiBase:AddButtonUniqueEventListener(self.btnAdmin.button, self, self.OnClickAdminBtn)
- self.uiBase:AddButtonUniqueEventListener(self.changeBtn.button, self, self.OnClickChangeBtn)
- self.noticeInput.inputField.onValidateInput = self.noticeInput.inputField.OnValidateInput(self.OnValidateInput, self)
- self.noticeInput.inputField.onValueChanged:RemoveAllListeners()
- self.noticeInput.inputField.onValueChanged:AddListener(function(text)
- self:OnValueChangedInput(text)
- end)
- self.noticeInput.inputField.onEndEdit:RemoveAllListeners()
- self.noticeInput.inputField.onEndEdit:AddListener(function(text)
- self:OnEndEditInput(text)
- end)
- self.uiBase:AddButtonUniqueEventListener(self.btnPlayRule.button, self, self.OnClickPlayRuleBtn)
- self.uiBase:AddButtonUniqueEventListener(self.btnBack.button, self, self.OnClickBackBtn)
- self.uiBase:AddButtonUniqueEventListener(self.btnGuildLog.button, self, self.OnClickGuildLogBtn)
- self.uiBase:AddButtonUniqueEventListener(self.active.button, self, self.OnClickActiveBtn)
- self.uiBase:AddButtonUniqueEventListener(self.guildCP.button, self, self.OnClickGuildCPBtn)
- self.uiBase:AddButtonUniqueEventListener(self.expBar.background.button, self, self.OnClickExpBarBtn)
- self.uiBase:AddButtonUniqueEventListener(self.clickMask.button, self, self.OnClickClickMaskBtn)
- self.uiBase:AddButtonUniqueEventListener(self.btnVenery.button, self, self.OnClickVeneryBtn)
- self.uiBase:AddButtonUniqueEventListener(self.btnShop.button, self, self.OnClickShopBtn)
- self.uiBase:AddButtonUniqueEventListener(self.btnDemon.button, self, self.OnClickDemonBtn)
- self.uiBase:AddButtonUniqueEventListener(self.btnBattle.button, self, self.OnClickBattleBtn)
- self.uiBase:AddButtonUniqueEventListener(self.btnL.button, self, self.OnClickLBtn)
- self.uiBase:AddButtonUniqueEventListener(self.btnR.button, self, self.OnClickRBtn)
- end
- function UIGuildMainView:OnHide()
- end
- function UIGuildMainView:OnShow(data)
- self.controller:SetData(data)
- end
- function UIGuildMainView:OnClose()
- end
- function UIGuildMainView:OnDispose()
- self.selectItemIdx = nil
- if self.endEditDelayTimer then
- self.endEditDelayTimer:Stop()
- self.endEditDelayTimer = nil
- end
- if self.guildBattleTimer then
- if self.guildBattleTimer.running then
- self.guildBattleTimer:Stop()
- end
- self.guildBattleTimer = nil
- end
- if self.loadStatusLoopListCtr then
- self.loadStatusLoopListCtr:Dispose()
- self.loadStatusLoopListCtr = nil
- end
- self:DisposeGuildTips()
- self.controller:OnDispose()
- end
- function UIGuildMainView:OnGuildMoreInfoChanged()
- self:RefreshBriefView()
- self:RefreshMoreInfoView()
- self:RefreshGuildBattle()
- self:OnBeginLoad()
- end
- function UIGuildMainView:OnGuildMemberMoreInfoChanged(guild)
- if guild ~= self.controller:GetId() then return end
- self:RefreshMemberInfoView()
- end
- function UIGuildMainView:OnGuildDisBandSuccess()
- ManagerContainer.LuaUIMgr:OpenSourceUI(self)
- end
- function UIGuildMainView:OnGuildQuitSuccess()
- ManagerContainer.LuaUIMgr:OpenSourceUI(self)
- end
- function UIGuildMainView:OnGuildKickoutSuccess()
- ManagerContainer.LuaUIMgr:OpenSourceUI(self)
- end
- function UIGuildMainView:OnGuildNoticeChanged()
- self:RefreshGuildNotice()
- end
- function UIGuildMainView:OnGuildNameChanged()
- self:RefreshGuildName()
- end
- function UIGuildMainView:OnGuildBadgeChanged()
- self:RefreshGuildBadge()
- end
- function UIGuildMainView:OnGuildActiveChanged()
- self:RefreshGuildActive()
- end
- function UIGuildMainView:OnGetAuditApplyListChanged()
- local itemList = self.peopleList.loopListView.ItemList
- if not itemList then return end
- local count = itemList.Count
- if count <= 0 then return end
- local startList = itemList[0]
- local endList = itemList[count - 1]
- if not startList then return end
- local startIdx = startList.ItemIndex
- if not endList then return end
- local endIdx = endList.ItemIndex
- local uids = self.controller:GetNeedLoadMemberMoreInfo(startIdx, endIdx)
- if not uids or #uids == 0 then
- return
- end
- self.controller:SendGetGuildMemberInfoReq(uids)
- end
- function UIGuildMainView:OnClickAdminBtn()
- local guildPostType = self.controller:GetGuildPostType()
- local manages = ManageMap[guildPostType]
- if not manages then return end
- local len = #manages
- if len <= 0 then return end
- --- 如果界面不刷新数据,后续可在界面打开时初始化
- local menus = {}
- for i = 1, len do
- local guildManageType = manages[i]
- local langKey = ManageLanguageKeyMap[guildManageType] or ''
- menus[#menus + 1] = {langKey, guildManageType, (guildManageType == Enum.GuildManageType.Mail)}
- end
- local rectTransform = self.btnAdmin.rectTransform
- local min = rectTransform.rect.min
- local alignPos = rectTransform:TransformPoint(min)
- local data = {menus = menus, ownerCB = self, cb = self.ManageFuncMenuCallBack, alignPos = alignPos, alignment = Enum.Alignment.UpperLeft }
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIFuncMenu, data)
- end
- function UIGuildMainView:OnClickChangeBtn()
- if self.endEditDelayTimer then
- self.endEditDelayTimer:Stop()
- end
- self.changeBtn:SetActive(false)
- self.noticeInput.inputField.interactable = true
- self.noticeInput.inputField:ActivateInputField()
- local text = self.noticeInput.inputField.text
- local len = GetActualStringLength(text)
- local max = self.controller:GetNoticeLengthMax()
- self.noticeNumTxt:SetActive(true)
- self.noticeNumTxt.text.text = tostring(len) .. '/' .. tostring(max)
- end
- function UIGuildMainView:OnValidateInput(text, charIndex, addedChar)
- local len = GetActualStringLength(text) + 1
- local max = self.controller:GetNoticeLengthMax()
- if len > max then return 0 end
- return addedChar
- end
- function UIGuildMainView:OnValueChangedInput(text)
- local len = GetActualStringLength(text)
- local max = self.controller:GetNoticeLengthMax()
- self.noticeNumTxt.text.text = tostring(len) .. '/' .. tostring(max)
- end
- function UIGuildMainView:OnEndEditInput(text)
- self.controller:SetChangeNotice(text)
- self.noticeNumTxt:SetActive(false)
- -- 不能同帧设置,So延迟
- if self.noticeInput.inputField.interactable then
- if self.endEditDelayTimer then
- self.endEditDelayTimer.count = Time.frameCount + 1
- else
- self.endEditDelayTimer = FrameTimer.New(function()
- local guildPostType = self.controller:GetGuildPostType()
- local canChangeNotice = (guildPostType == Enum.GuildPostType.President)
- if canChangeNotice then
- self.noticeInput.inputField.interactable = false
- self.changeBtn:SetActive(true)
- else
- self.noticeInput.inputField.interactable = false
- self.changeBtn:SetActive(false)
- end
- end, 1)
- end
- if not self.endEditDelayTimer.running then
- self.endEditDelayTimer:Start()
- end
- end
- local guildPostType = self.controller:GetGuildPostType()
- if (guildPostType == Enum.GuildPostType.President) then
- local errorCode = self.controller:SendChangeNoticeReq()
- if errorCode ~= 0 then
- ManagerContainer.LuaUIMgr:ErrorNoticeDisplay(errorCode)
- end
- end
- end
- function UIGuildMainView:OnClickPlayRuleBtn()
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIPlayRule, {'PlayExplainTitle', 'GuildPlayExplain'})
- end
- function UIGuildMainView:OnClickBackBtn()
- ManagerContainer.LuaUIMgr:OpenSourceUI(self)
- end
- function UIGuildMainView:OnClickGuildLogBtn()
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIGuildLog)
- end
- function UIGuildMainView:OnClickActiveBtn(btn)
- local rectTransform = btn.transform
- local rect = rectTransform.rect
- local pos = Vector2(rect.xMin, rect.yMin)
- pos = rectTransform:TransformPoint(pos)
- self:SetGuildTips(true, 1, pos)
- end
- function UIGuildMainView:OnClickGuildCPBtn(btn)
- local rectTransform = btn.transform
- local rect = rectTransform.rect
- local pos = Vector2(rect.xMin, rect.yMin)
- pos = rectTransform:TransformPoint(pos)
- self:SetGuildTips(true, 3, pos)
- end
- function UIGuildMainView:OnClickExpBarBtn(btn)
- local rectTransform = btn.transform
- local rect = rectTransform.rect
- local pos = Vector2(rect.xMin, rect.yMin)
- pos = rectTransform:TransformPoint(pos)
- self:SetGuildTips(true, 2, pos)
- end
- function UIGuildMainView:OnClickClickMaskBtn()
- self:SetMemberActiveTips(false)
- self:SetGuildTips(false)
- end
- function UIGuildMainView:OnClickVeneryBtn()
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIGuildHunt, nil, self.uiData.id)
- end
- function UIGuildMainView:OnClickDemonBtn()
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIGuildDemon, nil, self.uiData.id)
- end
- function UIGuildMainView:OnClickShopBtn()
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIShop, 4, self.uiData.id)
- end
- function UIGuildMainView:OnClickBattleBtn()
- local guildWarInfo = self.controller:GetGuildWarInfo()
- local state = guildWarInfo and guildWarInfo.curState or 3
- local remainTime = 0
- if guildWarInfo and guildWarInfo.nextStateTime then
- remainTime = ManagerContainer.LuaTimerMgr:GetRemainSecondsWithUInt64(guildWarInfo.nextStateTime)
- end
- if state == 2 then
- if remainTime <= 0 then
- ManagerContainer.LuaUIMgr:ErrorNoticeDisplay('GuildWarEnterTips02')
- else
- if ManagerContainer.DataMgr.GuildWarDataMgr:GetOpenState() then
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIGuildWarMatchMap, nil, self.uiData.id)
- else
- ManagerContainer.LuaUIMgr:ErrorNoticeDisplay('GuildWarBattle20')
- end
- end
- elseif state == 3 then
- if remainTime <= 0 then
- ManagerContainer.LuaUIMgr:ErrorNoticeDisplay('GuildWarEnterTips02')
- else
- if ManagerContainer.DataMgr.GuildWarDataMgr:GetOpenState() then
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIGuildWarMatchMap, nil, self.uiData.id)
- else
- ManagerContainer.LuaUIMgr:ErrorNoticeDisplay('GuildWarBattle20')
- end
- end
- else
- if remainTime <= 0 then
- ManagerContainer.LuaUIMgr:ErrorNoticeDisplay('GuildWarEnterTips02')
- else
- ManagerContainer.LuaUIMgr:ErrorNoticeDisplay('GuildWarEnterTips01')
- end
- end
- end
- function UIGuildMainView:OnClickLBtn()
- local scrollRect = self.scrollView.scrollRect
- local horizontalNormalizedPosition = scrollRect.horizontalNormalizedPosition
- if horizontalNormalizedPosition == 0 then return end
- scrollRect:DOHorizontalNormalizedPos(0, horizontalNormalizedPosition * 0.1)
- end
- function UIGuildMainView:OnClickRBtn()
- local scrollRect = self.scrollView.scrollRect
- local horizontalNormalizedPosition = scrollRect.horizontalNormalizedPosition
- if horizontalNormalizedPosition == 1 then return end
- scrollRect:DOHorizontalNormalizedPos(1, (1 - horizontalNormalizedPosition) * 0.1)
- end
- function UIGuildMainView:OnClickGuildPeopleItem(btn, params)
- local itemLua = params[0]
- local uid = params[1]
- local itemIdx = params[2]
- local guildPostType = self.controller:GetGuildPostType()
- local _userUid = ManagerContainer.DataMgr.UserData:GetUserId()
- if int64.equals(uid, _userUid) then
- ManagerContainer.LuaUIMgr:ErrorNoticeDisplay("ChatError1")
- return
- end
- local interest = ManagerContainer.DataMgr.FriendDataMgr:HasInterestPlayer(uid)
- local handleGuildPostType = self.controller:GetGuildMemberPost(uid)
- local peopleHandleMap = PeopleHandleMap[guildPostType]
- local peopleHandle = nil
- if peopleHandleMap then
- peopleHandle = peopleHandleMap[handleGuildPostType]
- end
- if not peopleHandle then return end
- local len = #peopleHandle
- if len <= 0 then return end
- --- 如果界面不刷新数据,后续可在界面打开时初始化
- local menus = {}
- for i = 1, len do
- local guildPeopleHandleType = peopleHandle[i]
- if guildPeopleHandleType == Enum.GuildPeopleHandleType.Interest then
- if not interest then
- local langKey = PeopleHandleLanguageKeyMap[guildPeopleHandleType] or ''
- menus[#menus + 1] = {langKey, {guildPeopleHandleType, uid}}
- end
- elseif guildPeopleHandleType == Enum.GuildPeopleHandleType.CancelInterest then
- if interest then
- local langKey = PeopleHandleLanguageKeyMap[guildPeopleHandleType] or ''
- menus[#menus + 1] = {langKey, {guildPeopleHandleType, uid}}
- end
- else
- local langKey = PeopleHandleLanguageKeyMap[guildPeopleHandleType] or ''
- menus[#menus + 1] = {langKey, {guildPeopleHandleType, uid}}
- end
- end
- local rectTransform = itemLua.rectTransform
- local rect = rectTransform.rect
- local pos = Vector2(rect.xMin + rect.width * 0.5, rect.yMin)
- local alignPos = rectTransform:TransformPoint(pos)
- local data = {menus = menus, ownerCB = self, cb = self.PeopleHandleFuncMenuCallBack, cancelCb = self.PeopleHandleFuncMenuCancelCallBack, alignPos = alignPos, alignment = Enum.Alignment.UpperLeft }
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIFuncMenu, data)
- self.selectItemIdx = itemIdx
- itemLua.select:SetActive(true)
- end
- function UIGuildMainView:OnClickGuildPeopleActiveItem(btn, params)
- local itemLua = params[0]
- local sevenActive = params[1]
- local rectTransform = itemLua.active.rectTransform
- local rect = rectTransform.rect
- local pos = Vector2(rect.xMin, rect.yMin + rect.height * 0.5)
- pos = rectTransform:TransformPoint(pos)
- self:SetMemberActiveTips(true, pos, sevenActive)
- end
- function UIGuildMainView:GetItemByIndex(loopListView, idx, dataIdx)
- local itemData = self.controller:GetMemberMoreInfoByItemidx(dataIdx)
- if not itemData then return nil end
- local item = loopListView:NewListViewItem('GuildPeopleItem')
- local itemLua = CommonUtil.BindGridViewItem2Lua(self, 'GuildPeopleItem', item.gameObject)
- if itemLua then
- local brief = itemData.brief
- local playerBrief = itemData.playerBrief
- local uid
- local data = {}
- local headFrameId = nil
- local vipLv = nil
- if playerBrief then
- uid = playerBrief.uid
- vipLv = playerBrief.vipLv
- headFrameId = playerBrief.headFrame
- if int64.equals(uid, ManagerContainer.DataMgr.UserData:GetUserId()) then
- headFrameId = ManagerContainer.DataMgr.UserData:GetHeadFrameId()
- vipLv = ManagerContainer.DataMgr.UserData:GetVipLv()
- end
- local jobCfg = ManagerContainer.CfgMgr:GetJobDataById(playerBrief.configId)
- local jobIcon = ''
- if jobCfg then
- jobIcon = jobCfg.JobIcon
- end
- data = {Level = playerBrief.level, ProfessionIcon = jobIcon, HeadIcon = playerBrief.headPortraitName, IsHero = true}
- itemLua.nameTxt.text.text = tostring(playerBrief.nickName)
- itemLua.atkTxt.text.text = tostring(playerBrief.fightPower)
- local offlineTime = brief and brief.offlineTime or 0
- itemLua.onlineTxt.text.text = CommonUtil.GetOnlineStatus((offlineTime == 0), offlineTime)
- else
- itemLua.nameTxt.text.text = ''
- itemLua.atkTxt.text.text = ''
- itemLua.onlineTxt.text.text = ''
- end
- itemLua.headItem.head.button.enabled = false
- CommonUtil.SetPlayerHeadAndFrame(self, itemLua.headItem, data, false, headFrameId)
- itemLua.vipIcon.image.enabled = false
- itemLua.vipIcon.image.sprite = nil
- if vipLv and vipLv >= 0 then
- local vipCfg = ManagerContainer.CfgMgr:GetVipCfgById(vipLv)
- if vipCfg then
- CommonUtil.LoadIcon(self, vipCfg.SmallIcon, function(sprite)
- if sprite then
- itemLua.vipIcon.image.sprite = sprite
- itemLua.vipIcon.image.enabled = true
- end
- end, itemLua, 'VipIcon')
- end
- end
- local post = brief and brief.post or Enum.GuildPostType.None
- if not uid then uid = brief and brief.uid or nil end
- itemLua.presidentTag:SetActive(post == Enum.GuildPostType.President)
- itemLua.vicePresidentTag:SetActive(post == Enum.GuildPostType.VicePresident)
-
- local active = itemData.active
- itemLua.activeTxt.text.text = (active and tostring(active) or '0')
- itemLua.select:SetActive(self.selectItemIdx == idx)
- self.uiBase:AddButtonUniqueEventListener(itemLua.button, self, self.OnClickGuildPeopleItem, itemLua, uid, idx)
- self.uiBase:AddButtonUniqueEventListener(itemLua.active.button, self, self.OnClickGuildPeopleActiveItem, itemLua, active)
- end
- return item
- end
- function UIGuildMainView:OnBeginLoad(isLeft)
- -- 发送获得后续公会玩家信息
- local uids = self.controller:GetNextLoadMemberUids()
- local errorCode = self.controller:SendGetGuildMemberInfoReq(uids)
- if errorCode ~= 0 then
- self:RefreshMemberInfoView()
- ManagerContainer.LuaUIMgr:ErrorNoticeDisplay(errorCode)
- end
- end
- function UIGuildMainView:RefreshGuildName()
- local brief = self.controller:GetGuildBriefData()
- self.nameTxt.text.text = brief and tostring(brief.name) or ''
- end
- function UIGuildMainView:RefreshGuildBadge()
- local brief = self.controller:GetGuildBriefData()
- local itemLua = self.guildBadgeItem
- itemLua.badge.image.enabled = false
- itemLua.badge.image.sprite = nil
- local resPath = nil
- if brief then
- resPath = brief.badgeResPath
- end
- CommonUtil.LoadIcon(self, resPath, function(sprite)
- itemLua.badge.image.enabled = true
- itemLua.badge.image.sprite = sprite
- end, itemLua, 'BadgeIcon')
- end
- function UIGuildMainView:RefreshGuildActive()
- local brief = self.controller:GetGuildBriefData()
- self.activeTxt.text.text = brief and tostring(brief.active) or ''
- end
- function UIGuildMainView:RefreshGuildNotice()
- local moreInfo = self.controller:GetGuildMoreInfoData()
- if not moreInfo then return end
- if not self.noticeInput.inputField.interactable then
- self.noticeInput.inputField.text = tostring(moreInfo.notice)
- end
- end
- function UIGuildMainView:RefreshBriefView()
- local brief = self.controller:GetGuildBriefData()
- if not brief then
- self.lvTxt.text.text = ''
- self.nameTxt.text.text = ''
- self.idTxt.text.text = ''
- self.activeTxt.text.text = ''
- return
- end
- local itemLua = self.guildBadgeItem
- itemLua.badge.image.enabled = false
- itemLua.badge.image.sprite = nil
- if brief.badgeResPath and brief.badgeResPath ~= nil then
- CommonUtil.LoadIcon(self, brief.badgeResPath, function(sprite)
- itemLua.badge.image.enabled = true
- itemLua.badge.image.sprite = sprite
- end, itemLua, 'BadgeIcon')
- end
- self.lvTxt.text.text = tostring(brief.level)
- self.nameTxt.text.text = tostring(brief.name)
- self.idTxt.text.text = tostring(brief.id)
- self.activeTxt.text.text = tostring(brief.active)
-
- end
- function UIGuildMainView:RefreshMoreInfoView()
- local moreInfo = self.controller:GetGuildMoreInfoData()
- if not moreInfo then
- self.btnAdmin:SetActive(false)
- self.expBar:SetActive(false)
- self.noticeInput:SetActive(false)
- self.changeBtn:SetActive(false)
- self.btnVenery:SetActive(false)
- self.btnShop:SetActive(false)
- self.btnBattle:SetActive(false)
- return
- end
- local guildPostType = self.controller:GetGuildPostType()
- self.btnAdmin:SetActive(true)
- self.expBar:SetActive(true)
- self.noticeInput:SetActive(true)
- self.btnVenery:SetActive(true)
- self.btnShop:SetActive(true)
- self.btnBattle:SetActive(true)
- local canChangeNotice = (guildPostType == Enum.GuildPostType.President)
- self.changeImg:SetActive(canChangeNotice)
- local brief = self.controller:GetGuildBriefData()
- local isMaxLv = false
- if brief then
- if brief.level then
- if not ManagerContainer.CfgMgr:GetGuildLvCfgById(brief.level + 1) then
- isMaxLv = true
- end
- end
- end
- if isMaxLv then
- self.expBar.slider.value = 0
- self.expTxt.text.text = string.formatbykey('GuildExpTips_04')
- else
- self.expBar.slider.value = ((moreInfo.expLimit == 0) and 0 or moreInfo.exp / moreInfo.expLimit)
- self.expTxt.text.text = tostring(moreInfo.exp) .. '/' .. tostring(moreInfo.expLimit)
- end
- if not self.noticeInput.inputField.interactable then
- self.noticeInput.inputField.text = tostring(moreInfo.notice)
- self.changeBtn:SetActive(canChangeNotice)
- else
- if not canChangeNotice then
- self.noticeInput.inputField:DeactivateInputField()
- self.changeBtn:SetActive(false)
- self.noticeInput.inputField.text = tostring(moreInfo.notice)
- self.noticeInput.inputField.interactable = false
- end
- end
- local maxDataLength = self.controller:GetGuildMemberLimit()
- local dataLength = self.controller:GetGuildMemberNum()
- self.peopleTxt.text.text = tostring(dataLength) .. '/' .. tostring(maxDataLength)
- end
- function UIGuildMainView:RefreshMemberInfoView()
- local dataLength = self.controller:GetGuildMemberNum()
- local validLength = self.controller:GetValidMemberNum()
- self.loadStatusLoopListCtr:OnAllLoaded()
- self.loadStatusLoopListCtr:RefreshMaxDataLength(dataLength)
- self.loadStatusLoopListCtr:RefreshDataLength(validLength)
- end
- function UIGuildMainView:RefreshGuildBattle()
- local guildWarInfo = self.controller:GetGuildWarInfo()
- self.guildCPTxt.text.text = guildWarInfo and tostring(guildWarInfo.cp) or '0'
- local state = guildWarInfo and guildWarInfo.curState or 3
- local timer = self.btnBattle.timer
- if state == 1 then
- timer:SetActive(true)
- timer.sword:SetActive(false)
- timer.wait:SetActive(true)
- elseif state == 2 then
- timer:SetActive(true)
- timer.sword:SetActive(true)
- timer.wait:SetActive(false)
- timer.sword.animation:Play('GuildWarSword')
- elseif state == 3 then
- timer:SetActive(true)
- timer.sword:SetActive(true)
- timer.wait:SetActive(false)
- if timer.sword.animation:Play('GuildWarSword') then
- timer.sword.animation.this:get('GuildWarSword').normalizedTime = 0
- timer.sword.animation:Stop()
- end
- self.btnBattle.timer.timerTxt.text.text = string.formatbykey('GuildWarEnter_03')
- if self.guildBattleTimer and self.guildBattleTimer.running then
- self.guildBattleTimer:Stop()
- end
- return
- else
- timer:SetActive(false)
- if self.guildBattleTimer and self.guildBattleTimer.running then
- self.guildBattleTimer:Stop()
- end
- return
- end
- self:RefreshGuildBattleTime()
- end
- function UIGuildMainView:RefreshGuildBattleTime()
- local guildWarInfo = self.controller:GetGuildWarInfo()
- local remainTime = guildWarInfo and guildWarInfo.nextStateTime or nil
- if remainTime then
- remainTime = ManagerContainer.LuaTimerMgr:GetRemainSecondsWithUInt64(remainTime)
- else
- remainTime = 0
- end
- if guildWarInfo and guildWarInfo.curState == 2 then
- self.btnBattle.timer.timerTxt.text.text = string.formatbykey('GuildWarEnter_02', DateTimeUtil.convertSeconds2TimeStr1(remainTime, true, true, false))
- else
- self.btnBattle.timer.timerTxt.text.text = string.formatbykey('GuildWarEnter_01', DateTimeUtil.convertSeconds2TimeStr1(remainTime, true, true, false))
- end
- if not remainTime or remainTime <= 0 then
- if self.guildBattleTimer and self.guildBattleTimer.running then
- self.guildBattleTimer:Stop()
- end
- else
- local validTime = nil
- if remainTime >= 86400 then
- validTime = remainTime % 3600
- if validTime == 0 then validTime = 3600 end
- elseif remainTime >= 3600 then
- validTime = remainTime % 60
- if validTime == 0 then validTime = 60 end
- else
- validTime = 1
- end
- if validTime then
- if self.guildBattleTimer then
- self.guildBattleTimer.duration = validTime
- else
- self.guildBattleTimer = Timer.New(slot(self.RefreshGuildBattle, self), validTime, -1)
- end
- if not self.guildBattleTimer.running then
- self.guildBattleTimer:Start()
- end
- else
- if self.guildBattleTimer and self.guildBattleTimer.running then
- self.guildBattleTimer:Stop()
- end
- end
- end
- end
- function UIGuildMainView:SetMemberActiveTips(isShow, pos, active)
- if not isShow then
- self.clickMask:SetActive(false)
- self.memberActiveTips:SetActive(false)
- return
- end
- self.clickMask:SetActive(true)
- self.memberActiveTips:SetActive(true)
- self.memberActiveTips.text.text.text = string.formatbykey('MemberActiveTips') .. tostring(active)
- self.memberActiveTips.rectTransform.position = pos
- end
- function UIGuildMainView:SetGuildActiveTips(isShow)
- if not isShow then
- self.guildActiveTips:SetActive(false)
- return
- end
- self.clickMask:SetActive(true)
- self.guildActiveTips:SetActive(true)
- local brief = self.controller:GetGuildBriefData()
- if brief then
- self.guildActiveTips.activeItem.numTxt.text.text = tostring(brief.active) ..'/' .. tostring(brief.activeLimit)
- else
- self.guildActiveTips.activeItem.numTxt.text.text = '0'
- end
- local roleData = self.controller:GetRoleData()
- local activeDayLimit = self.controller:GetActiveDayLimit()
- if roleData then
- self.guildActiveTips.activeDayItem.numTxt.text.text = tostring(roleData.activeDay) .. '/' .. tostring(activeDayLimit)
- self.guildActiveTips.activeSevenDayItem.numTxt.text.text = tostring(roleData.active)
- else
- self.guildActiveTips.activeDayItem.numTxt.text.text = '0/' .. tostring(activeDayLimit)
- self.guildActiveTips.activeSevenDayItem.numTxt.text.text = '0'
- end
- end
- function UIGuildMainView:InitGuildTips()
- local item = self.guildTipItem
- if not item then
- local parentTrans = self.guildTips.transform:Find('Item')
- item = self:GenerateGuildTipItemLua(parentTrans)
- self.guildTipItem = item
- end
- end
- function UIGuildMainView:DisposeGuildTips()
- local items = self.guildTipItems
- if items then
- for _, item in pairs(items) do
- if item then
- local go = item.go
- item.go = nil
- item.nameGo = nil
- item.nameTxt = nil
- item.numGo = nil
- item.numTxt = nil
- if self.guildTipItem ~= item then
- CommonUtil.DestroyGO(go)
- end
- end
- end
- self.guildTipItems = nil
- end
- self.guildTipItem = nil
- self.guildTipItemCount = nil
- end
- function UIGuildMainView:GetGuildTipItem(idx)
- local items = self.guildTipItems
- if not items then
- if not self.guildTipItem then
- return nil
- end
- items = {self.guildTipItem}
- self.guildTipItemCount = 1
- self.guildTipItems = items
- end
- local item = self.guildTipItems[idx]
- if item then
- if item.go then
- item.go:SetActive(true)
- end
- return item
- end
- if not self.guildTipItem then
- return nil
- end
- local go = UnityEngine.GameObject.Instantiate(self.guildTipItem.go)
- go:SetActive(true)
- local trans = go.transform
- trans:SetParent(self.guildTips.transform)
- trans.localPosition = Vector3.zero
- trans.localScale = Vector3.one
- trans.localRotation = Quaternion.identity
- trans:SetAsLastSibling()
- item = self:GenerateGuildTipItemLua(trans)
- self.guildTipItems[idx] = item
- if not self.guildTipItemCount or self.guildTipItemCount < idx then
- self.guildTipItemCount = idx
- end
- return item
- end
- function UIGuildMainView:GenerateGuildTipItemLua(trans)
- if not trans then return nil end
- local item = {}
- local nameGo = trans:Find('NameTxt').gameObject
- local numGo = trans:Find('NumTxt').gameObject
- item.go = trans.gameObject
- item.nameGo = nameGo
- item.nameTxt = nameGo:GetComponent(Enum.TypeInfo.Text)
- item.numGo = numGo
- item.numTxt = numGo:GetComponent(Enum.TypeInfo.Text)
- return item
- end
- function UIGuildMainView:SetGuildTips(isShow, tipType, alginPos)
- if not isShow then
- self.clickMask:SetActive(false)
- self.guildTips:SetActive(false)
- return
- end
- self.clickMask:SetActive(true)
- self.guildTips:SetActive(true)
- if alginPos then
- local pos = self.guildTips.transform.parent:InverseTransformPoint(alginPos)
- self.guildTips.transform.localPosition = Vector2(0, pos.y, 0)
- end
- local offset = 1
- if tipType == 1 then
- offset = self:SetGuildActiveTips()
- elseif tipType == 2 then
- offset = self:SetGuildExpTips()
- elseif tipType == 3 then
- offset = self:SetGuildCPTips()
- else
- self.guildTips.text.text.text = string.formatbykey('None')
- self.guildTips.space:SetActive(false)
- end
- if self.guildTipItems and self.guildTipItemCount then
- for i = offset, self.guildTipItemCount do
- local item = self.guildTipItems[i]
- if item and item.go then
- item.go:SetActive(false)
- end
- end
- end
- end
- function UIGuildMainView:SetGuildActiveTips()
- self.guildTips.text.text.text = string.formatbykey('GuildActiveTips')
- self.guildTips.space:SetActive(true)
- local brief = self.controller:GetGuildBriefData()
- local itemLua = self:GetGuildTipItem(1)
- if itemLua then
- itemLua.nameTxt.text = string.formatbykey('GuildActiveTips_01')
- if brief then
- itemLua.numTxt.text = tostring(brief.active) ..'/' .. tostring(brief.activeLimit)
- else
- itemLua.numTxt.text = '0'
- end
- end
- local roleData = self.controller:GetRoleData()
- local activeDayLimit = self.controller:GetActiveDayLimit()
- if roleData then
- itemLua = self:GetGuildTipItem(2)
- if itemLua then
- itemLua.nameTxt.text = string.formatbykey('GuildActiveTips_02')
- itemLua.numTxt.text = tostring(roleData.activeDay) .. '/' .. tostring(activeDayLimit)
- end
- itemLua = self:GetGuildTipItem(3)
- if itemLua then
- itemLua.nameTxt.text = string.formatbykey('GuildActiveTips_03')
- itemLua.numTxt.text = tostring(roleData.active)
- end
- else
- itemLua = self:GetGuildTipItem(2)
- if itemLua then
- itemLua.nameTxt.text = string.formatbykey('GuildActiveTips_02')
- itemLua.numTxt.text = '0/' .. tostring(activeDayLimit)
- end
- itemLua = self:GetGuildTipItem(3)
- if itemLua then
- itemLua.nameTxt.text = string.formatbykey('GuildActiveTips_03')
- itemLua.numTxt.text = '0'
- end
- end
- return 4
- end
- function UIGuildMainView:SetGuildExpTips()
- self.guildTips.text.text.text = string.formatbykey('GuildExpTips')
- self.guildTips.space:SetActive(true)
- local brief = self.controller:GetGuildBriefData()
- local itemLua = self:GetGuildTipItem(1)
- if itemLua then
- if brief then
- if brief.level then
- local lvCfgData = ManagerContainer.CfgMgr:GetGuildLvCfgById(brief.level + 1)
- if lvCfgData then
- lvCfgData = ManagerContainer.CfgMgr:GetGuildLvCfgById(brief.level)
- if lvCfgData then
- itemLua.nameTxt.text = string.formatbykey('GuildExpTips_01')
- itemLua.numTxt.text = ''
- itemLua = self:GetGuildTipItem(2)
- if itemLua then
- itemLua.nameTxt.text = string.formatbykey('GuildExpTips_02')
- itemLua.numTxt.text = tostring(lvCfgData.PeopleAdd)
- end
- itemLua = self:GetGuildTipItem(3)
- if itemLua then
- itemLua.nameTxt.text = string.formatbykey('GuildExpTips_03')
- itemLua.numTxt.text = tostring(lvCfgData.ActiveAdd)
- end
- return 4
- end
- end
- end
- end
- itemLua.nameTxt.text = string.formatbykey('GuildExpTips_04')
- itemLua.numTxt.text = ''
- end
- return 2
- end
- function UIGuildMainView:SetGuildCPTips()
- local guildWarInfo = self.controller:GetGuildWarInfo()
- self.guildTips.text.text.text = string.formatbykey('GuildCPTips')
- self.guildTips.space:SetActive(true)
- local itemLua = self:GetGuildTipItem(1)
- if itemLua then
- itemLua.nameTxt.text = string.formatbykey('GuildCPTips_01')
- itemLua.numTxt.text = guildWarInfo and tostring(guildWarInfo.cp) or '0'
- end
- itemLua = self:GetGuildTipItem(2)
- if itemLua then
- itemLua.nameTxt.text = string.formatbykey('GuildCPTips_02')
- if guildWarInfo and guildWarInfo.rank > 0 then
- itemLua.numTxt.text = tostring(guildWarInfo.rank)
- else
- itemLua.numTxt.text = string.formatbykey('NoRank')
- end
- end
- return 3
- end
- function UIGuildMainView:SureDisbandGuild()
- local errorCode = self.controller:SendDisbandGuildReq()
- if errorCode ~= 0 then
- ManagerContainer.LuaUIMgr:ErrorNoticeDisplay(errorCode)
- end
- end
- function UIGuildMainView:SureQuitGuild()
- local errorCode = self.controller:SendQuitGuildReq()
- if errorCode ~= 0 then
- ManagerContainer.LuaUIMgr:ErrorNoticeDisplay(errorCode)
- end
- end
- function UIGuildMainView:ManageFuncMenuCallBack(guildManageType)
- if guildManageType == Enum.GuildManageType.AuditApply then
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIGuildAuditApply)
- elseif guildManageType == Enum.GuildManageType.Settings then
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIGuildSettings)
- elseif guildManageType == Enum.GuildManageType.Mail then
- elseif guildManageType == Enum.GuildManageType.List then
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UIGuildRecommend)
- elseif guildManageType == Enum.GuildManageType.Dismiss then
- local data = {"GuildDismiss", nil, nil, self, self.SureDisbandGuild}
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UINoticeTips, data)
- elseif guildManageType == Enum.GuildManageType.Exit then
- local cd = self.controller:GetEnterGuildCD()
- local data = {"GuildExit", {cd}, nil, self, self.SureQuitGuild}
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UINoticeTips, data)
- end
- end
- function UIGuildMainView:SureChangePost(data)
- local uid = data.uid
- local post = data.post
- local errorCode = self.controller:SendChangeMemberTitleReq(uid, post)
- if errorCode ~= 0 then
- ManagerContainer.LuaUIMgr:ErrorNoticeDisplay(errorCode)
- end
- end
- function UIGuildMainView:SureKickout(data)
- local uid = data.uid
- local errorCode = self.controller:SendKickGuildMemeberReq(uid)
- if errorCode ~= 0 then
- ManagerContainer.LuaUIMgr:ErrorNoticeDisplay(errorCode)
- end
- end
- function UIGuildMainView:PeopleHandleFuncMenuCancelCallBack()
- local selectItemIdx = self.selectItemIdx
- self.selectItemIdx = nil
- self.peopleList.loopListView:RefreshItemByItemIndex(selectItemIdx)
- end
- function UIGuildMainView:PeopleHandleFuncMenuCallBack(params)
- local selectItemIdx = self.selectItemIdx
- self.selectItemIdx = nil
- self.peopleList.loopListView:RefreshItemByItemIndex(selectItemIdx)
- local guildPeopleHandleType = params[1]
- local uid = params[2]
- if guildPeopleHandleType == Enum.GuildPeopleHandleType.UpPresident then
- local guildData = self.controller:GetMemberMoreInfoByUid(uid)
- local nickName = nil
- if guildData and guildData.playerBrief then
- nickName = guildData.playerBrief.nickName
- end
- local data = {"GuildUpPresident", {nickName}, {uid = uid, post = Enum.GuildPostType.President}, self, self.SureChangePost}
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UINoticeTips, data)
- elseif guildPeopleHandleType == Enum.GuildPeopleHandleType.UpVicePresident then
- local guildData = self.controller:GetMemberMoreInfoByUid(uid)
- local nickName = nil
- if guildData and guildData.playerBrief then
- nickName = guildData.playerBrief.nickName
- end
- local data = {"GuildUpVicePresident", {nickName}, {uid = uid, post = Enum.GuildPostType.VicePresident}, self, self.SureChangePost}
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UINoticeTips, data)
- elseif guildPeopleHandleType == Enum.GuildPeopleHandleType.DownMember then
- local guildData = self.controller:GetMemberMoreInfoByUid(uid)
- local nickName = nil
- if guildData and guildData.playerBrief then
- nickName = guildData.playerBrief.nickName
- end
- local data = {"GuildDownMember", {nickName, CommonUtil.GetGuildPostStr(self.controller:GetGuildMemberPost(uid))}, {uid = uid, post = Enum.GuildPostType.None}, self, self.SureChangePost}
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UINoticeTips, data)
- elseif guildPeopleHandleType == Enum.GuildPeopleHandleType.PrivateChat then
- local guildData = self.controller:GetMemberMoreInfoByUid(uid)
- local nickName = nil
- local imgId = nil
- local jobId, level,sex
- if guildData and guildData.playerBrief then
- nickName = guildData.playerBrief.nickName
- imgId = guildData.playerBrief.headPortraitName
- jobId = guildData.playerBrief.config_id
- level = guildData.playerBrief.level
- sex = guildData.playerBrief.gender
- end
- ManagerContainer.LuaUIMgr:PrivateChatOtherPlayer(uid, nickName, imgId,jobId,level,sex)
- elseif guildPeopleHandleType == Enum.GuildPeopleHandleType.SeeInfo then
- ManagerContainer.LuaUIMgr:OpenRoleMessagePanel(uid)
- elseif guildPeopleHandleType == Enum.GuildPeopleHandleType.Interest then
- local friendState = ManagerContainer.DataMgr.FriendDataMgr:HasInterestPlayer(uid)
- if not friendState then
- ManagerContainer.DataMgr.FriendDataMgr:AddFriendReq(uid)
- end
- elseif guildPeopleHandleType == Enum.GuildPeopleHandleType.CancelInterest then
- local friendState = ManagerContainer.DataMgr.FriendDataMgr:HasInterestPlayer(uid)
- if friendState then
- ManagerContainer.DataMgr.FriendDataMgr:DeleteFriendReq(uid)
- end
- elseif guildPeopleHandleType == Enum.GuildPeopleHandleType.Kickout then
- local guildData = self.controller:GetMemberMoreInfoByUid(uid)
- local nickName = nil
- if guildData and guildData.playerBrief then
- nickName = guildData.playerBrief.nickName
- end
- local data = {"GuildKickout", {nickName}, {uid = uid}, self, self.SureKickout}
- ManagerContainer.LuaUIMgr:Open(Enum.UIPageName.UINoticeTips, data)
- end
- end
- return UIGuildMainView
|