154 lines
4.2 KiB
Plaintext
154 lines
4.2 KiB
Plaintext
EngageBookView = class("EngageBookView", SubView)
|
|
|
|
local _ZenyID = GameConfig.MoneyId.Zeny
|
|
local _TicketID = GameConfig.Wedding and GameConfig.Wedding.ticket_itemid or 5002
|
|
|
|
function EngageBookView:Init()
|
|
self:FindObjs()
|
|
self:AddEvts()
|
|
self:InitShow()
|
|
end
|
|
|
|
function EngageBookView:FindObjs()
|
|
self.gameObject = self:LoadPreferb("view/EngageBookView", nil, true)
|
|
self.closecomp = self.gameObject:GetComponent(CloseWhenClickOtherPlace)
|
|
self.zone = self:FindGO("Zone"):GetComponent(UILabel)
|
|
self.date = self:FindGO("Date"):GetComponent(UILabel)
|
|
self.target = self:FindGO("Target"):GetComponent(UILabel)
|
|
end
|
|
|
|
function EngageBookView:AddEvts()
|
|
self.closecomp.callBack = function (go)
|
|
self:ShowSelf(false)
|
|
end
|
|
|
|
local bookBtn = self:FindGO("BookBtn")
|
|
self:AddClickEvent(bookBtn, function ()
|
|
self:Book()
|
|
end)
|
|
end
|
|
|
|
function EngageBookView:InitShow()
|
|
local cost = self:FindGO("Cost")
|
|
self.cost = SpriteLabel.new(cost, nil, 32, 32, true)
|
|
end
|
|
|
|
function EngageBookView:SetData(data, stick, side, offset)
|
|
if data then
|
|
self:ShowSelf(true)
|
|
|
|
local pos = NGUIUtil.GetAnchorPoint(self.gameObject, stick, side, offset)
|
|
self.gameObject.transform.position = pos
|
|
|
|
local date = data.date
|
|
local day = data.day
|
|
|
|
self.timeStamp = date.timeStamp
|
|
self.configid = day.configid
|
|
|
|
self:UpdateView(date, day)
|
|
end
|
|
end
|
|
|
|
function EngageBookView:UpdateView(date, dayData)
|
|
self.zone.text = string.format(ZhString.Wedding_EngageBookZone, MyselfProxy.Instance:GetZoneString())
|
|
|
|
local year = 1900
|
|
self.month = 1
|
|
self.day = 1
|
|
if date ~= nil then
|
|
year = date.time.year
|
|
self.month = date.time.month
|
|
self.day = date.time.day
|
|
end
|
|
self.starthour = 0
|
|
self.endhour = 0
|
|
self.costValue = 9999999999
|
|
if dayData ~= nil then
|
|
self.starthour = dayData:GetStartTimeData().hour
|
|
self.endhour = dayData:GetEndTimeData().hour
|
|
self.costValue = dayData.price
|
|
end
|
|
self.date.text = string.format(ZhString.Wedding_EngageBookDate, year, self.month, self.day, self.starthour, self.endhour)
|
|
|
|
local itemid = _ZenyID
|
|
if WeddingProxy.Instance:IsEngageUseTicket() then
|
|
itemid = _TicketID
|
|
self.costValue = 1
|
|
end
|
|
local info = string.format(ZhString.Wedding_EngageBookCost, itemid, self.costValue)
|
|
self.cost:Reset()
|
|
self.cost:SetText(info, true)
|
|
|
|
local _Myself = Game.Myself
|
|
local followid = _Myself:Client_GetFollowLeaderID()
|
|
local handFollowerId = _Myself:Client_GetHandInHandFollower()
|
|
local isHanding = _Myself:Client_IsFollowHandInHand()
|
|
|
|
local handTargetId = isHanding and followid or handFollowerId
|
|
local user = NSceneUserProxy.Instance:Find(handTargetId)
|
|
local name = ""
|
|
if user ~= nil then
|
|
name = user.data.name
|
|
end
|
|
self.target.text = string.format(ZhString.Wedding_EngageBookTarget, name)
|
|
end
|
|
|
|
function EngageBookView:Book()
|
|
if not WeddingProxy.Instance:IsSelfSingle() then
|
|
MsgManager.ShowMsgByID(9648)
|
|
return
|
|
end
|
|
|
|
if self.timeStamp ~= nil and self.configid ~= nil then
|
|
--是否牽手
|
|
local _Myself = Game.Myself
|
|
local isHandFollow = _Myself:Client_IsFollowHandInHand()
|
|
local handFollowId = _Myself:Client_GetHandInHandFollower()
|
|
if isHandFollow == false and handFollowId == 0 then
|
|
MsgManager.ShowMsgByID(9600)
|
|
return
|
|
end
|
|
|
|
if handFollowId == 0 then
|
|
MsgManager.ShowMsgByID(9628)
|
|
return
|
|
end
|
|
|
|
--金幣是否足夠
|
|
local isUseTicket = WeddingProxy.Instance:IsEngageUseTicket()
|
|
local itemid = _TicketID
|
|
if not isUseTicket then
|
|
local total = MyselfProxy.Instance:GetROB()
|
|
if total < self.costValue then
|
|
MsgManager.ShowMsgByID(9603)
|
|
return
|
|
end
|
|
|
|
itemid = _ZenyID
|
|
end
|
|
|
|
local sb = LuaStringBuilder.CreateAsTable()
|
|
sb:Append(self.costValue)
|
|
sb:Append(Table_Item[itemid].NameZh)
|
|
|
|
MsgManager.ConfirmMsgByID(9604, function ()
|
|
local isHandFollow = _Myself:Client_IsFollowHandInHand()
|
|
local handFollowId = _Myself:Client_GetHandInHandFollower()
|
|
if isHandFollow == false and handFollowId == 0 then
|
|
MsgManager.ShowMsgByID(9600)
|
|
return
|
|
end
|
|
|
|
ServiceWeddingCCmdProxy.Instance:CallReserveWeddingDateCCmd(self.timeStamp, self.configid, handFollowId, isUseTicket)
|
|
|
|
self:ShowSelf(false)
|
|
end, nil, nil, sb:ToString(), MyselfProxy.Instance:GetZoneString(), self.month, self.day, self.starthour, self.endhour)
|
|
|
|
sb:Destroy()
|
|
end
|
|
end
|
|
|
|
function EngageBookView:ShowSelf(isShow)
|
|
self.gameObject:SetActive(isShow)
|
|
end |