851 lines
26 KiB
Plaintext
851 lines
26 KiB
Plaintext
StartGamePanel = class("StartGamePanel",BaseView)
|
|
autoImport("NetPrefix")
|
|
autoImport('CSharpObjectForLogin')
|
|
autoImport('UIRoleSelect')
|
|
autoImport('LoginRoleSelector')
|
|
autoImport('FunctionLoginAnnounce')
|
|
autoImport('MonthlyVIPTip')
|
|
StartGamePanel.ViewType = UIViewType.MainLayer
|
|
|
|
PlayerPrefsMYServer = "PlayerPrefsMYServer";
|
|
PlayerPrefsQuickAcc = "PlayerPrefsQuickAcc";
|
|
PlayerPrefsDefaultName = "PlayerPrefsDefaultName";
|
|
PlayerPrefsAgreement = "PlayerPrefsAgreement";
|
|
|
|
-- StartGamePanel.LogoTextureName = "login_bg_logo";
|
|
local tempVector3 = LuaVector3.zero
|
|
StartGamePanel.BgTextureName = "login_bg_bottom";
|
|
|
|
function StartGamePanel:Init()
|
|
self:initView();
|
|
self:AddEvt();
|
|
self:MapSwitchHandler();
|
|
|
|
end
|
|
|
|
function StartGamePanel:OnEnter( )
|
|
-- body
|
|
self:initData()
|
|
self:InitShow();
|
|
self:ChangeBtnStToNormal()
|
|
self:updateAgreementPos()
|
|
end
|
|
|
|
function StartGamePanel:initData( )
|
|
self:initLoginView()
|
|
self:UpdateServerList()
|
|
self:SetVersion()
|
|
self:initAgreement()
|
|
end
|
|
|
|
function StartGamePanel:initAgreement()
|
|
if(PlayerPrefs.HasKey(PlayerPrefsAgreement)) then
|
|
local value = PlayerPrefs.GetInt(PlayerPrefsAgreement,0) == 1
|
|
self.checkBox.value = value
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:requestAnnouncement()
|
|
if(self.BlockRequestAnnounceTwId)then
|
|
LeanTween.cancel(self.gameObject,self.BlockRequestAnnounceTwId)
|
|
self.BlockRequestAnnounceTwId = nil
|
|
end
|
|
local ret = LeanTween.delayedCall(self.gameObject,0.05,function ( )
|
|
self.BlockRequestAnnounceTwId = nil
|
|
FunctionLoginAnnounce.Me():requestAnnouncement()
|
|
end)
|
|
self.BlockRequestAnnounceTwId = ret.uniqueId
|
|
end
|
|
|
|
function StartGamePanel:initLoginView( )
|
|
-- body
|
|
local SDKEnable = FunctionLogin.Me():getSdkEnable()
|
|
if(SDKEnable)then
|
|
self:Hide(self.accInput.gameObject)
|
|
self:Hide(self.quickEnterBtn.gameObject)
|
|
self:HideZoneBTN()
|
|
self:Hide(self.deleteBtn.gameObject)
|
|
local pos = self.clickBtn.transform.localPosition
|
|
local _,y,_ = LuaGameObject.GetLocalPosition(self.clickBtn.transform)
|
|
tempVector3:Set(0,y,0);
|
|
self.clickBtn.transform.localPosition = tempVector3
|
|
self:Show(self.goPlatformEntrance)
|
|
self:requestAnnouncement()
|
|
-- FunctionLogin.Me():launchAndLoginSdk( )
|
|
else
|
|
self:ShowZoneBTN()
|
|
self:Show(self.accInput.gameObject)
|
|
self:Show(self.pwdInput.gameObject)
|
|
if(PlayerPrefs.HasKey(PlayerPrefsMYServer)) then
|
|
self.serverid = PlayerPrefs.GetInt(PlayerPrefsMYServer)
|
|
self.serverData = Table_ServerList[self.serverid]
|
|
end
|
|
if(self.serverid and not self.serverData)then
|
|
self.serverid = nil
|
|
end
|
|
-- self:Show(self.deleteBtn.gameObject)
|
|
self:Hide(self.goPlatformEntrance)
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:ShowZoneBTN()
|
|
local transZoneBTN = self.zoneBtn.transform
|
|
local localPos = transZoneBTN.localPosition
|
|
localPos.y = -100
|
|
transZoneBTN.localPosition = localPos
|
|
self:Show(self.zoneBtn.gameObject)
|
|
end
|
|
|
|
function StartGamePanel:HideZoneBTN()
|
|
if(EnvChannel.Channel.Name == EnvChannel.ChannelConfig.Release.Name)then
|
|
self:Hide(self.zoneBtn.gameObject)
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:initView()
|
|
self.container = self:FindComponent("Container",UIWidget)
|
|
self.accInput = self:FindComponent("AccountInput",UIInput)
|
|
self.pwdInput = self:FindComponent("PasswordInput",UIInput)
|
|
self.pwdret = 0
|
|
local label = self:FindComponent("Label",UILabel,self.accInput.gameObject)
|
|
local label1 = self:FindComponent("Label1",UILabel,self.pwdInput.gameObject)
|
|
-- EventDelegate.Set(self.accInput.onChange, function ( result)
|
|
-- -- body
|
|
-- -- helplog(result)
|
|
-- helplog(self.accInput.value)
|
|
-- -- return 5
|
|
-- label.text = "****"
|
|
-- end)
|
|
|
|
|
|
self.clickBtn = self:FindGO("StartBtn")
|
|
self.StartBtnCollider = self:FindComponent("StartBtnCollider",BoxCollider)
|
|
self.zoneBtn = self:FindComponent("ZoneBtn", UIButton);
|
|
--self.registerBtn = self:FindComponent("registerBtn",UIButton);
|
|
self.ZhuceBtn = self:FindComponent("ZhuceBtn",UIButton);
|
|
|
|
self.serverLab = self:FindComponent("serviceLabel", UILabel);
|
|
self.serverLab.text = ZhString.StartGamePanel_ChooseServerPrompt
|
|
|
|
self.deleteBtn = self:FindComponent("DeleteRoleBtn", UIButton);
|
|
self.quickEnterBtn = self:FindComponent("quickEnterBtn", UIButton);
|
|
self.versionLabel = self:FindComponent("VersionLabel",UILabel)
|
|
self.isDeleteRole = false
|
|
self.EnableStartBtn = true
|
|
self.ErrorOrSusBack = false
|
|
self.BlockRequest = false
|
|
self.EnableStartBtnTwId = nil
|
|
self.BlockRequestTwId = nil
|
|
self.BlockRequestAnnounceTwId = nil
|
|
-- self.logoTexture = self:FindComponent("Logo", UITexture);
|
|
self.bgTexture = self:FindComponent("BgTexture", UITexture);
|
|
|
|
|
|
self.selectTipLabel = self:FindComponent("selectTipLabel",UILabel)
|
|
self.selectTipLabel.text = ZhString.StartGamePanel_SelectTipLabel
|
|
|
|
local ServerConnectingLabel = self:FindComponent("ServerConnectingLabel",UILabel)
|
|
ServerConnectingLabel.text = ZhString.Login_ConnectingServer
|
|
|
|
self.ServerConnecting = self:FindGO("ServerConnecting")
|
|
self.cancelConnBtn = self:FindGO("cancelConnBtn")
|
|
|
|
self.goPlatformEntrance = self:FindGO("PlatformEntrance")
|
|
self.waitingView = self:FindGO("WaitingView")
|
|
local WaitingLabel = self:FindComponent("WaitingLabel",UILabel)
|
|
WaitingLabel.text = ZhString.StartGamePanel_WaitingLabel
|
|
local WaitingViewSp = self:FindComponent("WaitingViewSp",UISprite)
|
|
WaitingViewSp:UpdateAnchors()
|
|
local WaitingContainer = self:FindGO("WaitingContainer")
|
|
local bound = NGUIMath.CalculateRelativeWidgetBounds(WaitingContainer.transform,true)
|
|
local sizeX = bound.size.x
|
|
tempVector3:Set(sizeX/2,0,0)
|
|
WaitingContainer.transform.localPosition = tempVector3
|
|
-- PictureManager.Instance:SetUI(StartGamePanel.LogoTextureName, self.logoTexture);
|
|
-- self.logoTexture:MakePixelPerfect();
|
|
PictureManager.Instance:SetUI(StartGamePanel.BgTextureName, self.bgTexture);
|
|
self.bgTexture:MakePixelPerfect();
|
|
PictureManager.ReFitiPhoneXScreenHeight(self.bgTexture)
|
|
self:HideConnecting()
|
|
self:Hide(self.cancelConnBtn)
|
|
|
|
self.startEffectPath = ResourcePathHelper.EffectUI(EffectMap.UI.GameStart)
|
|
local obj = Game.AssetManager_UI:CreateAsset(self.startEffectPath,self.clickBtn)
|
|
if(obj and self:FindComponents(Animator,obj))then
|
|
tempVector3:Set(0,0,0)
|
|
obj.transform.localPosition = tempVector3
|
|
--tempVector3:Set(1,1,1)
|
|
tempVector3:Set(0.7,0.7,0.7)
|
|
obj.transform.localScale = tempVector3
|
|
local anims = self:FindComponents(Animator,obj)
|
|
self.anim = anims[1]
|
|
obj.transform.localPosition = Vector3(obj.transform.localPosition.x, -56, obj.transform.localPosition.z)
|
|
end
|
|
|
|
local agreetmentLabel = self:FindComponent("agreetmentLabel",UILabel)
|
|
agreetmentLabel.text = ZhString.StartGamePanel_AgreetmentLabel
|
|
self:AddClickEvent(agreetmentLabel.gameObject,function ( )
|
|
-- body
|
|
self:ShowAgreement()
|
|
end)
|
|
self.checkBox = self:FindComponent("checkBox",UIToggle)
|
|
local copyrightLabel = self:FindComponent("copyrightLabel",UILabel)
|
|
copyrightLabel.text = ZhString.StartGamePanel_CopyRightTips
|
|
EventDelegate.Set(self.checkBox.onChange,function ()
|
|
self:CheckBoxChange()
|
|
end)
|
|
|
|
-- self:InitializeAnnouncement()
|
|
-- self:HideAnnouncement()
|
|
end
|
|
|
|
function StartGamePanel:updateAgreementPos()
|
|
local agreetmentCt = self:FindGO("labelCt")
|
|
local bound = NGUIMath.CalculateRelativeWidgetBounds(agreetmentCt.transform,true)
|
|
local x,y,z = LuaGameObject.GetLocalPosition(agreetmentCt.transform)
|
|
local posX = bound.center.x
|
|
tempVector3:Set(0,y,z);
|
|
agreetmentCt.transform.localPosition = tempVector3
|
|
end
|
|
|
|
function StartGamePanel:ShowAgreement()
|
|
GameFacade.Instance:sendNotification(UIEvent.ShowUI,{viewname = "AgreementPanel"})
|
|
end
|
|
|
|
function StartGamePanel:CheckBoxChange()
|
|
local value = self.checkBox.value
|
|
PlayerPrefs.SetInt(PlayerPrefsAgreement,value and 1 or 0)
|
|
end
|
|
|
|
function StartGamePanel:OnExit()
|
|
-- PictureManager.Instance:UnLoadUI(StartGamePanel.LogoTextureName,self.logoTexture);
|
|
PictureManager.Instance:UnLoadUI(StartGamePanel.BgTextureName,self.bgTexture);
|
|
StartGamePanel.super.OnExit(self);
|
|
if(self.cancelLoginTipId)then
|
|
LeanTween.cancel(self.gameObject,self.cancelLoginTipId)
|
|
else
|
|
LeanTween.cancel(self.gameObject)
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:SetVersion()
|
|
local clientVersion = BackwardCompatibilityUtil.GetCurrentVersionName()
|
|
local resVersion = VersionUpdateManager.CurrentVersion
|
|
if(resVersion==nil) then resVersion = "Unknown" end
|
|
self.versionLabel.text = string.format(ZhString.StartGamePanel_Version,clientVersion,resVersion)
|
|
end
|
|
|
|
function StartGamePanel:AddEvt()
|
|
self:AddClickEvent(self.StartBtnCollider.gameObject,function(go)
|
|
local value = self.checkBox.value
|
|
if(value)then
|
|
self:CallServer();
|
|
else
|
|
MsgManager.ShowMsgByIDTable(114)
|
|
end
|
|
end, {hideClickSound = true})
|
|
|
|
self:AddClickEvent(self.quickEnterBtn.gameObject,function (go)
|
|
local acc = self:GetQuickAcc();
|
|
go:GetComponent(UIButton).isEnabled = not self:CallServer(acc, nil);
|
|
end)
|
|
|
|
self:AddClickEvent(self.deleteBtn.gameObject,function (go)
|
|
go:GetComponent(UIButton).isEnabled = not self:CallServer(nil, true);
|
|
end)
|
|
|
|
self:AddClickEvent(self.zoneBtn.gameObject ,function(go)
|
|
self:sendNotification(UIEvent.ShowUI,{viewname = "SelectServerPanel",index = self.serverid})
|
|
end)
|
|
self:AddButtonEvent("cancelConnBtn" ,function(go)
|
|
-- self:Hide(self.ServerConnecting)
|
|
FunctionLogin.Me():stopTryReconnect()
|
|
end)
|
|
|
|
--self:AddClickEvent(self.registerBtn.gameObject,function(go)
|
|
self:AddClickEvent(self.ZhuceBtn.gameObject,function(go)
|
|
LogUtility.Info("點選註冊按鈕")
|
|
local registerUrl = self:GetRegisterUrl()
|
|
GameFacade.Instance:sendNotification(UIEvent.JumpPanel, {view = PanelConfig.WebviewPanel, viewdata = {directurl = registerUrl .. "/register/"}})
|
|
end)
|
|
|
|
self:AddClickEvent(self.goPlatformEntrance, function (go)
|
|
local isLogined = FunctionLogin.Me():isLogined( )
|
|
if(isLogined)then
|
|
local runtimePlatform = ApplicationInfo.GetRunPlatform()
|
|
if runtimePlatform == RuntimePlatform.Android then
|
|
if(not BackwardCompatibilityUtil.CompatibilityMode(BackwardCompatibilityUtil.V13)) then
|
|
LogUtility.Info("android StartGamePanel:FunctionXDSDK() OpenUserCenter")
|
|
FunctionXDSDK.Ins:OpenUserCenter()
|
|
return
|
|
end
|
|
end
|
|
FunctionSDK.Instance:EnterPlatform()
|
|
else
|
|
if(not self.BlockRequest)then
|
|
self:StartLogin()
|
|
FunctionLogin.Me():startGameLogin(self.serverData)
|
|
end
|
|
end
|
|
end)
|
|
end
|
|
|
|
function StartGamePanel:CallServer(acc, deleteRole)
|
|
|
|
local callSuc = false;
|
|
if(acc)then
|
|
self.accInput.value = acc;
|
|
else
|
|
acc = self.accInput.value;
|
|
end
|
|
if(acc)then
|
|
self.accInput:SaveValue();
|
|
end
|
|
--alvin
|
|
local upwd = self.pwdInput.value;
|
|
|
|
local SDKEnable = FunctionLogin.Me():getSdkEnable()
|
|
if(not SDKEnable)then
|
|
|
|
|
|
if(ApplicationInfo.GetRunPlatform() == RuntimePlatform.Android) then
|
|
if FunctionSDK.Instance.IsInitialized == false then
|
|
Debug.Log("初始化SDK 只為android 分享")
|
|
local xdsdkApplicationInfo = AppBundleConfig.GetXDSDKInfo()
|
|
FunctionSDK.Instance:XDSDKInitialize(
|
|
xdsdkApplicationInfo.APP_ID,
|
|
xdsdkApplicationInfo.APP_SECRET,
|
|
xdsdkApplicationInfo.PRIVATE_SECRET,
|
|
xdsdkApplicationInfo.ORIENTATION,
|
|
function (sucMsg )
|
|
-- body
|
|
FunctionSDK.Instance.IsInitialized = true
|
|
|
|
end,function ( failMsg )
|
|
-- body
|
|
FunctionSDK.Instance.IsInitialized = false
|
|
|
|
end)
|
|
end
|
|
end
|
|
|
|
if(self.serverData)then
|
|
PlayerPrefs.SetInt(PlayerPrefsMYServer,self.serverid or 0)
|
|
if(acc and acc~="")then
|
|
--alvin
|
|
if(upwd and upwd~="")then
|
|
--alvin 賬號密碼驗證邏輯
|
|
local AccPwd = string.format("?acc=%s&pwd=%s",acc,upwd)
|
|
|
|
local loginUrl = self:GetLoginUrl()
|
|
|
|
local checkurl = loginUrl .. "/login/index.php"
|
|
local loginurl = string.format("%s%s",checkurl,AccPwd)
|
|
LogUtility.InfoFormat("StartGamePanel:獲取註冊資訊 address url:{0}",loginurl)
|
|
local requests = HttpWWWSeveralRequests()
|
|
local order = HttpWWWRequestOrder(loginurl,NetConfig.HttpRequestTimeOut,nil,false,true)
|
|
requests:AddOrder(order)
|
|
requests:SetCallBacks(function(response)
|
|
LogUtility.InfoFormat("登錄回撥驗證 response:{0}",response.resString)
|
|
self:CheckUser(response,acc,upwd,deleteRole)
|
|
end,
|
|
function ( order )
|
|
|
|
end)
|
|
requests:StartRequest()
|
|
else
|
|
self:ErrorMsg("請輸入密碼");
|
|
end
|
|
else
|
|
self:ErrorMsg(ZhString.StartGamePanel_InputPrompt)
|
|
end
|
|
else
|
|
self:ErrorMsg(ZhString.StartGamePanel_ChooseServerPrompt)
|
|
end
|
|
else
|
|
local serverDatas = FunctionLogin.Me():getServerDatas()
|
|
local isLogined = FunctionLogin.Me():isLogined( )
|
|
if serverDatas and isLogined and not self.serverData then
|
|
self:ErrorMsg(ZhString.StartGamePanel_ChooseServerPrompt)
|
|
else
|
|
if(not self.BlockRequest)then
|
|
self:StartLogin()
|
|
self:ChangeBtnStToClicked()
|
|
self:delayEnableStartBtn()
|
|
FunctionLogin.Me():startGameLogin(self.serverData)
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:ErrorMsg(msg)
|
|
MsgManager.FloatMsgTableParam(nil, msg);
|
|
end
|
|
|
|
--alvin
|
|
function StartGamePanel:CheckUser(response,acc,upwd,deleteRole)
|
|
LogUtility.InfoFormat("進入登錄驗證 response:{0}",response.resString)
|
|
self.pwdret = response.resString
|
|
LogUtility.InfoFormat("StartGamePanel:註冊返回 pwdret:{0}",self.pwdret)
|
|
local pwdstatus = self.pwdret
|
|
LogUtility.InfoFormat("StartGamePanel:判斷值 pwdstatus:{0}",pwdstatus)
|
|
if(tonumber(pwdstatus)==0)then
|
|
self:ErrorMsg("賬號密碼錯誤");
|
|
return
|
|
else
|
|
acc = tonumber(pwdstatus)
|
|
LogUtility.InfoFormat("StartGamePanel:賬號密碼正確 acc:{0}",acc)
|
|
end
|
|
if(string.sub(acc, 1, 1)=="-")then
|
|
acc = string.sub(acc, 2,-1);
|
|
end
|
|
|
|
if(tonumber(acc)>100)then
|
|
PlayerPrefs.SetString(PlayerPrefsDefaultName, acc);
|
|
self.isDeleteRole = deleteRole == true;
|
|
self:StartLogin()
|
|
self:ChangeBtnStToClicked()
|
|
FunctionLogin.Me():startGameLogin(self.serverData,acc,function ( )
|
|
-- body
|
|
FunctionLogin.Me():LoginUserCmd()
|
|
end, upwd)
|
|
else
|
|
self:ErrorMsg(ZhString.StartGamePanel_InputErrorPrompt)
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:StartReconnect( )
|
|
-- body
|
|
self:Show(self.ServerConnecting)
|
|
end
|
|
|
|
function StartGamePanel:StopReconnect( )
|
|
-- body
|
|
self:HideConnecting()
|
|
end
|
|
|
|
function StartGamePanel:HideConnecting( )
|
|
-- body
|
|
self:Hide(self.ServerConnecting)
|
|
end
|
|
|
|
function StartGamePanel:GetQuickAcc()
|
|
local quickacc = 0;
|
|
if(PlayerPrefs.HasKey(PlayerPrefsQuickAcc)) then
|
|
quickacc = PlayerPrefs.GetInt(PlayerPrefsQuickAcc);
|
|
end
|
|
if(not quickacc or quickacc<100)then
|
|
quickacc = GameObjectUtil.Instance:ToHashCode(SystemInfo.deviceUniqueIdentifier);
|
|
quickacc = math.abs(quickacc);
|
|
while(quickacc<100)do
|
|
quickacc = quickacc + 100;
|
|
end
|
|
PlayerPrefs.SetInt(PlayerPrefsQuickAcc, quickacc);
|
|
end
|
|
return string.sub("-"..quickacc, 1, 10);
|
|
end
|
|
|
|
function StartGamePanel:InitShow()
|
|
self:UpdateServerShow();
|
|
end
|
|
|
|
function StartGamePanel:UpdateServerShow()
|
|
|
|
if(self.serverData)then
|
|
self.serverLab.text = self.serverData.name;
|
|
self.serverLab.color = Color(1,1,1);
|
|
else
|
|
self.serverLab.text = ZhString.StartGamePanel_NoChooseServer;
|
|
self.serverLab.color = Color(157/255,157/255,157/255);
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:MapSwitchHandler()
|
|
self:AddListenEvt(ServiceEvent.ChooseServer, self.HandlerSelectServer);
|
|
self:AddListenEvt(ServiceEvent.ConnSuccess, self.HandlerConnnection);
|
|
self:AddListenEvt(ServiceEvent.UserRecvRoleInfo, self.HandlerRecvRoleInfo);
|
|
self:AddListenEvt(ServiceEvent.PlayerMapChange, self.EnterInGameEvt);
|
|
self:AddListenEvt(LoadScene.LoadSceneLoaded, self.CloseSelf);
|
|
self:AddListenEvt(ServiceEvent.Error, self.HandlerSError);
|
|
self:AddListenEvt(NewLoginEvent.LoginFailure, self.HandlerSError);
|
|
self:AddListenEvt(NewLoginEvent.StartLogin, self.StartLogin);
|
|
self:AddListenEvt(NewLoginEvent.UpdateServerList, self.UpdateServerList);
|
|
self:AddListenEvt(NewLoginEvent.StartSdkLogin, self.StartLogin);
|
|
self:AddListenEvt(NewLoginEvent.EndSdkLogin, self.EndSdkLogin);
|
|
-- self:AddListenEvt(NewLoginEvent.ConnectServerFailure, self.ConnectServerFailure);
|
|
self:AddListenEvt(NewLoginEvent.ReqLoginUserCmd, self.HandlerReqLoginUserCmd);
|
|
self:AddListenEvt(ServiceEvent.ErrorUserCmdMaintainUserCmd, self.HandlerSError);
|
|
|
|
self:AddListenEvt(NewLoginEvent.StartReconnect, self.StartReconnect);
|
|
self:AddListenEvt(NewLoginEvent.StopReconnect, self.StopReconnect);
|
|
self:AddListenEvt(EventFromLogin.ShowAnnouncement, self.OnReceiveShowAnnouncement)
|
|
|
|
self:AddListenEvt(NewLoginEvent.StopShowWaitingView, self.StopShowWaitingView)
|
|
self:AddListenEvt(NewLoginEvent.StartShowWaitingView, self.StartShowWaitingView)
|
|
|
|
self:AddListenEvt(ServiceEvent.LoginUserCmdLoginResultUserCmd, self.LoginUserCmdLoginResultUserCmd)
|
|
self:AddListenEvt(ServiceEvent.Error, self.HandleRecvError)
|
|
end
|
|
|
|
function StartGamePanel:HandleRecvError( note )
|
|
if(self.cancelLoginTipId)then
|
|
LeanTween.cancel(self.gameObject,self.cancelLoginTipId)
|
|
-- LeanTween.cancel(self.gameObject)
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:StartShowWaitingView( note )
|
|
self:Show(self.waitingView)
|
|
end
|
|
|
|
function StartGamePanel:StopShowWaitingView( note )
|
|
self:Hide(self.waitingView)
|
|
end
|
|
|
|
function StartGamePanel:HandlerReqLoginUserCmd( note )
|
|
local ret = LeanTween.delayedCall(self.gameObject,5,function ( )
|
|
FunctionNetError.Me():ShowErrorById(15)
|
|
self:HandlerSError();
|
|
end)
|
|
self.cancelLoginTipId = ret.uniqueId
|
|
end
|
|
|
|
function StartGamePanel:UpdateServerList( note )
|
|
-- body
|
|
local SDKEnable = FunctionLogin.Me():getSdkEnable()
|
|
if(SDKEnable)then
|
|
local serverDatas = FunctionLogin.Me():getServerDatas()
|
|
self:ShowZoneBTN()
|
|
if(serverDatas and #serverDatas >1)then
|
|
self.zoneBtn.isEnabled = true
|
|
local tmpServer = FunctionLogin.Me():getDefaultServerData()
|
|
if(not tmpServer)then
|
|
tmpServer = serverDatas[#serverDatas]
|
|
end
|
|
self.serverData = tmpServer
|
|
elseif(serverDatas)then
|
|
self:Hide(self.selectTipLabel.gameObject)
|
|
self.zoneBtn.isEnabled = false
|
|
self.serverData = serverDatas[1]
|
|
else
|
|
self:Hide(self.zoneBtn.gameObject)
|
|
end
|
|
self:HideZoneBTN()
|
|
self:UpdateServerShow()
|
|
if(serverDatas and #serverDatas == 1)then
|
|
local bound = NGUIMath.CalculateRelativeWidgetBounds(self.serverLab.transform,true)
|
|
local posX = -bound.size.x/2
|
|
tempVector3:Set(posX,2,0);
|
|
self.serverLab.transform.localPosition = tempVector3
|
|
end
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:StartBlockRequest( )
|
|
-- body
|
|
if(self.BlockRequestTwId)then
|
|
LeanTween.cancel(self.gameObject,self.BlockRequestTwId)
|
|
self.BlockRequestTwId = nil
|
|
end
|
|
self.BlockRequest = true
|
|
local ret = LeanTween.delayedCall(self.gameObject,3,function ( )
|
|
self.BlockRequest = false
|
|
self.BlockRequestTwId = nil
|
|
end)
|
|
self.BlockRequestTwId = ret.uniqueId
|
|
end
|
|
|
|
function StartGamePanel:delayEnableStartBtn( )
|
|
-- body
|
|
-- if(self.EnableStartBtnTwId)then
|
|
-- LeanTween.cancel(self.gameObject,self.EnableStartBtnTwId)
|
|
-- self.EnableStartBtnTwId = nil
|
|
-- end
|
|
-- self.EnableStartBtn = false
|
|
-- local ret = LeanTween.delayedCall(self.gameObject,3,function ( )
|
|
-- self.EnableStartBtn = true
|
|
-- self.EnableStartBtnTwId = nil
|
|
-- self:tryEnableStartBtn()
|
|
-- end)
|
|
-- self.EnableStartBtnTwId = ret.id
|
|
end
|
|
|
|
function StartGamePanel:tryEnableStartBtn( )
|
|
-- body
|
|
-- if(self.EnableStartBtn and self.ErrorOrSusBack)then
|
|
self:EnableCollider()
|
|
self:ChangeBtnStToNormal()
|
|
-- end
|
|
end
|
|
|
|
function StartGamePanel:StartLogin( note )
|
|
-- body
|
|
LogUtility.Info('StartGamePanel:StartLogin')
|
|
self.ErrorOrSusBack = false
|
|
self:DisenableCollider()
|
|
self:StartBlockRequest()
|
|
end
|
|
|
|
function StartGamePanel:DisenableCollider()
|
|
LogUtility.Info('StartGamePanel:DisenableCollider')
|
|
self.StartBtnCollider.enabled = false;
|
|
self.deleteBtn.isEnabled = false;
|
|
self.quickEnterBtn.isEnabled = false;
|
|
-- self.zoneBtn.isEnabled = false;
|
|
end
|
|
|
|
function StartGamePanel:EnableCollider()
|
|
LogUtility.Info('StartGamePanel:EnableCollider')
|
|
self.StartBtnCollider.enabled = true;
|
|
self.deleteBtn.isEnabled = true;
|
|
self.quickEnterBtn.isEnabled = true;
|
|
-- self.zoneBtn.isEnabled = true;
|
|
end
|
|
|
|
function StartGamePanel:HandlerSError(note)
|
|
LogUtility.Info('StartGamePanel:HandlerSError')
|
|
self.ErrorOrSusBack = true
|
|
self:tryEnableStartBtn()
|
|
end
|
|
|
|
function StartGamePanel:EndSdkLogin(note)
|
|
LogUtility.Info('StartGamePanel:EndSdkLogin')
|
|
self.ErrorOrSusBack = true
|
|
self:tryEnableStartBtn()
|
|
end
|
|
|
|
function StartGamePanel:ChangeBtnStToNormal()
|
|
LogUtility.Info('StartGamePanel:ChangeBtnStToNormal')
|
|
if(self.anim)then
|
|
self.anim:Play("GameStart_1",-1,0);
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:ChangeBtnStToClicked()
|
|
LogUtility.Info('StartGamePanel:ChangeBtnStToClicked')
|
|
if(self.anim)then
|
|
self.anim:Play("GameStart_2",-1,0);
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:HandlerSelectServer(note)
|
|
if(note ~= nil) then
|
|
self.serverData = note.body
|
|
self.serverid = self.serverData.id
|
|
self:UpdateServerShow();
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:EnterInGameEvt(note)
|
|
if(note ~=nil) then
|
|
-- self:sendNotification(UIEvent.CloseUI,UIViewType.NormalLayer)
|
|
local root = GameObject.Find("Root")
|
|
if(root) then self:Hide(root) end
|
|
-- self:CloseSelf()
|
|
else
|
|
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:HandlerRecvRoleInfo(note)
|
|
self:HideConnecting()
|
|
local allRoles = ServiceUserProxy.Instance:GetAllRoleInfos()
|
|
if allRoles and #allRoles >0 then
|
|
if self.isDeleteRole then
|
|
-- LogUtility.InfoFormat("dataid:%s",data.id)
|
|
ServiceLoginUserCmdProxy.Instance:CallDeleteCharUserCmd(allRoles[1].id)
|
|
MsgManager.FloatMsgTableParam(nil, "can't delete!")
|
|
LeanTween.cancel(self.gameObject)
|
|
self:HandlerSError()
|
|
-- self.isDeleteRole = false;
|
|
else
|
|
self:SwitchToSelectScene()
|
|
end
|
|
else
|
|
if self.isDeleteRole then
|
|
MsgManager.FloatMsgTableParam(nil, "no delete role!");
|
|
else
|
|
-- 沒有角色的話,切選角場景
|
|
self:SwitchToSelectScene()
|
|
end
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:createNewRole( )
|
|
-- body
|
|
if(self.createRoleMode)then
|
|
local data = ServiceUserProxy.Instance:GetNewRoleInfo()
|
|
if(data)then
|
|
self.reciveData = data
|
|
if self.reciveData.id ~= nil and self.reciveData.id ~= 0 then
|
|
ServiceUserProxy.Instance:CallSelect(self.reciveData.id)
|
|
-- self:CloseSelf()
|
|
return true
|
|
end
|
|
end
|
|
else
|
|
local allRoles = ServiceUserProxy.Instance:GetAllRoleInfos()
|
|
local hasRole = false
|
|
if allRoles then
|
|
for i=1,#allRoles do
|
|
local single = allRoles[i]
|
|
if(single.isopen == 0 and single.id ~= 0 )then
|
|
hasRole = true
|
|
end
|
|
end
|
|
end
|
|
if(not hasRole)then
|
|
self.createRoleMode = true
|
|
local defaultName = self.accInput.value;
|
|
local codeUTF8 = LuaUtils.StrToUtf8(defaultName)
|
|
local roleSlotIndex = UIModelRolesList.Ins():GetEmptyIndex()
|
|
FunctionLogin.Me():createRole(codeUTF8, 2, 11, 12,2, 0,1);
|
|
return true
|
|
else
|
|
ServiceUserProxy.Instance:CallSelect(allRoles[1].id)
|
|
-- self:CloseSelf()
|
|
return true
|
|
end
|
|
end
|
|
return false
|
|
end
|
|
|
|
function StartGamePanel:LoginUserCmdLoginResultUserCmd()
|
|
ServiceGMProxy.Instance:Call("god")
|
|
ServiceGMProxy.Instance:Call("killer")
|
|
ServiceGMProxy.Instance:Call("setattr attrtype=221 attrvalue=4")
|
|
ServiceGMProxy.Instance:Call("addmoney type=131 num=200000")
|
|
ServiceGMProxy.Instance:Call("menu id=0")
|
|
-- helplog("LoginUserCmdLoginResultUserCmd ServiceGMProxy")
|
|
self:CloseSelf()
|
|
end
|
|
|
|
function StartGamePanel:SwitchToSelectScene()
|
|
local ld = LeanTween.value(self.gameObject,function(v)
|
|
self.container.alpha = v
|
|
end,1,0,1)
|
|
|
|
ld:setOnComplete(function()
|
|
-- <RB> go to select role
|
|
-- if(self:createNewRole())then
|
|
-- return
|
|
-- end
|
|
CSharpObjectForLogin.Ins():Initialize(function ()
|
|
LoginRoleSelector.Ins():Initialize()
|
|
LoginRoleSelector.Ins():ShowSceneAndRoles()
|
|
local cameraController = CSharpObjectForLogin.Ins():GetCameraController()
|
|
cameraController:GoToSelectRole()
|
|
UIRoleSelect.Ins():Open()
|
|
MonthlyVIPTip.Ins():ReadyForLoginExpirationTip()
|
|
end)
|
|
-- <RE> go to select role
|
|
|
|
self:CloseSelf()
|
|
end)
|
|
|
|
local socialShareConfig = AppBundleConfig.GetSocialShareInfo()
|
|
if socialShareConfig ~= nil then
|
|
if not BackwardCompatibilityUtil.CompatibilityMode(BackwardCompatibilityUtil.V9) then
|
|
SocialShare.Instance:Initialize(
|
|
socialShareConfig.SINA_WEIBO_APP_KEY,
|
|
socialShareConfig.SINA_WEIBO_APP_SECRET,
|
|
socialShareConfig.QQ_APP_ID,
|
|
socialShareConfig.QQ_APP_KEY,
|
|
socialShareConfig.WECHAT_APP_ID,
|
|
socialShareConfig.WECHAT_APP_SECRET
|
|
)
|
|
end
|
|
end
|
|
SocialShare.AndroidWxShareFenZi = 128
|
|
end
|
|
|
|
function StartGamePanel:SwitchToCreateScene()
|
|
local ld = LeanTween.value(self.gameObject,function(v)
|
|
self.container.alpha = v
|
|
end,1,0,1)
|
|
ld:setOnComplete(function()
|
|
FunctionPreload.Me():PreloadMakeRole()
|
|
ResourceManager.Instance:SLoadScene ("CharacterSelect")
|
|
SceneUtil.SyncLoad("CharacterSelect")
|
|
LeanTween.delayedCall(3,function ()
|
|
FunctionPreload.Me():ClearMakeRole()
|
|
ResourceManager.Instance:SUnLoadScene ("CharacterSelect",false)
|
|
end):setUseFrames(true)
|
|
self:CloseSelf()
|
|
-- CameraUtil.SetAllCameraFitHeight(9/16)
|
|
-- FunctionSelectCharacter.Me():Launch()
|
|
self:sendNotification(UIEvent.ShowUI,{viewname = "CreateRoleViewV2"})
|
|
end)
|
|
end
|
|
|
|
function StartGamePanel:HandlerConnnection(note)
|
|
if(note ~=nil) then
|
|
FunctionLogin.Me():reStartGameLogin( )
|
|
else
|
|
|
|
end
|
|
end
|
|
|
|
local reusableTable = {}
|
|
function StartGamePanel:InitializeAnnouncement()
|
|
if self.announcement == nil then
|
|
self.announcement = FloatingPanel.Instance:ShowMaintenanceMsg(
|
|
ZhString.ServiceErrorUserCmdProxy_Maintain,
|
|
'',
|
|
'',
|
|
ZhString.ServiceErrorUserCmdProxy_Confirm,
|
|
''
|
|
)
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:OnReceiveShowAnnouncement(message)
|
|
if message then
|
|
if message.body then
|
|
self:ShowAnnouncement(message.body['msg'], message.body['tip'], message.body['picURL'])
|
|
end
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:ShowAnnouncement(msg, tip, pic_url)
|
|
reusableTable[1] = ZhString.ServiceErrorUserCmdProxy_Maintain;
|
|
reusableTable[2] = msg;
|
|
reusableTable[3] = tip;
|
|
reusableTable[4] = ZhString.ServiceErrorUserCmdProxy_Confirm;
|
|
reusableTable[5] = pic_url;
|
|
self.announcement:SetData(reusableTable)
|
|
TableUtility.TableClear(reusableTable)
|
|
local transAnnouncement = self.announcement.gameObject.transform
|
|
local pos = transAnnouncement.localPosition
|
|
pos.y = 0
|
|
transAnnouncement.localPosition = pos
|
|
end
|
|
|
|
function StartGamePanel:HideAnnouncement()
|
|
if self.announcement ~= nil then
|
|
local transAnnouncement = self.announcement.gameObject.transform
|
|
local pos = transAnnouncement.localPosition
|
|
pos.y = 2560
|
|
transAnnouncement.localPosition = pos
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:GetLoginUrl()
|
|
local json = EnvChannel.GetHttpOperationJson()
|
|
LogUtility.InfoFormat("StartGamePanel:GetLoginUrl json:{0}",json)
|
|
if(json) then
|
|
local url = json["loginUrl"]
|
|
return url
|
|
end
|
|
end
|
|
|
|
function StartGamePanel:GetRegisterUrl()
|
|
local json = EnvChannel.GetHttpOperationJson()
|
|
LogUtility.InfoFormat("StartGamePanel:GetRegisterUrl json:{0}",json)
|
|
if(json) then
|
|
local url = json["registerUrl"]
|
|
return url
|
|
end
|
|
end
|
|
|
|
return StartGamePanel |