autoImport("ListCtrl")
autoImport("CarrierWaitListCell")

DojoWaitView = class("DojoWaitView",ContainerView)

DojoWaitView.ViewType = UIViewType.PopUpLayer

function DojoWaitView:Init()

	self.waitCell = self:LoadPreferb("cell/WaitCell", self.gameObject)
	self.waitCell.transform.localPosition = Vector3.zero

 	self:FindObjs()
 	self:AddBtnEvents()
 	self:AddViewEvts()
 	self:InitShow()
end

function DojoWaitView:FindObjs()
	self.startBtn = self:FindGO("StartBtn")
	self.cancelBtn = self:FindGO("CancelBtn")
	self.waitGrid = self:FindGO("WaitList"):GetComponent(UIGrid)
	self.waitList = ListCtrl.new(self.waitGrid,CarrierWaitListCell,"CarrierWaitListCell")
end

function DojoWaitView:AddBtnEvents()
	self:AddClickEvent(self.startBtn,function(go)
		ServiceDojoProxy.Instance:CallEnterDojo(self.dojoid , Game.Myself.data.id)
		self:sendNotification(DojoEvent.EnterSuccess)
		self:CloseSelf()
	end)

	self:AddClickEvent(self.cancelBtn,function(go)
		ServiceDojoProxy.Instance:CallDojoSponsorCmd(self.dojoid , true)
		print("CallDojoSponsorCmd cancel")

		self:CloseSelf()
	end)
end

function DojoWaitView:AddViewEvts()
	self:AddListenEvt(ServiceEvent.DojoDojoReplyCmd , self.MemberAgree)
	self:AddListenEvt(DojoEvent.EnterSuccess , self.CloseSelf)
end

function DojoWaitView:InitShow()
	if self.viewdata.viewdata then
		self.dojoid = self.viewdata.viewdata
	end
	self:UpdateWait()
end

function DojoWaitView:UpdateWait()
	local members = DojoProxy.Instance:GetWaitData()
	self.waitList:ResetDatas(members)
end

function DojoWaitView:MemberAgree(note)
	local member = note.body
	local agree = true
	if member.eReply == Dojo_pb.EDOJOREPLY_DISAGREE then
		agree = false	
	end

	local cells = self.waitList:GetCells()
	for i=1,#cells do
		if cells[i].data.id == member.userid then
			cells[i]:Agree(agree)
			break
		end
	end
end