• 好烂的项目代码啊,真想....


       1 local UserDefault = cc.UserDefault:getInstance()
       2 local cjson = require("cjson")
       3 local PlayerInfo = require("src/app/views/PlayerInfo/PlayerInfo")
       4 local TaskInfo = require("src/app/views/task/TaskInfo")
       5 local BagAndStore = require("src/app/views/bag/BagAndStore")
       6 local TaskQuickNoticeCfg = require("app/cfg/TaskQuickNoticeCfg")
       7 
       8 SaveDataManager = require("src/app/util/SaveDataManager")
       9 ScienceStudyCfg = require("src/app/cfg/ScienceStudyCfg")
      10 
      11 cc.utils = require("framework.cc.utils.init")
      12 cc.net = require("framework.cc.net.init")
      13 cc.uiload = require("framework.cc.uiloader.uiloader")
      14 local WorldScene = class("WorldScene", function()
      15 return display.newScene("WorldScene")
      16 end)
      17 
      18 local openBtn = {
      19 [1] = { normal = "pic/mainmap_right/btn/btn_up.png", down = "pic/mainmap_right/btn/btn_upPress.png" },
      20 [2] = { normal = "pic/mainmap_right/btn/btn_down.png", down = "pic/mainmap_right/btn/btn_downPress.png" },
      21 [3] = { normal = "pic/resources/resource_jiaoqu/btn_jiaoqu_02.png", down = "pic/resources/resource_jiaoqu/btn_jiaoqu_02.png" },
      22 [4] = { normal = "pic/resources/resource_jiaoqu/btn_jiaoqu_01.png", down = "pic/resources/resource_jiaoqu/btn_jiaoqu_01.png" },
      23 }
      24 
      25 local Scheduler = cc.Director:getInstance():getScheduler()
      26 
      27 g_SpeedUpFree = 3
      28 --新手引导结束回调
      29 NoviceGuide:registerGuideEnd(function()
      30 
      31 if gWorldScene == nil then
      32 return
      33 end
      34 
      35 gWorldScene:freshRBtn()
      36 gWorldScene:freshQuick()
      37 gWorldScene:getGametips()
      38 gWorldScene:getAnnouncement()
      39 
      40 gWorldScene:NoviceGuideWomenshow()
      41 
      42 --if cc.UserDefault:getInstance():getIntegerForKey("firstGuanQia", 0) ~= 1 then
      43 --
      44 -- --关卡动画显示
      45 -- --列表
      46 -- local list = gWorldScene.BottomUI:getChildByName("ListView_1")
      47 -- local budui = list:getChildByName("Button_2")
      48 -- --Animation:playAnimation2(budui,gUIeffect[6].effect,1)
      49 -- local anim = Animation:playAnimation2(budui, gUIeffect[34].effect, 1)
      50 -- if anim ~= nil then
      51 -- local x, y = anim:getPosition()
      52 -- anim:setPosition(cc.p(x, y + 5))
      53 -- end
      54 --
      55 -- cc.UserDefault:getInstance():setIntegerForKey("firstGuanQia", 1)
      56 --end
      57 --if gWorldScene.FirstRechargeIcon then
      58 -- gWorldScene.FirstRechargeIcon:playAnimation()
      59 --end
      60 --
      61 --
      62 --if gWorldScene.FixTimeFirstPayIcon and gWorldScene.FixTimeFirstPayIcon:isVisible() then
      63 -- gWorldScene.FixTimeFirstPayIcon:playAnimation()
      64 --end
      65 --
      66 --
      67 --if gWorldScene.Gift_rmb3_Icon and gWorldScene.Gift_rmb3_Icon:isVisible() then
      68 -- gWorldScene.Gift_rmb3_Icon:playAnimation()
      69 --end
      70 
      71 -- 弹出援军礼包
      72 require("app/views/activity/FirstRechargePopout"):show(gWorldScene, true)
      73 -- 弹出新手礼包
      74 require("app/util/MainMapPopoutUtils"):checkNewPlayerPkg(gWorldScene)
      75 -- 刷新大地图显示
      76 app:dispatchEvent({name="freshResShow"})
      77 end)
      78 --
      79 APP_ENTER_BACKGROUND_EVENT = "APP_ENTER_BACKGROUND_EVENT"
      80 APP_ENTER_FOREGROUND_EVENT = "APP_ENTER_FOREGROUND_EVENT"
      81 local eventDispatcher = cc.Director:getInstance():getEventDispatcher()
      82 --local customListenerBg = cc.EventListenerCustom:create(APP_ENTER_BACKGROUND_EVENT,
      83 -- handler(self, self.onEnterBackground))
      84 --eventDispatcher:addEventListenerWithFixedPriority(customListenerBg, 1)
      85 local customListenerFg = cc.EventListenerCustom:create(APP_ENTER_FOREGROUND_EVENT,
      86 function()
      87 -- NodeTranslator:deltaDo(0.1,
      88 -- function()
      89 -- if gWorldScene ~= nil then
      90 -- gWorldScene:BaseQuest()
      91 -- end
      92 -- end
      93 -- )
      94 
      95 
      96 end)
      97 eventDispatcher:addEventListenerWithFixedPriority(customListenerFg, 1)
      98 
      99 BuildId2Button = {
     100 [1] = "Button_9",
     101 [2] = "Button_16",
     102 [3] = "Button_15",
     103 [4] = "Button_11",
     104 [5] = "Button_12",
     105 [6] = "Button_1",
     106 [7] = "Button_3",
     107 [8] = "Button_5",
     108 [9] = "Button_6",
     109 [10] = "Button_7",
     110 [11] = "Button_14",
     111 [12] = "Button_4",
     112 [13] = "Button_10",
     113 }
     114 
     115 NUM_OF_TANK_IN_BASE = 28 --在主基地中的坦克边界
     116 
     117 tankId2Button = {
     118 "Button_Tank_1",
     119 "Button_Tank_2",
     120 "Button_Tank_3",
     121 "Button_Tank_4",
     122 "Button_Tank_5",
     123 "Button_Tank_6",
     124 "Button_Tank_7",
     125 "Button_Tank_8",
     126 "Button_Tank_9",
     127 "Button_Tank_10",
     128 "Button_Tank_11",
     129 "Button_Tank_12",
     130 "Button_Tank_13",
     131 "Button_Tank_14",
     132 "Button_Tank_15",
     133 "Button_Tank_16",
     134 "Button_Tank_17",
     135 "Button_Tank_18",
     136 "Button_Tank_19",
     137 "Button_Tank_20",
     138 "Button_Tank_21",
     139 "Button_Tank_22",
     140 "Button_Tank_23",
     141 "Button_Tank_24",
     142 "Button_Tank_25",
     143 "Button_Tank_26",
     144 "Button_Tank_27",
     145 "Button_Tank_28",
     146 }
     147 
     148 tankId2Node = {
     149 [29] = "icon_tank_01",
     150 [30] = "icon_destory_01",
     151 [31] = "icon_hunter_01",
     152 [32] = "icon_rocket_01",
     153 [33] = "icon_tank_02",
     154 [34] = "icon_destory_02",
     155 [35] = "icon_hunter_02",
     156 [36] = "icon_rocket_02",
     157 [37] = "icon_tank_03",
     158 [38] = "icon_destory_03",
     159 [39] = "icon_hunter_03",
     160 [40] = "icon_rocket_03",
     161 [41] = "icon_tank_04",
     162 [42] = "icon_destory_04",
     163 [43] = "icon_hunter_04",
     164 [44] = "icon_rocket_04",
     165 [45] = "icon_tank_05",
     166 [46] = "icon_destory_05",
     167 [47] = "icon_hunter_05",
     168 [48] = "icon_rocket_05",
     169 [49] = "icon_tank_06",
     170 [50] = "icon_destory_06",
     171 [51] = "icon_hunter_06",
     172 [52] = "icon_rocket_06",
     173 [53] = "icon_tank_07",
     174 [54] = "icon_destory_07",
     175 [55] = "icon_hunter_07",
     176 [56] = "icon_rocket_07",
     177 [57] = "icon_tank_08",
     178 [58] = "icon_destory_08",
     179 [59] = "icon_hunter_08",
     180 [60] = "icon_rocket_08",
     181 }
     182 
     183 --界面动画
     184 
     185 --向右上飞
     186 local rightup = { gUIeffect[11].effect, gUIeffect[11].effect, gUIeffect[14].effect, gUIeffect[16].effect, gUIeffect[18].effect }
     187 
     188 local leftdown = { gUIeffect[10].effect, gUIeffect[12].effect, gUIeffect[15].effect, gUIeffect[17].effect, gUIeffect[19].effect }
     189 
     190 -- 23,24 为坦克
     191 -- 16 为飞机 11 鸟
     192 local flyId = { 11, 16, 23, 24 }
     193 flyId = { }
     194 
     195 local animIndex = 0
     196 
     197 function WorldScene:dofeijianimation()
     198 -- 飞机动画暂时屏蔽
     199 --NodeTranslator:deltaDo(60, function()
     200 -- if gWorldScene == nil then
     201 -- return
     202 -- end
     203 --
     204 -- if gWorldScene.feijidonghua ~= nil then
     205 -- gWorldScene.BaseBg:getChildByName("ScrollView_1"):getChildByName("homeMap_mi"):removeChild(gWorldScene.feijidonghua)
     206 -- end
     207 --
     208 -- gWorldScene.feijidonghua = Animation:createAnimation(gUIeffect[12].effect)
     209 -- gWorldScene.feijidonghua:setScale(4.52)
     210 -- gWorldScene.feijidonghua:setName(gUIeffect[12].effect)
     211 -- gWorldScene.BaseBg:getChildByName("ScrollView_1"):getChildByName("homeMap_mi"):addChild(gWorldScene.feijidonghua, 1000)
     212 -- gWorldScene:dofeijianimation()
     213 --end)
     214 end
     215 
     216 function WorldScene:doAnimation()
     217 if math.random(0, 2) == 1 then
     218 animIndex = animIndex + 1
     219 --local t = math.random(1,6)
     220 local len = #flyId
     221 if len == 0 then
     222 return
     223 end
     224 
     225 local t = animIndex % len + 1
     226 
     227 local anim = Animation:createAnimation(gUIeffect[flyId[t]].effect)
     228 if flyId[t] == 14 or flyId[t] == 18 then
     229 --吉普车和卡车
     230 -- anim:setPosition( cc.p(0,788))
     231 -- self.BaseBg:getChildByName("ScrollView_1"):getChildByName("homeMap_mi"):addChild(anim,0)
     232 -- local time = 20
     233 -- local action1 = cc.MoveTo:create(time,cc.p(810,1195))
     234 -- local action = cc.Sequence:create(action1,cc.CallFunc:create(function()
     235 -- anim:removeFromParent()
     236 -- end))
     237 -- anim:runAction(action)
     238 elseif flyId[t] == 23 then
     239 --卡车3
     240 anim:setPosition( cc.p(1298, 364))
     241 self.BaseBg:getChildByName("ScrollView_1"):getChildByName("homeMap_mi"):getChildByName("Node_2"):addChild(anim, 0)
     242 local time = 20
     243 local action1 = cc.MoveTo:create(time, cc.p(0, 1016))
     244 local action = cc.Sequence:create(action1, cc.CallFunc:create(function()
     245 anim:removeFromParent()
     246 end))
     247 anim:runAction(action)
     248 
     249 
     250 elseif flyId[t] == 24 then
     251 --卡车4
     252 anim:setPosition( cc.p(0, 1000))
     253 self.BaseBg:getChildByName("ScrollView_1"):getChildByName("homeMap_mi"):getChildByName("Node_2"):addChild(anim, 2)
     254 local time = 20
     255 local action1 = cc.MoveTo:create(time, cc.p(1298, 348))
     256 local action = cc.Sequence:create(action1, cc.CallFunc:create(function()
     257 anim:removeFromParent()
     258 end))
     259 anim:runAction(action)
     260 else
     261 anim:setPosition( cc.p(0, math.random(100, 1000)))
     262 self.BaseBg:getChildByName("ScrollView_1"):getChildByName("homeMap_mi"):addChild(anim, 100)
     263 local time = 20
     264 if flyId[t] == 16 then
     265 time = 5
     266 end
     267 local action1 = cc.MoveBy:create(time, cc.p(1200, 580))
     268 local action = cc.Sequence:create(action1, cc.CallFunc:create(function()
     269 anim:removeFromParent()
     270 end))
     271 anim:runAction(action)
     272 end
     273 
     274  
     275 
     276 -- --吉普车和卡车
     277 -- if t == 3 or t == 5 then
     278 -- anim:setPosition( cc.p(0,788))
     279 -- self.BaseBg:getChildByName("ScrollView_1"):getChildByName("homeMap_mi"):addChild(anim,50)
     280 -- else
     281 -- anim:setPosition( cc.p(0,math.random(100,1000)))
     282 -- self.BaseBg:getChildByName("ScrollView_1"):getChildByName("homeMap_mi"):addChild(anim,150)
     283 -- end
     284 -- --飞机
     285 -- local time = 20
     286 -- if t == 2 or t == 4 then
     287 -- time = 5
     288 -- end
     289 --
     290 -- local action1 = cc.MoveBy:create(time,cc.p(1200,580))
     291 -- local action = cc.Sequence:create(action1,cc.CallFunc:create(function()
     292 -- anim:removeFromParent()
     293 -- end))
     294 -- anim:runAction(action)
     295 
     296 end
     297 end
     298 
     299 
     300 function WorldScene:BuildIdAndDbId2Button(buildId, dbid)
     301 local btnKey = BuildId2Button[buildId]
     302 
     303 
     304 if type(btnKey) == "table" then
     305 local b1 = BuildId2Button[dbid + 1000]
     306 if b1 == nil then
     307 BuildId2Button[dbid + 1000] = btnKey[1]
     308 table.remove(btnKey, 1)
     309 end
     310 
     311 btnKey = BuildId2Button[dbid + 1000]
     312 end
     313 
     314 return btnKey
     315 end
     316 
     317 gWorldScene = nil
     318 
     319 function WorldScene:initMapScale()
     320 if true then
     321 return
     322 end
     323 
     324 local map = self.BaseBg:getChildByName("ScrollView_1"):getChildByName("homeMap_mi")
     325 self.twoTouchLayer = cc.Layer:create()
     326 self:addChild(self.twoTouchLayer, 5)
     327 
     328 
     329 function onTouchesBegan(touches, event)
     330 if #touches > 1 then
     331 
     332 map._touchPoint = (map:convertTouchToNodeSpace(_touches[0]):getMidpoint(
     333 map:convertTouchToNodeSpace(_touches[1])));
     334 map._touchLength = map:convertTouchToNodeSpace(_touches[0]):getDistance(
     335 map:convertTouchToNodeSpace(_touches[1]));
     336 print("-----onTouchesBegan11-------x:" .. _touches[0]:getLocation().x .. "y:" .. _touches[0]:getLocation().y)
     337 print("-----onTouchesBegan22-------x:" .. _touches[1]:getLocation().x .. "y:" .. _touches[1]:getLocation().y)
     338 -- map._touchLength = _container->convertTouchToNodeSpace(_touches[0]).getDistance(
     339 -- _container->convertTouchToNodeSpace(_touches[1]));
     340 
     341 end
     342 end
     343 
     344 function onTouchesMoved(touches, event)
     345 
     346 if true then
     347 
     348 if #touches > 1 then
     349 local point1 = touches[1]:getLocation()
     350 local point2 = touches[2]:getLocation()
     351 
     352 local currDistance = math.ceil(cc.pGetDistance(point1, point2))
     353 
     354 print("-----onTouchesBegan11-------x:" .. _touches[0]:getLocation().x .. "y:" .. _touches[0]:getLocation().y)
     355 print("-----onTouchesBegan22-------x:" .. _touches[1]:getLocation().x .. "y:" .. _touches[1]:getLocation().y)
     356 end
     357 end
     358 end
     359 
     360 function onTouchesEnded(touches, event)
     361 
     362 end
     363 
     364 function onTouchesCancelled(touches, event)
     365 
     366 end
     367 
     368 local listener = cc.EventListenerTouchAllAtOnce:create()
     369 listener:registerScriptHandler(onTouchesBegan, cc.Handler.EVENT_TOUCHES_BEGAN )
     370 listener:registerScriptHandler(onTouchesMoved, cc.Handler.EVENT_TOUCHES_MOVED )
     371 listener:registerScriptHandler(onTouchesEnded, cc.Handler.EVENT_TOUCHES_ENDED)
     372 listener:registerScriptHandler(onTouchesCancelled, cc.Handler.EVENT_TOUCHES_CANCELLED )
     373 local eventDispatcher = self:getEventDispatcher()
     374 eventDispatcher:addEventListenerWithSceneGraphPriority(listener, self.twoTouchLayer)
     375 listener:setSwallowTouches(false)
     376 
     377 local listener = cc.EventListenerTouchOneByOne:create()
     378 self.twoTouchLayer = cc.Layer:create()
     379 self:addChild(self.twoTouchLayer, 5)
     380 self.twoTouchLayer.touches = {}
     381 function onTouchesBegan(touches, event)
     382 print("-------------onTouchesBegan----------------")
     383 --table.insert(self.twoTouchLayer.touches,1,touches)
     384 self.twoTouchLayer.touches[touches] = 1
     385 
     386 
     387 return true
     388 end
     389 
     390 function onTouchesMoved(touches, event)
     391 --table.insert(self.twoTouchLayer.touches,1,touches)
     392 self.twoTouchLayer.touches[touches] = 1
     393 print("-------------onTouchesMoved---fdsa-------------")
     394 
     395 function getnum()
     396 local num = 0
     397 for key, var in pairs(self.twoTouchLayer.touches) do
     398 num = num + 1
     399 end
     400 print("----------num:" .. num)
     401 return num
     402 end
     403 
     404 if getnum() == 2 then
     405 --if true then
     406 listener:setSwallowTouches(true)
     407 print("----------two touch")
     408 for key, var in pairs(self.twoTouchLayer.touches) do
     409 local p = key:getLocation();
     410 p = self.twoTouchLayer:convertToNodeSpace(p);
     411 print("--x:" .. p.x .. "--y:" .. p.y)
     412 end
     413 end
     414 
     415 return true
     416 end
     417 
     418 function onTouchesEnded(touches, event)
     419 -- for key, var in pairs(self.twoTouchLayer.touches) do
     420 -- if var == touches then
     421 -- table.remove(table,key)
     422 -- end
     423 -- end
     424 self.twoTouchLayer.touches[touches] = nil
     425 print("-------------onTouchesEnded----------------")
     426 listener:setSwallowTouches(false)
     427 return true
     428 
     429 end
     430 
     431 function onTouchesCancelled(touches, event)
     432 print("-------------onTouchesCancelled----------------")
     433 return true
     434 end
     435 
     436 
     437 listener:registerScriptHandler(onTouchesBegan, cc.Handler.EVENT_TOUCH_BEGAN )
     438 listener:registerScriptHandler(onTouchesMoved, cc.Handler.EVENT_TOUCH_MOVED )
     439 listener:registerScriptHandler(onTouchesEnded, cc.Handler.EVENT_TOUCH_ENDED)
     440 listener:registerScriptHandler(onTouchesCancelled, cc.Handler.EVENT_TOUCH_CANCELLED )
     441 local eventDispatcher = self:getEventDispatcher()
     442 eventDispatcher:addEventListenerWithSceneGraphPriority(listener, self.twoTouchLayer)
     443 end
     444 
     445 
     446 gTaskNoticeInfo = nil
     447 --显示任务快捷提示
     448 function WorldScene:taskQuickNotice()
     449 gTaskNoticeInfo = nil
     450 local pd = PlayerData:getInstanse()
     451 
     452 local getProgressFunc = {
     453 [1] = function()
     454 return pd:getBaseBuildLv(1)
     455 end,
     456 [2] = function()
     457 return math.max(pd:getBaseBuildLv(2), pd:getBaseBuildLv(3))
     458 end,
     459 [3] = function()
     460 return pd:getBaseBuildLv(5)
     461 end,
     462 [4] = function()
     463 return math.max(pd:getBaseBuildLv(6), pd:getBaseBuildLv(7))
     464 end,
     465 [7] = function()
     466 return pd:getBaseBuildLv(10)
     467 end,
     468 [8] = function()
     469 return pd:getBaseBuildLv(11)
     470 end,
     471 [9] = function()
     472 local data = pd:getResBuildMaxLvData(14)
     473 return (data and data.buildLv) or 0
     474 end,
     475 [10] = function()
     476 local data = pd:getResBuildMaxLvData(15)
     477 return (data and data.buildLv) or 0
     478 end,
     479 [11] = function()
     480 local data = pd:getResBuildMaxLvData(16)
     481 return (data and data.buildLv) or 0
     482 end,
     483 [12] = function()
     484 local data = pd:getResBuildMaxLvData(17)
     485 return (data and data.buildLv) or 0
     486 end,
     487 [14] = function()
     488 return pd:getBuildNumById(14)
     489 end,
     490 [15] = function()
     491 return pd:getBuildNumById(15)
     492 end,
     493 [16] = function()
     494 return pd:getBuildNumById(16)
     495 end,
     496 [17] = function()
     497 return pd:getBuildNumById(17)
     498 end,
     499 [20] = function()
     500 return pd.basicData.commandLv
     501 end,
     502 [21] = function()
     503 return pd.basicData.warLv
     504 end,
     505 }
     506 
     507 local function UpdateTaskNotice(dt) 
     508 if gTaskNoticeInfo == nil then
     509 return
     510 end
     511 local taskvo = gTaskNoticeInfo
     512 --handle daily task
     513 if taskvo.taskId == nil and taskvo.id ~= nil then
     514 local taskInfo = gDailyTask[taskvo.id]
     515 self.TaskQuickNotice:setVisible(true)
     516 local panel = self.TaskQuickNotice:getChildByName("Panel_bg")
     517 -- 检查状态是否改变,不改变的情况,只修改未完成任务的进度
     518 local stateChanged = false
     519 if taskvo.LastState == nil or taskvo.LastState ~= taskvo.state then
     520 stateChanged = true
     521 taskvo.LastState = taskvo.state
     522 end
     523 local name = gDailyTask[taskvo.id].name
     524 local types = gDailyTask[taskvo.id].type
     525 panel:getChildByName("Text"):setString(StringRes[name].."("..taskvo.count.."/"..taskvo.allCount..")")
     526 
     527 --任务未完成
     528 if taskvo.state == 0 then
     529 Common:changePic(panel:getChildByName("Icon"), "pic/mission/btn/mission_tips_icon_1.png")
     530 Common:setBtnTouchEnable(panel, true)
     531 panel:addTouchEventListener( function(e, t)
     532 if t == ccui.TouchEventType.ended then
     533 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
     534 TaskInfo:StaticGotoHere(taskInfo)
     535 --更新任务
     536 Connect:sendMsg("TaskAction", "refreshPushTask", nil, function(data)
     537 local i = 0;
     538 dump(data)
     539 end , false)
     540 end
     541 end )
     542 end
     543 
     544 --任务完成则直接领取
     545 if taskvo.state == 1 and stateChanged then
     546 --完成
     547 Common:changePic(panel:getChildByName("Icon"), "pic/mission/btn/mission_tips_icon_4.png")
     548 local TaskName
     549 
     550 --更新获取状态
     551 Common:setBtnTouchEnable(panel, true)
     552 panel:addTouchEventListener(function(e, t)
     553 if t == ccui.TouchEventType.ended then MyAudio:PlayEffect(MusicAndEffect.btnEffect)
     554 local msg = {taskId = taskvo.id}
     555 Common:setBtnTouchEnable(panel, false)
     556 print("---"..taskvo.id)
     557 Connect:sendMsg("TaskAction", "getTaskDailyReward", msg,
     558 function(data)
     559 local pd = PlayerData:getInstanse()
     560 -- 更新数据
     561 -- Yangjie 更换统一接口 2016-11-2
     562 pd:setBasicData(data.playerInfoVO)
     563 -- pd.basicData = data.playerInfoVO
     564 -- Yangjie end
     565 if pd.task then
     566 pd.task.taskDailyShowVOs = data.taskDailyShowVOs
     567 end
     568 --var.state = 2
     569 --self:freshDayTask()
     570 --FlyWordPrompt:prompt(TaskInfo:getLittleDayNotice(data.taskId))
     571 end , true)
     572 --TaskInfo:StaticGotoHere(gTask[taskvo.id])
     573 --self:TaskQuest()
     574 
     575 local Animation = cc.CSLoader:createTimeline("res/csd/mission_tips.csb")
     576 panel:runAction(Animation) 
     577 Animation:gotoFrameAndPlay(0, false) 
     578 end
     579 end)
     580 end
     581 return
     582 end
     583 local taskInfo = gTask[taskvo.taskId]
     584 --local dataCfg = TaskQuickNoticeCfg[taskvo.type*100 + taskvo.stype]
     585 
     586 --if dataCfg then
     587 self.TaskQuickNotice:setVisible(true)
     588 
     589 local panel = self.TaskQuickNotice:getChildByName("Panel_bg")
     590 
     591 
     592 --检查状态是否改变,不改变的情况,只修改未完成任务的进度
     593 local stateChanged = false
     594 if taskvo.LastState == nil or taskvo.LastState ~= taskvo.state then
     595 stateChanged = true
     596 taskvo.LastState = taskvo.state
     597 
     598 --更换图标
     599 --Common:changePic(panel:getChildByName("Icon"), dataCfg.icon)
     600 end
     601 
     602 if taskvo.state == 0 then
     603 
     604 local TaskProgress = ""
     605 if taskvo.type == 1 and taskvo.stype == 13 then
     606 --生产坦克,客户端无法自行维护进度信息
     607 local num = StringTemp:Split(taskInfo.cond,":")
     608 num = tonumber( num[3])
     609 local tankName = StringTemp:strtoTable(taskInfo.cond)
     610 TaskProgress = string.format( StringRes[taskInfo.name],StringRes[Tank[tankName.id].name])..string.format(" (%d/%d)", taskvo.tankcount, num)
     611 elseif taskvo.type == 2 and (taskvo.stype == 18 or taskvo.stype == 19)then
     612 --挑战关卡,攻击资源点,进度显示未完成
     613 TaskProgress = StringRes[taskInfo.name].." ("..StringRes.task_unfinish..")"
     614 elseif taskvo.type == 1 or taskvo.type == 2 then
     615 local num = StringTemp:Split(taskInfo.cond,":")
     616 num = tonumber( num[2])
     617 
     618 local progress = 0
     619 if getProgressFunc[taskvo.stype] then
     620 progress = getProgressFunc[taskvo.stype]()
     621 end 
     622 
     623 if progress < num then
     624 TaskProgress = StringRes[taskInfo.name]..string.format(" (%d/%d)", progress, num)
     625 else
     626 --任务完成
     627 taskvo.state = 1
     628 stateChanged = true 
     629 taskvo.LastState = taskvo.state
     630 end
     631 end
     632 
     633 --更新任务进度
     634 panel:getChildByName("Text"):setString(TaskProgress)
     635 
     636 if taskvo.state == 0 and stateChanged then 
     637 --未完成
     638 Common:changePic(panel:getChildByName("Icon"), "pic/mission/btn/mission_tips_icon_1.png")
     639 
     640 Common:setBtnTouchEnable(panel, true)
     641 panel:addTouchEventListener(function(e, t)
     642 if t == ccui.TouchEventType.ended then MyAudio:PlayEffect(MusicAndEffect.btnEffect)
     643 TaskInfo:StaticGotoHere(taskInfo)
     644 Connect:sendMsg("TaskAction", "refreshPushTask", nil, function(data)
     645 --local i = 0;
     646 --dump(data)
     647 end , false)
     648 end
     649 end)
     650 end
     651 end
     652 
     653 if taskvo.state == 1 and stateChanged then
     654 if pd.getGametipsVO then
     655 pd.getGametipsVO.taskTips = 1
     656 gWorldScene:freshGametips()
     657 else
     658 gWorldScene:getGametips()
     659 end
     660 
     661 --完成
     662 Common:changePic(panel:getChildByName("Icon"), "pic/mission/btn/mission_tips_icon_4.png")
     663 
     664  
     665 
     666 local TaskName
     667 --坦克名字
     668 local tankName = StringTemp:strtoTable(taskInfo.cond)
     669 if tankName.id ~= nil then
     670 TaskName = string.format( StringRes[taskInfo.name],StringRes[Tank[tankName.id].name])
     671 else
     672 TaskName = StringRes[taskInfo.name]
     673 end
     674 
     675 --资源数量
     676 if taskInfo.type == 3 then
     677 local nums = StringTemp:Split(taskInfo.cond,":")
     678 nums = tonumber( nums[2])
     679 panel:getChildByName("Text"):setString(string.format(TaskName,nums))
     680 else
     681 panel:getChildByName("Text"):setString(TaskName)
     682 end
     683 
     684 Common:setBtnTouchEnable(panel, true)
     685 panel:addTouchEventListener(function(e, t)
     686 if t == ccui.TouchEventType.ended then MyAudio:PlayEffect(MusicAndEffect.btnEffect)
     687 local msg = {taskId = taskvo.taskId}
     688 Common:setBtnTouchEnable(panel, false)
     689 Connect:sendMsg("TaskAction","getTaskReward",msg,
     690 function(data)
     691 --更新数据 
     692 --Yangjie 更换统一接口 2016-11-2
     693 PlayerData:getInstanse():setBasicData(data.playerInfoVO)
     694 --pd.basicData = data.playerInfoVO
     695 --Yangjie end
     696 
     697 FlyWordPrompt:prompt(TaskInfo:getNotice(taskvo.taskId))
     698 --gWorldScene:getGametips()
     699 if pd.getGametipsVO then
     700 local num = 0
     701 local List = {
     702 data.openTaskItemVO.playerTasks,
     703 data.openTaskItemVO.buildingTasks,
     704 data.openTaskItemVO.resourceTasks,
     705 data.openTaskItemVO.task1DailyVOs,
     706 data.openTaskItemVO.task2DailyVOs,
     707 data.openTaskItemVO.task3DailyVOs,
     708 data.openTaskItemVO.task4DailyVOs,
     709 }
     710 for i=1, #List do
     711 local tasklist = List[i]
     712 for __, var in pairs(tasklist) do
     713 if var and var.state == 1 then
     714 num = num + 1
     715 end
     716 end
     717 end
     718 pd.getGametipsVO.taskTips = num
     719 gWorldScene:freshGametips()
     720 else
     721 gWorldScene:getGametips()
     722 end
     723 end, true)
     724 --TaskInfo:StaticGotoHere(gTask[taskvo.taskId])
     725 --self:TaskQuest()
     726 
     727 local Animation = cc.CSLoader:createTimeline("res/csd/mission_tips.csb")
     728 panel:runAction(Animation) 
     729 Animation:gotoFrameAndPlay(0, false) 
     730 end
     731 end)
     732 end
     733 --else
     734 -- self.TaskQuickNotice:setVisible(false)
     735 -- gTaskNoticeInfo = nil
     736 --end
     737 end
     738 self.TaskQuickNotice.updateId = Scheduler:scheduleScriptFunc(UpdateTaskNotice, 1.0, false)
     739 local function onNodeEvent(tag)
     740 if tag == "exit" and self.TaskQuickNotice.updateId then
     741 Scheduler:unscheduleScriptEntry(self.TaskQuickNotice.updateId)
     742 end
     743 end
     744 self.TaskQuickNotice:registerScriptHandler(onNodeEvent)
     745 
     746 local function registertaskQuickNotice()
     747 Connect:register("notifyTaskState", function(data)
     748 
     749 if not cc.UserDefault:getInstance():getBoolForKey("mainlinenotice") or not data then
     750 self.TaskQuickNotice:setVisible(false)
     751 gTaskNoticeInfo = nil
     752 return
     753 end
     754 gTaskNoticeInfo = data
     755 UpdateTaskNotice()
     756 
     757 
     758 --[[ yangjie 2017-6-13 制作新手中期引导,修改任务提示功能,屏蔽原有的任务提示功能代码
     759 local bg = self.TaskQuickNotice:getChildByName("panel_bg"):getChildByName("panel_detail")
     760 
     761 
     762 local taskvo = data
     763 --未完成
     764 if taskvo.state == 0 then
     765 bg:getChildByName("panel_outline"):setVisible(false)
     766 bg:getChildByName("icon_task_complete"):setVisible(false)
     767 bg:getChildByName("icon_task_problem"):setVisible(true)
     768 
     769 self.TaskQuickNotice:getChildByName("panel_bg"):addTouchEventListener(function(e, t)
     770 if t == ccui.TouchEventType.ended then MyAudio:PlayEffect(MusicAndEffect.btnEffect)
     771 TaskInfo:StaticGotoHere(gTask[taskvo.taskId])
     772 end
     773 end)
     774 --完成
     775 elseif taskvo.state == 1 then
     776 bg:getChildByName("panel_outline"):setVisible(true)
     777 bg:getChildByName("icon_task_complete"):setVisible(true)
     778 bg:getChildByName("icon_task_problem"):setVisible(false)
     779 
     780 
     781 self.TaskQuickNotice:getChildByName("panel_bg"):addTouchEventListener(function(e, t)
     782 if t == ccui.TouchEventType.ended then MyAudio:PlayEffect(MusicAndEffect.btnEffect)
     783 -- local msg = {taskId = taskvo.taskId}
     784 -- Connect:sendMsg("TaskAction","getTaskReward",msg,
     785 -- function(data)
     786 -- local pd = PlayerData:getInstanse()
     787 -- --更新数据
     788 -- pd.basicData = data.playerInfoVO
     789 -- FlyWordPrompt:prompt(TaskInfo:getNotice(taskvo.taskId))
     790 -- end)
     791 --TaskInfo:StaticGotoHere(gTask[taskvo.taskId])
     792 self:TaskQuest()
     793 end
     794 end)
     795 
     796 end
     797 --名字
     798 bg:getChildByName("text_mission"):setString( StringRes[gTask[taskvo.taskId].name])
     799 
     800 local action1 = cc.DelayTime:create(8)
     801 local action = cc.Sequence:create(action1,cc.CallFunc:create(function()
     802 self.TaskQuickNotice:setVisible(false)
     803 end))
     804 self.TaskQuickNotice:stopAllActions()
     805 self.TaskQuickNotice:runAction(action)
     806 --]]
     807 
     808 end)
     809 end
     810 registertaskQuickNotice()
     811 
     812 end
     813 
     814  
     815 
     816 function WorldScene:setChildVisible(visible)
     817 print("--------------" .. tostring(visible))
     818 self.isPauseUpdate = not visible
     819 
     820 self.Feild:setVisible(visible)
     821 self.BaseBg:setVisible(visible)
     822 self.OutSideBg:setVisible(visible)
     823 
     824 if self.BgPage == 1 then
     825 self.topUI:setVisible(visible)
     826 self.MiddleUI:setVisible(visible)
     827 self.BottomUI:setVisible(visible)
     828 end
     829 end
     830 
     831 
     832 function WorldScene:ctor()
     833 Common:initBackKey(self)
     834 gWorldScene = self
     835 -- 只显示一次的红点记录
     836 self.RPOnce = {}
     837 
     838 
     839 self.TaskQuickNotice = CCUILoader:load("res/csd/mission_tips.csb") --res/csd/mission/layer_popout_mission_complete.csb")
     840 self.TaskQuickNotice:setVisible(false)
     841 
     842 local pd = PlayerData:getInstanse()
     843 self.topUI = cc.uiload:load("res/csd/PlayerTopUi.csb")
     844 self.MiddleUI = cc.uiload:load("res/csd/PlayerMiddleUi.csb")
     845 self.BottomUI = cc.uiload:load("res/csd/PlayerBottomUi.csb")
     846 self:RefreshActivityIcon()
     847 
     848 self.BaseBg = cc.uiload:load("res/csd/LayerBaseBG.csb")
     849 require("src/app/unit/Airborne"):init()
     850 
     851 --self.OutSideBg = cc.uiload:load("res/csd/LayerOutsideBG.csb")
     852 self.OutSideBg = self.BaseBg:getChildByName("ScrollView_1"):getChildByName("homeMap_mi"):getChildByName("WorldOutSide")
     853 
     854 self.Feild = Field.new()
     855 self:addChild(self.Feild)
     856 self:addChild(self.BaseBg)
     857 --self:addChild(self.OutSideBg)
     858 --self.OutSideBg:setVisible(false)
     859 self:addChild(self.topUI)
     860 self:addChild(self.MiddleUI)
     861 self:addChild(self.BottomUI)
     862 self:addChild(self.TaskQuickNotice)
     863 self.Feild:setVisible(false)
     864 
     865 -- 矿产数量
     866 self.BtnOutSide = self.MiddleUI:getChildByName("Image_20")
     867 self.BtnOutSide.BtnOutSide_Switch = self.BtnOutSide:getChildByName("Button_41")
     868 self.BtnOutSide.startPos = cc.p(self.BtnOutSide:getPosition())
     869 local width = self.BtnOutSide:getContentSize().width
     870 self.BtnOutSide.endPos = cc.pSub(self.BtnOutSide.startPos, cc.p(-width, 0))
     871 
     872 -- --排行榜
     873 self.ranks = self.MiddleUI:getChildByName("Button_53")
     874 self.ranks:addTouchEventListener(function(e, t)
     875 if t == ccui.TouchEventType.ended then
     876 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
     877 local Ranks = require("src/app/views/Ranks/Ranks").new(self)
     878 self:addChild(Ranks)
     879 end
     880 end)
     881 
     882 local function rightBtnClickEvent(e, t)
     883 if t == ccui.TouchEventType.ended then
     884 local pd = PlayerData:getInstanse()
     885 for i, v in pairs(pd.outSideBuild) do
     886 if v.templateId == e.templateId then
     887 local btnKey = gBlock[v.blockId].position
     888 local btn = self.OutSideGbButton:getChildByName(btnKey)
     889 NodeTranslator:splashDouble(btn);
     890 end
     891 end
     892 end
     893 end
     894 
     895 -- 设定初始化 true 展开 false 关闭
     896 self.BtnOutSide.BtnOutSide_iron = self.BtnOutSide:getChildByName("btn_jiaoqu_tk"):getChildByName("Button_50")
     897 self.BtnOutSide.BtnOutSide_iron.txt = self.BtnOutSide:getChildByName("btn_jiaoqu_tk"):getChildByName("Text_2")
     898 self.BtnOutSide.BtnOutSide_iron.templateId = 14
     899 self.BtnOutSide.BtnOutSide_iron:addTouchEventListener( rightBtnClickEvent )
     900 self.BtnOutSide.BtnOutSide_oil = self.BtnOutSide:getChildByName("btn_jiaoqu_cy"):getChildByName("Button_51")
     901 self.BtnOutSide.BtnOutSide_oil.txt = self.BtnOutSide:getChildByName("btn_jiaoqu_cy"):getChildByName("Text_3")
     902 self.BtnOutSide.BtnOutSide_oil.templateId = 15
     903 self.BtnOutSide.BtnOutSide_oil:addTouchEventListener( rightBtnClickEvent )
     904 self.BtnOutSide.BtnOutSide_Al = self.BtnOutSide:getChildByName("btn_jiaoqu_lk"):getChildByName("Button_52")
     905 self.BtnOutSide.BtnOutSide_Al.txt = self.BtnOutSide:getChildByName("btn_jiaoqu_lk"):getChildByName("Text_4")
     906 self.BtnOutSide.BtnOutSide_Al.templateId = 16
     907 self.BtnOutSide.BtnOutSide_Al:addTouchEventListener( rightBtnClickEvent )
     908 self:rigesterBtnOutSide()
     909 
     910 -- self.BaseBg:getChildByName("ScrollView_1"):addTouchEventListener(function(e, t)
     911 -- if t == ccui.TouchEventType.began then
     912 -- print("---TouchEventType.began--")
     913 -- end
     914 -- if t == ccui.TouchEventType.ended then
     915 -- print("---TouchEventType.ended--")
     916 -- end
     917 -- end)
     918 
     919 
     920 --等级显示消失
     921 local sc = self.BaseBg:getChildByName("ScrollView_1")
     922 -- sc:addEventListener(function(t,event)
     923 -- if event == 4 then
     924 -- --self:BuildLvShow(false)
     925 -- self.scrollTime = 0.1
     926 -- end
     927 --
     928 -- end)
     929 sc:setMaxScale(1.5)
     930 local listSize = sc:getContentSize()
     931 local containSize = sc:getInnerContainerSize()
     932 self._moveSceneScaleX = containSize.width / (containSize.width - listSize.width)
     933 self._moveSceneScaleY = containSize.height / (containSize.height - listSize.height)
     934 --sc:setRadioScale(1000)
     935 sc:addTouchEventListener(function(e, t)
     936 if t == ccui.TouchEventType.ended then
     937 self:showName(false)
     938 elseif t == ccui.TouchEventType.began then
     939 self:showName(true)
     940 end
     941 end)
     942 
     943 self.RightBtnOpen = true --右侧按钮展开
     944 self:R1Hide()
     945 self.BgPage = 0 --1:基地 2:郊外 3:世界
     946 self:TurnToNextBg()
     947 
     948 --self.BaseBg:getChildByName("ScrollView_1"):setSwallowTouches(false)
     949 WorldScene:dofeijianimation()
     950 
     951 --parent:setScale(1.5)
     952 self.BaseBg:setVisible(false)
     953 self:initMapScale()
     954 
     955 self.scrollTime = 0
     956 
     957 --todo地图缩放
     958 --self.BaseBg:setScale(0.7)
     959 local scale = 0.85
     960 self.BaseBgButton = self.BaseBg:getChildByName("ScrollView_1"):getChildByName("homeMap_mi")
     961 local scSize = sc:getInnerContainerSize()
     962 sc:setInnerContainerSize(cc.size(scSize.width * scale, scSize.height * scale))
     963 self.BaseBgButton:setScale(scale)
     964 
     965 local error_close1 = self.BaseBgButton:getChildByName("Button_1")
     966 error_close1:addTouchEventListener(function(e, t)
     967 if t == ccui.TouchEventType.ended then
     968 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
     969 print("----------error_close1-------")
     970 end
     971 end)
     972 
     973 self.BaseBgButton:getChildByName("icon_basement"):addTouchEventListener(function(e, t)
     974 if t == ccui.TouchEventType.ended then
     975 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
     976 local info = gBuilding[18]
     977 if info.unlock > PlayerData:getInstanse():getBaseBuildLv(1) then
     978 PromptView:type1(StringRes.notice,
     979 string.format( StringRes[info.unlockdes], info.unlock)
     980 , StringRes.ok)
     981 else
     982 require("src/app/views/buildings/TankBasement"):show(gWorldScene)
     983 end
     984 end
     985 end)
     986 
     987  
     988 
     989 --等级显示消失
     990 local sc = self.OutSideBg:getChildByName("ScrollView_1")
     991 -- sc:addEventListener(function(t,event)
     992 -- if event == 4 then
     993 -- --self:BuildLvShow(false)
     994 -- self.scrollTime = 0.1
     995 -- end
     996 --
     997 -- end)
     998 if sc then
     999 sc:setMaxScale(1.5)
    1000 sc:addTouchEventListener(function(e, t)
    1001 if t == ccui.TouchEventType.ended then
    1002 self:showName(false)
    1003 elseif t == ccui.TouchEventType.began then
    1004 self:showName(true)
    1005 end
    1006 end)
    1007 end
    1008 
    1009 self:showName(false)
    1010 
    1011 
    1012 local anim = Animation:createAnimation(gUIeffect[26].effect)
    1013 anim:setName(gUIeffect[22].effect)
    1014 self.BaseBgButton:getChildByName("Bridge1"):addChild(anim)
    1015 local anim = Animation:createAnimation(gUIeffect[26].effect)
    1016 anim:setName(gUIeffect[22].effect)
    1017 self.BaseBgButton:getChildByName("Bridge3"):addChild(anim)
    1018 --Animation:playAnimation2(self.BaseBgButton:getChildByName("Bridge1"),gUIeffect[26].effect)
    1019 --Animation:playAnimation2(self.BaseBgButton:getChildByName("Bridge3"),gUIeffect[26].effect)
    1020 
    1021 
    1022 --
    1023 --
    1024 -- local function updateScroll(delta)
    1025 --
    1026 --
    1027 --
    1028 -- if self.scrollTime > 0 then
    1029 -- self:showName(true)
    1030 -- else
    1031 -- self:showName(false)
    1032 -- end
    1033 --
    1034 -- self.scrollTime = self.scrollTime - delta
    1035 --
    1036 -- end
    1037 
    1038 --动画
    1039 
    1040 -- local t1 = nil
    1041 -- for var=10, 16 do
    1042 -- t1 = Animation:createAnimation(gUIeffect[var].effect)
    1043 -- t1:setPosition( cc.p(300,200+(var-10)*100))
    1044 -- self:addChild(t1)
    1045 -- end
    1046 
    1047  
    1048 
    1049 
    1050 --奖励中心
    1051 local tmp_action = cc.RepeatForever:create(cc.Sequence:create(cc.RotateTo:create(0.2, -30), cc.RotateTo:create(0.4, 30), cc.RotateTo:create(0.15, -15), cc.RotateTo:create(0.15, 15), cc.RotateTo:create(0.1, -8), cc.RotateTo:create(0.1, 8), cc.RotateTo:create(0.1, -5), cc.RotateTo:create(0.1, 5), cc.RotateTo:create(0.1, -3), cc.RotateTo:create(0.1, 3), cc.RotateTo:create(0.08, 0), cc.DelayTime:create(0.5)))
    1052 self.MiddleUI:getChildByName("Buttonjiangli_10"):runAction(tmp_action)
    1053 self.MiddleUI:getChildByName("Buttonjiangli_10"):addTouchEventListener(function(e, t)
    1054 if t == ccui.TouchEventType.ended then
    1055 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    1056 require("src/app/views/activity/MilitaryExerciseAward"):show(self)
    1057 end
    1058 end)
    1059 
    1060 
    1061 --增益信息
    1062 self.MiddleUI:getChildByName("Button_L1"):addTouchEventListener(function(e, t)
    1063 if t == ccui.TouchEventType.ended then
    1064 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    1065 require("src/app/views/buff/BuffInfo"):show(self)
    1066 end
    1067 end)
    1068 
    1069 
    1070 --活动
    1071 --增益信息
    1072 self.MiddleUI:getChildByName("Button_L5"):addTouchEventListener(function(e, t)
    1073 if t == ccui.TouchEventType.ended then
    1074 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    1075 local layer = require("src/app/views/activity/MainActivity.lua").new()
    1076 self:addChild(layer)
    1077 NodeTranslator:transUpBefore(layer)
    1078 end
    1079 end)
    1080 
    1081  
    1082 
    1083 --抽奖
    1084 --local rewardButton = self.MiddleUI:getChildByName("Button_L2")
    1085 --rewardButton:setVisible(false)
    1086 self.MiddleUI:getChildByName("Button_L2"):addTouchEventListener(function(e, t)
    1087 if t == ccui.TouchEventType.ended then
    1088 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    1089 require("app/views/lottery/LotteryMainView.lua"):open(self, nil, nil)
    1090 end
    1091 end)
    1092 
    1093 --小助手
    1094 self.MiddleUI:getChildByName("panel_women"):addTouchEventListener(function(e, t)
    1095 if t == ccui.TouchEventType.ended then
    1096 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    1097 AssistantGuide:start()
    1098 end
    1099 end)
    1100 
    1101 --任务
    1102 local list = self.BottomUI:getChildByName("ListView_1")
    1103 
    1104 local taskButton = self.BottomUI:getChildByName("Button_task")
    1105 taskButton:addTouchEventListener(function(e, t)
    1106 if t == ccui.TouchEventType.ended then
    1107 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    1108 self:TaskQuest()
    1109 
    1110 
    1111 end
    1112 end)
    1113 
    1114 --在线奖励
    1115 -- TopbarUtils.clear()
    1116 -- local OnlineRewardIcon = require("src/app/views/activity/OnlineRewardIcon").new(self.MiddleUI:getChildByName("btn_time_reward"))
    1117 -- TopbarUtils.addIcon(OnlineRewardIcon)
    1118 -- local FirstRechargeIcon = require("app/views/activity/FirstRechargeIcon.lua").new(self.MiddleUI:getChildByName("btn_first_recharge"))
    1119 -- TopbarUtils.addIcon(FirstRechargeIcon)
    1120 -- TopbarUtils.update()
    1121 --taskButton:setColor( cc.c3b(120, 120, 120))
    1122 
    1123 --签到
    1124 local battleTest = self.MiddleUI:getChildByName("Button_L3")
    1125 battleTest:addTouchEventListener(function(e, t)
    1126 if t == ccui.TouchEventType.ended then
    1127 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    1128 
    1129 local pd = PlayerData:getInstanse()
    1130 local state = pd.signOr7day
    1131 if pd and state == 1 then
    1132 require("app/views/activity/Sign7Days"):show(self)
    1133 elseif pd and state == 2 then
    1134 require("app/views/activity/Sign30Days"):show(self)
    1135 end
    1136 end
    1137 end)
    1138 
    1139 --资源详细
    1140 local playerinfoButton = self.topUI:getChildByName("Button_1")
    1141 playerinfoButton:addTouchEventListener(function(e, t)
    1142 if t == ccui.TouchEventType.ended then
    1143 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    1144 
    1145 
    1146 local layer = require("app/views/buff/ResInfo").new()
    1147 self:addChild(layer)
    1148 require("app/util/NodeTranslator"):transUp(layer, nil)
    1149 
    1150 
    1151 end
    1152 end)
    1153 
    1154 --玩家信息
    1155 local playerinfoButton = self.topUI:getChildByName("Button_2")
    1156 playerinfoButton:addTouchEventListener(function(e, t)
    1157 if t == ccui.TouchEventType.ended then
    1158 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    1159 
    1160 -- 玩家信息页面是否开启
    1161 if not NoviceGuide:CheckOpen("playerInfo") then return end
    1162 
    1163 NoviceGuide:complete("BeStronger", "Leader");
    1164 self.PlayerInfo = PlayerInfo.new(self)
    1165 self:addChild(self.PlayerInfo)
    1166 end
    1167 end)
    1168 
    1169 --VIP
    1170 local playerinfoButton = self.topUI:getChildByName("Button_3")
    1171 playerinfoButton:addTouchEventListener(function(e, t)
    1172 if t == ccui.TouchEventType.ended then
    1173 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    1174 require("src/app/views/vip/VipInfo.lua"):showWithTab(self)
    1175 end
    1176 end)
    1177 
    1178 self:rigesterR1()
    1179 --
    1180 self:initBottomBtn()
    1181 
    1182 --Button_5
    1183 local rechargebtn = self.topUI:getChildByName("Button_5")
    1184 rechargebtn:addTouchEventListener(function(e, t)
    1185 if t == ccui.TouchEventType.ended then
    1186 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    1187 --RechargeBatter:show(gWorldScene)
    1188 RechargeNew:show(gWorldScene)
    1189 -- require("src/app/unit/Airborne"):updateParachute(1)
    1190 -- require("app/views/territories_war/TerritoriesContend"):show(gWorldScene,1)
    1191 end
    1192 end)
    1193 
    1194 
    1195 --Button_4
    1196 local battlenumbtn = self.topUI:getChildByName("Button_4")
    1197 battlenumbtn:addTouchEventListener(function(e, t)
    1198 if t == ccui.TouchEventType.ended then
    1199 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    1200 -- 战斗力页面是否开启
    1201 if not NoviceGuide:CheckOpen("powerView") then return end
    1202 self:addChild(ForceUpgrade.new())
    1203 end
    1204 end)
    1205 
    1206 local studyCenter = self.BaseBgButton:getChildByName("Button_12")
    1207 studyCenter:addTouchEventListener(function(e, t)
    1208 if t == ccui.TouchEventType.ended then
    1209 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    1210 
    1211 end
    1212 end)
    1213 
    1214 self.OutSideGbButton = self.OutSideBg
    1215 local backhome = self.OutSideGbButton:getChildByName("Button_1")
    1216 backhome:addTouchEventListener(function(e, t)
    1217 if t == ccui.TouchEventType.ended then
    1218 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    1219 
    1220 end
    1221 end)
    1222 
    1223  
    1224 
    1225 local function AutobuiltTimer(delta)
    1226 
    1227 local pd = PlayerData:getInstanse()
    1228 if PlayerData:getInstanse().IsCanAutoBuilt then
    1229 
    1230 local autotime = pd:getAutoLevel()
    1231 if autotime <= 0 then
    1232 return
    1233 end
    1234 
    1235 ---客户端模拟 当有自动升级时间时候的倒计时
    1236 autotime = autotime - delta
    1237 pd:setAutoLevel(autotime)
    1238 
    1239 if Buildings:CheckUpgradebuilt() then
    1240 Connect:sendMsg("AutoUpLevelAction", "requestBuildAutoUp", {},
    1241 function(data)
    1242 if data then
    1243 dump(data)
    1244 if data.autoLevelUpSecond then
    1245 if data.autoLevelUpSecond <= 0 then
    1246 FlyWordPrompt:prompt("建筑自动升级时间已耗尽停止")
    1247 end
    1248 pd:setAutoLevel(data.autoLevelUpSecond)
    1249 elseif data.type == -999 then
    1250 else
    1251 pd:BuildFresh(data)
    1252 app:dispatchEvent({ name = "Dis_Autobuilt" })
    1253 end
    1254 end
    1255 end, true)
    1256 end
    1257 
    1258 end
    1259 end
    1260 
    1261  
    1262 
    1263 local function loadingbarScheduler(delta)
    1264 
    1265 local pd = PlayerData:getInstanse()
    1266 if pd.baseBuild == nil then
    1267 return
    1268 end
    1269 
    1270 --基础建筑 倒计时
    1271 for i, v in pairs(pd.baseBuild) do
    1272 
    1273 local btnKey = self:BuildIdAndDbId2Button(v.templateId, v.dbId)
    1274 local btn = nil
    1275 if btnKey ~= nil then
    1276 btn = self.BaseBgButton:getChildByName(btnKey)
    1277 end
    1278 if btn ~= nil then
    1279 --显示进度条
    1280 --[[
    1281 local timeImage = btn:getChildByName("Image_3")
    1282 if timeImage == nil then
    1283 timeImage = gLittleUi:getChildByName("Image_3"):clone()
    1284 btn:addChild(timeImage, 15)
    1285 local size = btn:getContentSize()
    1286 local pos = { x = 0, y = 0 }
    1287 if v.templateId > 0 then
    1288 pos = StringTemp:toPosition(gBuilding[v.templateId].proposition)
    1289 end
    1290 timeImage:setPosition( cc.p(pos.x, pos.y) )
    1291 end
    1292 
    1293 if v.time <= 0 or v.allTime <= 0 then
    1294 timeImage:setVisible(false)
    1295 else
    1296 local t1 = 100 - v.time / v.allTime * 100
    1297 timeImage:getChildByName("LoadingBar_1"):setPercent(t1)
    1298 timeImage:setVisible(true)
    1299 end
    1300 ]]
    1301 
    1302 -- 显示倒计时
    1303 local timeImage = btn:getChildByName("timeNode")
    1304 if timeImage == nil then
    1305 timeImage = gLittleUi:getChildByName("timeNode"):clone()
    1306 btn:addChild(timeImage, 15)
    1307 local size = btn:getContentSize()
    1308 local pos = { x = 0, y = 0 }
    1309 if v.templateId > 0 then
    1310 pos = StringTemp:toPosition(gBuilding[v.templateId].proposition)
    1311 end
    1312 timeImage:setPosition( cc.p(pos.x, pos.y) )
    1313 end
    1314 if v.time <= 0 or v.allTime <= 0 then
    1315 timeImage:setVisible(false)
    1316 else
    1317 --print("time: " .. v.time)
    1318 --print("all time: " .. v.allTime)
    1319 local timeStr = StringTemp:toTime(v.time)
    1320 timeImage:getChildByName("timeLabel"):setString(timeStr)
    1321 timeImage:setVisible(true)
    1322 end
    1323 
    1324 
    1325 local btn_Free = btn:getChildByName("Button_Free")
    1326 if btn_Free then
    1327 if v.time > 0 and v.allTime > 0 and Common:getSpendByTime(v.time) <= g_SpeedUpFree then
    1328 if btn_Free:isVisible() == false then
    1329 local freeBtn = Animation:playFreeAnimation(btn_Free)
    1330 if freeBtn then
    1331 freeBtn:addTouchEventListener(function(e, t)
    1332 btn_Free:setVisible(false)
    1333 gWorldScene:freshGametips()
    1334 local msg = { type = v.buildType, dbId = v.dbId }
    1335 Connect:sendMsg("BuildAction", "buildOverSpeedUpFree", msg,
    1336 function(v)
    1337 local pd = PlayerData:getInstanse()
    1338 pd:BuildTimeOverFresh(v, StringRes[gBuilding[v.templateId].name])
    1339 if v.templateId == 1 then
    1340 gWorldScene:BaseQuest()
    1341 end
    1342 end, true)
    1343 end)
    1344 end
    1345 end
    1346 btn_Free:setVisible(true)
    1347 WorldScene:dontKnow(btn, "", false)
    1348 --Common:setBtnTouchEnable(btn_Free, true)
    1349 else
    1350 if btn_Free:isVisible() then
    1351 gWorldScene:freshGametips()
    1352 end
    1353 btn_Free:setVisible(false)
    1354 btn_Free:stopAllActions()
    1355 --Common:setBtnTouchEnable(btn_Free, false)
    1356 end
    1357 end
    1358 end
    1359 
    1360 end
    1361 
    1362 --资源建筑 倒计时
    1363 if pd.outSideBuild ~= nil then
    1364 for i, v in pairs(pd.outSideBuild) do
    1365 
    1366 local btnKey = gBlock[v.blockId].position
    1367 local btn = nil
    1368 if btnKey ~= nil then
    1369 btn = self.OutSideGbButton:getChildByName(btnKey)
    1370 end
    1371 if btn ~= nil then
    1372 --[[ 显示进度条
    1373 local timeImage = btn:getChildByName("Image_5")
    1374 if timeImage == nil then
    1375 timeImage = gLittleUi:getChildByName("Image_5"):clone()
    1376 btn:addChild(timeImage, 100)
    1377 local size = btn:getContentSize()
    1378 
    1379 --timeImage:setPosition( cc.p(size.width*0.5+20,size.height*0.5-20) )
    1380 end
    1381 
    1382 if v.time <= 0 or v.allTime <= 0 then
    1383 timeImage:setVisible(false)
    1384 else
    1385 local t1 = 100 - v.time / v.allTime * 100
    1386 timeImage:getChildByName("LoadingBar_1"):setPercent(t1)
    1387 timeImage:setVisible(true)
    1388 
    1389 
    1390 local pos = { x = 0, y = 0 }
    1391 if v.templateId > 0 then
    1392 pos = StringTemp:toPosition(gBuilding[v.templateId].proposition)
    1393 end
    1394 timeImage:setPosition( cc.p(pos.x, pos.y + 20) )
    1395 
    1396 end
    1397 ]]
    1398 -- 野外建筑倒计时
    1399 local timeImage = btn:getChildByName("timeNode")
    1400 if timeImage == nil then
    1401 timeImage = gLittleUi:getChildByName("timeNode"):clone()
    1402 timeImage:setGlobalZOrder(100)
    1403 btn:addChild(timeImage, 100)
    1404 local size = btn:getContentSize()
    1405 end
    1406 local pos = { x = 0, y = 0 }
    1407 if v.templateId > 0 then
    1408 pos = StringTemp:toPosition(gBuilding[v.templateId].proposition)
    1409 end
    1410 timeImage:setPosition( cc.p(pos.x, pos.y) )
    1411 if v.time <= 0 or v.allTime <= 0 then
    1412 timeImage:setVisible(false)
    1413 else
    1414 local timeStr = StringTemp:toTime(v.time)
    1415 timeImage:getChildByName("timeLabel"):setString(timeStr)
    1416 timeImage:setVisible(true)
    1417 end
    1418 
    1419 local btn_Free = btn:getChildByName("Button_Free")
    1420 if btn_Free == nil then
    1421 --btn_Free = self.OutSideBg:getChildByName("Button_Free"):clone()
    1422 --btn:addChild(btn_Free, 100)
    1423 --btn_Free:setPosition(cc.p(70, 70))
    1424 local cfg = "res/csd/public/MapBtnFree.csb"
    1425 local freeBtn= cc.uiloader:load(cfg)
    1426 local freeAction = cc.CSLoader:createTimeline(cfg)
    1427 freeAction:gotoFrameAndPlay(0, true)
    1428 freeBtn:runAction(freeAction)
    1429 freeBtn:setName("Button_Free")
    1430 freeBtn:setPosition(cc.p(70, 100))
    1431 btn:addChild(freeBtn)
    1432 btn_Free = freeBtn
    1433 local actButton = freeBtn:getChildByName("Button_1")
    1434 if actButton then
    1435 actButton:addTouchEventListener(function(e, t)
    1436 btn_Free:setVisible(false)
    1437 local msg = { type = v.buildType, dbId = v.dbId }
    1438 Connect:sendMsg("BuildAction", "buildOverSpeedUpFree", msg,
    1439 function(v)
    1440 local pd = PlayerData:getInstanse()
    1441 pd:BuildTimeOverFresh(v, StringRes[gBuilding[v.templateId].name])
    1442 if v.templateId == 1 then
    1443 gWorldScene:BaseQuest()
    1444 end
    1445 end, true)
    1446 end)
    1447 end
    1448 end
    1449 
    1450 if v.time > 0 and v.allTime > 0 and Common:getSpendByTime(v.time) <= g_SpeedUpFree then
    1451 btn_Free:setVisible(true)
    1452 --Common:setBtnTouchEnable(btn_Free, true)
    1453 else
    1454 btn_Free:setVisible(false)
    1455 --Common:setBtnTouchEnable(btn_Free, false)
    1456 end
    1457 
    1458 end
    1459 
    1460 end
    1461 end
    1462 
    1463 --充值特效
    1464 if self.monthCard_data then 
    1465 if self.monthCard_data.showState ~= true and self.monthCard_data.remainDay == 0 and SaveDataManager:isTick_DayChangeed("MonthCardTick") then
    1466 --Animation:playAnimation(rechargebtn, gUIeffect[9].effect, true, 15)
    1467 Animation:playAnimation4(rechargebtn, gUIeffect[7].effect,1,0.45,0.65)
    1468 self.monthCard_data.showState = true
    1469 elseif self.monthCard_data.showState == true and (self.monthCard_data.remainDay > 0 or not SaveDataManager:isTick_DayChangeed("MonthCardTick")) then
    1470 Animation:stopAnimation(rechargebtn, gUIeffect[7].effect)
    1471 self.monthCard_data.showState = false
    1472 end
    1473 end
    1474 
    1475 
    1476 end
    1477 
    1478 self.isPauseUpdate = false
    1479 
    1480 local testNum = 0
    1481 local function update(parameters)
    1482 
    1483 if not self.isPauseUpdate then
    1484 --更新页面
    1485 self:FreshTopPage()
    1486 self:FreshBGPage()
    1487 
    1488 
    1489 --动画
    1490 self:doAnimation()
    1491 
    1492 --刷新活动图标显示状态
    1493 self:RefreshActivityIcon()
    1494 end
    1495 
    1496  
    1497 
    1498 --test
    1499 -- testNum = testNum + 1
    1500 --
    1501 -- local data = {}
    1502 -- data.channel = 1
    1503 -- data.fromName = "tt"
    1504 -- data.fromId = 455
    1505 -- data.toName = 1
    1506 -- data.content = "tyyyj fdsf ds fdsa"..testNum
    1507 -- data.warLv = 1
    1508 -- data.vip = 1
    1509 ---- data.channel = 1
    1510 ---- data.channel = 1
    1511 -- ChatMainView:getInstanse():pushWords(data)
    1512 
    1513 end
    1514 
    1515 pd.FriendTroop = {}
    1516 --敌方来袭推送
    1517 local function registerEnemyIncoming()
    1518 Connect:register("notifyAtkWorld", function(data)
    1519 pd.EnemyIncoming[#(pd.EnemyIncoming) + 1] = data
    1520 self:freshEnemyIncoming()
    1521 MyAudio:PlayEffect( "res/sound/background_Warning.mp3" )
    1522 
    1523 print("111111111")
    1524 end)
    1525 end
    1526 registerEnemyIncoming()
    1527 self:freshEnemyIncoming()
    1528 
    1529 --WorldScene:freshTroop()
    1530 
    1531 --通知将领派遣状态
    1532 local function registerNotifyCommander()
    1533 Connect:register("notifyCommanderSend", function(data)
    1534 GeneralData:reset(data.recruitCommanderVOs)
    1535 end)
    1536 end
    1537 registerNotifyCommander()
    1538 
    1539 
    1540 --朋友驻军
    1541 local function registerFriendTroop()
    1542 Connect:register("notifyGarrisonInfo", function(data)
    1543 
    1544 pd.FriendTroop = {}
    1545 
    1546 for key, var in pairs(data) do
    1547 pd.FriendTroop[var.playerId .. var.armyId] = var
    1548 end
    1549 
    1550 self:freshTroop()
    1551 end)
    1552 end
    1553 registerFriendTroop()
    1554 self:freshTroop()
    1555 
    1556 --支付成功推送
    1557 local function registerPaySuccessNotification()
    1558 Connect:register("notifyTradeFinished", function(data)
    1559 if data.state == 1 then
    1560 local pd = PlayerData:getInstanse().basicData
    1561 pd.vipExp = data.vipExp
    1562 pd.vipLv = data.vipLv
    1563 pd.firstPay = data.firstPay
    1564 --Yangjie 修改 2016-11-4
    1565 --PlayerData:AddGold(data.gold - pd.gold, "Pay")
    1566 pd.gold = data.gold
    1567 --end
    1568 PromptView:type1(nil,StringRes.pay_success,StringRes.ok)
    1569 
    1570 app:dispatchEvent({name="onTradeFinished"})
    1571 end
    1572 
    1573 end)
    1574 end
    1575 registerPaySuccessNotification()
    1576 
    1577 --空降物质推送
    1578 local function registerAirborneRes()
    1579 Connect:register("notifyAirborneRes", function(data)
    1580 require("src/app/unit/Airborne"):updateParachute(data.airborneResId)
    1581 end)
    1582 end
    1583 registerAirborneRes()
    1584 
    1585 --升级特效推送
    1586 local pic_texts = { StringRes.pic_commandup, StringRes.pic_skillup, StringRes.pic_lvup }
    1587 local function registerLvUp()
    1588 Connect:register("notifyLvUp", function(data)
    1589 -- debug(data)
    1590 if data.type == 3 then
    1591 local node = CCUILoader:load("csd/startup/startup_dengjitisheng.csb")
    1592 self:addChild(node)
    1593 --local UIGround = node:getChildByName("Panel_2")
    1594 local DialogUtil = require("src.app.util.DialogUtil")
    1595 DialogUtil:addClickEvent(node:getChildByName("Panel_2"),function()
    1596 node:removeFromParent()
    1597 end)
    1598 local curLv = node:getChildByName("content"):getChildByName("Image_108"):getChildByName("Text_52")
    1599 local nextLv = node:getChildByName("content"):getChildByName("Image_108"):getChildByName("Text_53")
    1600 local reward = node:getChildByName("content"):getChildByName("Panel_4")
    1601 local list = node:getChildByName("content"):getChildByName("ListView_1")
    1602 curLv:setString((data.lv-1).."")
    1603 nextLv:setString(data.lv.."")
    1604 for index,var in pairs(data.lvUpReward.resMap) do
    1605 local item = reward:clone() 
    1606 item:getChildByName("text_drop1"):setString(StringRes[index])
    1607 item:getChildByName("num_drop1"):setString(var)
    1608 item:getChildByName("icon_drop1"):loadTexture(ResIconCfg[index])
    1609 item:getChildByName("Image_76"):setOpacity(102)
    1610 list:pushBackCustomItem(item)
    1611 end 
    1612 
    1613 if NoviceGuide:getState() then
    1614 local NodeTranslator = require("src/app/util/NodeTranslator")
    1615 NodeTranslator:deltaDo(1.5,function()
    1616 node:removeFromParent()
    1617 end)
    1618 
    1619 end
    1620 else 
    1621 local node = CCUILoader:load("csd/common/layer_popout_player_upgrade.csb")
    1622 Common:changePic(node:getChildByName("panel_upgrade"), pic_texts[data.type])
    1623 gWorldScene:addChild(node, 999)
    1624 local action = cc.CSLoader:createTimeline("csd/common/layer_popout_player_upgrade.csb")
    1625 node:runAction(action)
    1626 action:setLastFrameCallFunc(function()
    1627 node:removeFromParent()
    1628 end)
    1629 action:gotoFrameAndPlay(0, false)
    1630 MyAudio:PlayEffect(MusicAndEffect.levelup)
    1631 end
    1632 end) 
    1633 end
    1634 registerLvUp()
    1635 
    1636 --
    1637 local function registerGarrisonArmyBack()
    1638 Connect:register("notifyGarrisonArmyBack", function(data)
    1639 
    1640 pd.FriendTroop[data.playerId .. data.armyId] = nil
    1641 self:freshTroop()
    1642 end)
    1643 end
    1644 registerGarrisonArmyBack()
    1645 
    1646 
    1647 --踢下线通知
    1648 local function registerLeaveOnline()
    1649 Connect:register("leaveOnline", function(data)
    1650 if data.type == 1 then
    1651 PromptView:type1(StringRes.notice,
    1652 StringRes.leaveOnline_1
    1653 , StringRes.ok, function()
    1654 gWorldScene = nil
    1655 app:enterScene("LoginScene")
    1656 end)
    1657 elseif data.type == 2 then
    1658 PromptView:type1(StringRes.notice,
    1659 StringRes.leaveOnline_2
    1660 , StringRes.ok, function()
    1661 gWorldScene = nil
    1662 app:enterScene("LoginScene")
    1663 
    1664 end)
    1665 elseif data.type == 3 then
    1666 PromptView:type1(StringRes.notice,
    1667 StringRes.kickaccount
    1668 , StringRes.ok, function()
    1669 gWorldScene = nil
    1670 app:enterScene("LoginScene")
    1671 
    1672 end)
    1673 
    1674 end
    1675 end)
    1676 end
    1677 registerLeaveOnline()
    1678 
    1679 --世界保护盾通知
    1680 local function registerProtected()
    1681 Connect:register("notifyWorldProtect", function(data)
    1682 self.Feild:setProtected(data.haveProtect)
    1683 end)
    1684 end
    1685 registerProtected()
    1686 
    1687 
    1688 --更新部队推送
    1689 local function registerTroops()
    1690 Connect:register("notifyRefTroops", function(data)
    1691 pd.tanks = data.troops
    1692 end)
    1693 end
    1694 registerTroops()
    1695 
    1696 --跟新playerinfo
    1697 local function registerPlayerInfo()
    1698 Connect:register("notifyGuildState", function(data)
    1699 --Yangjie 更换统一接口 2016-11-2
    1700 pd:setBasicData(data)
    1701 --pd.basicData = data
    1702 --end Yangjie
    1703 end)
    1704 end
    1705 registerPlayerInfo()
    1706 
    1707 
    1708 --战斗部队附加属性
    1709 local function registerwarUnitAddAttrs()
    1710 Connect:register("notifyWarUnitAddAttr", function(data)
    1711 pd.warUnitAddAttrs = data.warUnitAddAttrs
    1712 end)
    1713 end
    1714 registerwarUnitAddAttrs()
    1715 
    1716 --小提示
    1717 local function registernotifyGameTips()
    1718 Connect:register("notifyGameTips", function(data)
    1719 pd.getGametipsVO = data
    1720 self:freshGametips()
    1721 self:freshTroop()
    1722 app:dispatchEvent({ name = "FreshOnGetGameTips" })
    1723 end)
    1724 end
    1725 registernotifyGameTips()
    1726 
    1727 
    1728 --活动公告
    1729 local function registernotifyNotice()
    1730 Connect:register("notifyNotice", function(data)
    1731 --更新数据
    1732 pd.noticeVOs = data.noticeVOs
    1733 self:freshGametips()
    1734 
    1735 end)
    1736 end
    1737 registernotifyNotice()
    1738 
    1739 --活动公告
    1740 local function registernotifyPlayerAddition()
    1741 Connect:register("notifyPlayerAddition", function(data)
    1742 --更新数据
    1743 pd.PlayerAddition = data
    1744 
    1745 
    1746 end)
    1747 end
    1748 registernotifyPlayerAddition()
    1749 
    1750 --背包有新物品提示推送
    1751 local function registernotifyItesmCount()
    1752 Connect:register("notifyItesmCount", function(data)
    1753 --更新数据
    1754 pd.notifyItesmCountVO = data
    1755 pd.notifyItesmCountVO.changed = true
    1756 
    1757 self:freshNewTaskNum()
    1758 
    1759 end)
    1760 end
    1761 registernotifyItesmCount()
    1762 
    1763 
    1764 --
    1765 --跟新PlayerSimpleInfo
    1766 local function registerPlayerSimpleInfo()
    1767 Connect:register("notifyPlayerSimpleInfo", function(data)
    1768 pd.basicData.comat = data.combat
    1769 pd.basicData.energy = data.energy
    1770 pd.basicData.vipLv = data.vipLv
    1771 --Yangjie 修改 2016-11-4
    1772 if data.gold - pd.basicData.gold > 0 then
    1773 if TDstatistics.GetAddGoldType() ~= nil then
    1774 PlayerData:AddGold(data.gold - pd.basicData.gold, TDstatistics.GetAddGoldType())
    1775 TDstatistics.SetAddGoldType(nil)
    1776 else
    1777 PlayerData:AddGold(data.gold - pd.basicData.gold, "用户数据更新")
    1778 end
    1779 elseif data.gold - pd.basicData.gold < 0 then
    1780 if TDstatistics.GetUseGoldType() ~= nil then
    1781 PlayerData:UseGold(TDstatistics.GetUseGoldType(), 1, pd.basicData.gold - data.gold)
    1782 TDstatistics.SetUseGoldType(nil)
    1783 else
    1784 PlayerData:UseGold("用户数据更新", 1, pd.basicData.gold - data.gold)
    1785 end
    1786 end
    1787 --pd.basicData.gold = data.gold
    1788 --end
    1789 pd.basicData.commandBook = data.commbooks
    1790 end)
    1791 end
    1792 registerPlayerSimpleInfo()
    1793 
    1794 
    1795 --战斗力变化
    1796 local function registerCombatChanged()
    1797 Connect:register("notifyCombatChange", function(data)
    1798 local pd = PlayerData:getInstanse()
    1799 pd.basicData.comat = data.combat
    1800 ManyDialogInfo:combatAddAnim(data.change)
    1801 
    1802 end)
    1803 end
    1804 registerCombatChanged()
    1805 
    1806 self:taskQuickNotice()
    1807 
    1808  
    1809 
    1810 RegisterCleanUp:register(function()
    1811 gChatMainView = nil
    1812 PlayerData:Relese()
    1813 ChatServer:disconect()
    1814 end, true)
    1815 loadingbarScheduler()
    1816 local function onNodeEvent(tag)
    1817 if tag == "enter" then
    1818 
    1819 self.loadingbarScheduler = Scheduler:scheduleScriptFunc(loadingbarScheduler, 1.0, false)
    1820 self.update = Scheduler:scheduleScriptFunc(update, 1.0, false)
    1821 self.Autobuilt = Scheduler:scheduleScriptFunc(AutobuiltTimer, 1.0, false)
    1822 
    1823 --self.updateScroll = Scheduler:scheduleScriptFunc(updateScroll, 0.1, false)
    1824 
    1825 MyAudio:PlayBgMusic("res/music/background_music.mp3")
    1826 gWorldScene = self
    1827 gWorldScene:freshQuick()
    1828 gWorldScene:getGametips()
    1829 gWorldScene:getAnnouncement()
    1830 local sc = self.BaseBg:getChildByName("ScrollView_1")
    1831 sc:jumpToPercentBothDirection(cc.p(-420, 20))
    1832 
    1833 
    1834 --限时礼包二选一
    1835 require("src/app/views/activity/LimitTimeFirstPayIcon").new(self.MiddleUI:getChildByName("Button_LimitTimeFirstPay"))
    1836 self.MiddleUIVisible = true;
    1837 
    1838 -- self.MiddleUI:getChildByName("Button_33"):setVisible(false)
    1839 -- 18小时奖励
    1840 require("src/app/views/activity/LimitTime18Hour"):show()
    1841 self.MiddleUIVisible18 = true;
    1842 
    1843 --在线奖励
    1844 TopbarUtils.clear()
    1845 TopbarUtils.addIcon(self.MiddleUI:getChildByName("Button_L5"))
    1846 local OnlineRewardIcon = require("src/app/views/activity/OnlineRewardIcon").new(self.MiddleUI:getChildByName("btn_time_reward"))
    1847 TopbarUtils.addIcon(OnlineRewardIcon)
    1848 local FirstRechargeIcon = require("src/app/views/activity/FirstRechargeIcon").new(self.MiddleUI:getChildByName("btn_first_recharge"))
    1849 self.FirstRechargeIcon = FirstRechargeIcon
    1850 TopbarUtils.addIcon(FirstRechargeIcon)
    1851 local ArmyGroupNoticeIcon = require("src/app/views/armygroup/ArmyGroupNoticeIcon").new(self.MiddleUI:getChildByName("Button_06"))
    1852 TopbarUtils.addIcon(ArmyGroupNoticeIcon)
    1853 local FixTimeFirstPayIcon = require("src/app/views/activity/FixTimeFirstPayIcon").new(self.MiddleUI:getChildByName("Button_FixTimeFirstPay"))
    1854 TopbarUtils.addIcon(FixTimeFirstPayIcon)
    1855 self.FixTimeFirstPayIcon = FixTimeFirstPayIcon
    1856 local Gift_rmb3_Icon = require("src/app/views/activity/Gift_rmb3_Icon").new(self.MiddleUI:getChildByName("Button_Gift_rmb3"))
    1857 TopbarUtils.addIcon(Gift_rmb3_Icon)
    1858 self.Gift_rmb3_Icon = Gift_rmb3_Icon
    1859 TopbarUtils.update()
    1860 
    1861 
    1862 elseif tag == "exit" then
    1863 Scheduler:unscheduleScriptEntry(self.loadingbarScheduler)
    1864 Scheduler:unscheduleScriptEntry(self.update)
    1865 Scheduler:unscheduleScriptEntry(self.Autobuilt)
    1866 
    1867 --Scheduler:unscheduleScriptEntry(self.updateScroll)
    1868 MyAudio:StopBgMusic()
    1869 gWorldScene = nil
    1870 --日志
    1871 statistics:sendExit()
    1872 end
    1873 end
    1874 self:registerScriptHandler(onNodeEvent)
    1875 
    1876 ChatServer:showLittle(self)
    1877 --冠军推送
    1878 Connect:register("refreshChampion", function(data)
    1879 pd.globalPVPNO1Name = data.playerName;
    1880 self:doDiaoxiang();
    1881 end)
    1882 
    1883 --军团升级
    1884 local function registerGuildLvUp()
    1885 Connect:register("updateGuildTech", function(data)
    1886 local pd = PlayerData:getInstanse()
    1887 if pd.basicData.guildId == data.guildId then
    1888 pd.basicData.guildLv = data.techLv
    1889 end
    1890 end)
    1891 end
    1892 registerGuildLvUp()
    1893 
    1894 
    1895 --军需卡信息
    1896 Connect:sendMsg("PayAction", "getMonthCardInfo", {}, function(data)
    1897 self:setMonthCard_data(data)
    1898 end)
    1899 
    1900 self:setVipPackageInfo()
    1901 
    1902 self:RefreshGroupRedPoint()
    1903 -- 军团红点信息
    1904 Connect:register("notifyGuildTips", function(data)
    1905 self.groupRP = data
    1906 self:UpdateRPControl()
    1907 end)
    1908 --self:initSolider()
    1909 end
    1910 
    1911 function WorldScene:setMonthCard_data(data)
    1912 local state = false
    1913 if self.monthCard_data and self.monthCard_data.showState then
    1914 state = true
    1915 end
    1916 self.monthCard_data = data
    1917 self.monthCard_data.showState = state
    1918 end
    1919 
    1920 function WorldScene:initSolider()
    1921 local carSpeed = 60
    1922 local soliderSpeed = 13
    1923 local map = self.BaseBg:getChildByName("ScrollView_1"):getChildByName("homeMap_mi")
    1924 -- 院子内走动的士兵
    1925 local manLayer1 = map:getChildByName("man1")
    1926 manLayer1:removeAllChildren()
    1927 local walkMan1 = require("app.views.worldScene.WalkSoldier").new()
    1928 manLayer1:addChild(walkMan1)
    1929 walkMan1:walkPingPang({ cc.p(165, 380), cc.p(745, 84) }, soliderSpeed, 1)
    1930 
    1931 -- 聊天的将军
    1932 local talk1Layer = map:getChildByName("Button_Champion")
    1933 local talkMan = require("app.views.worldScene.TalkTogetherSoldier").new()
    1934 talkMan:setPosition(cc.p(170, 0))
    1935 talk1Layer:addChild(talkMan)
    1936 
    1937 -- 总部的巡逻兵
    1938 local manLayer3 = map:getChildByName("Button_9"):getChildByName("man")
    1939 manLayer3:removeAllChildren()
    1940 local walkMan3 = require("app.views.worldScene.WalkSoldier").new()
    1941 manLayer3:addChild(walkMan3)
    1942 walkMan3:walkPingPang({ cc.p(295, 10), cc.p(62, 125) }, soliderSpeed, 1)
    1943 
    1944 -- 野外巡逻的士兵
    1945 local manLayer2 = map:getChildByName("man2")
    1946 manLayer2:removeAllChildren()
    1947 local walkMan2 = require("app.views.worldScene.WalkSoldier").new()
    1948 manLayer2:addChild(walkMan2)
    1949 walkMan2:walkPingPang({ cc.p(721, 380), cc.p(195, 135) }, soliderSpeed, 2)
    1950 
    1951 --野外聊天的将军
    1952 local talkMan2 = require("app.views.worldScene.TalkTogetherSoldier").new()
    1953 talkMan2:setPosition(cc.p(135, 295))
    1954 manLayer2:addChild(talkMan2)
    1955 
    1956 -- 城内的汽车
    1957 local car1Layer = map:getChildByName("car1")
    1958 car1Layer:removeAllChildren()
    1959 local car1 = require("app.views.worldScene.WalkCar").new()
    1960 car1:walkPingPang({ cc.p(969, 28), cc.p(96, 474), cc.p(595, 728), cc.p(716, 670) }, carSpeed)
    1961 car1Layer:addChild(car1)
    1962 
    1963 -- 城外的汽车
    1964 local car2Layer = map:getChildByName("car2")
    1965 car2Layer:removeAllChildren()
    1966 local car2 = require("app.views.worldScene.WalkCar").new()
    1967 car2:walkPingPang({
    1968 cc.p(2465, -47),
    1969 cc.p(1311, 547),
    1970 cc.p(1035, 537),
    1971 cc.p(179, 980),
    1972 cc.p(578, 1183)
    1973 }, carSpeed)
    1974 car2Layer:addChild(car2)
    1975 end
    1976 function WorldScene:setVipPackageInfo(data)
    1977 --获取VIP礼包
    1978 if data then
    1979 self.vipPackages = data
    1980 self:updataVipAnimation()
    1981 else
    1982 Connect:sendMsg("VipAction", "getVipPackagesInfo", {}, function(data)
    1983 self.vipPackages = data.packages
    1984 self:updataVipAnimation()
    1985 end)
    1986 end
    1987 end
    1988 
    1989 function WorldScene:updataVipAnimation()
    1990 --VIP特效
    1991 local playerVipButton = self.topUI:getChildByName("Button_3")
    1992 
    1993 local vipLv = PlayerData:getInstanse().basicData.vipLv
    1994 local count = 0
    1995 for k, v in pairs(self.vipPackages) do
    1996 
    1997 local desInfo = gVIPPackage[v.id]
    1998 
    1999 if desInfo == nil or desInfo.viplv > vipLv then
    2000 break
    2001 end
    2002 
    2003 if desInfo.got == 0 then
    2004 count = count + 1
    2005 end
    2006 end
    2007 
    2008 self.VipGiftCount = count
    2009 if count > 0 then
    2010 Animation:playAnimation4(playerVipButton, gUIeffect[9].effect, 1, 0.5,0.5)
    2011 else
    2012 Animation:stopAnimation(playerVipButton, gUIeffect[9].effect)
    2013 end
    2014 end
    2015 
    2016 
    2017 local path = {
    2018 ["enemy"] = "res/pic/mainmap/ui_middle/btn_warn.png",
    2019 ["friend"] = "res/pic/common/btn/battle/btn_occupy.png",
    2020 ["stopbuild"] = "res/pic/mainmap/ui_middle/btn_fire.png",
    2021 }
    2022 local RightBtnPic = {
    2023 "res/pic/mainmap/ui_middle/btn_prop.png", --装置车间
    2024 "res/pic/mainmap/ui_middle/btn_research.png", --科技中心
    2025 "res/pic/mainmap/ui_middle/btn_build_buy.png", --建筑
    2026 "res/pic/mainmap/ui_middle/btn_production.png", --坦克中心
    2027 "res/pic/mainmap/ui_middle/btn_build.png", --建筑队列
    2028 
    2029 "res/pic/mainmap_right/btn/btn_battle_attack.png", --队伍攻击
    2030 "res/pic/mainmap_right/btn/btn_battle_occupy.png", --队伍采集
    2031 "res/pic/mainmap_right/btn/btn_battle_return.png", --队伍返回
    2032 
    2033 "res/pic/common/btn/battle/btn_occupy.png", --驻防
    2034 }
    2035 
    2036 
    2037 function WorldScene:NoviceGuideWomenshow()
    2038 if not NoviceGuide:getState() then
    2039 gWorldScene.MiddleUI:getChildByName("panel_women"):setVisible(true)
    2040 else
    2041 gWorldScene.MiddleUI:getChildByName("panel_women"):setVisible(false)
    2042 end
    2043 end
    2044 
    2045 
    2046 function WorldScene:freshNewTaskNum( )
    2047 -- body
    2048 --列表
    2049 local list = self.BottomUI:getChildByName("ListView_1")
    2050 local budui = self.BottomUI:getChildByName("Button_6")
    2051 local pd = PlayerData:getInstanse()
    2052 local num = pd.notifyItesmCountVO.itemsType1 + pd.notifyItesmCountVO.itemsType2 + pd.notifyItesmCountVO.itemsType3 + pd.notifyItesmCountVO.itemsType4
    2053 if num > 0 then
    2054 Animation:showNum(budui, gLittleUi:getChildByName("Image_7"):clone(), num)
    2055 else
    2056 Animation:hideNum(budui, gLittleUi:getChildByName("Image_7"))
    2057 end
    2058 end
    2059 
    2060 
    2061 function WorldScene:freshBattleQuick()
    2062 
    2063 local pd = PlayerData:getInstanse()
    2064 
    2065 
    2066 --隐藏3个按钮
    2067 for var = 7, 9 do
    2068 local r = self.MiddleUI:getChildByName("Button_0" .. var)
    2069 local levelImage = r:getChildByName("Image_10")
    2070 if levelImage ~= nil then
    2071 r:removeChild(levelImage)
    2072 end
    2073 r:setVisible(false)
    2074 end
    2075 
    2076 
    2077 local num = 7
    2078 
    2079 --驻防
    2080 local btn = self.MiddleUI:getChildByName("Button_0" .. num)
    2081 if Common:getTableLen(pd.FriendTroop) > 0 then
    2082 
    2083 num = num + 1
    2084 
    2085 btn:loadTextures(path["friend"], path["friend"], "", ResType)
    2086 btn:addTouchEventListener(function(e, t)
    2087 if t == ccui.TouchEventType.ended then
    2088 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    2089 local ei = ManyDialogInfo:FriendTroop()
    2090 self:addChild(ei)
    2091 end
    2092 end)
    2093 
    2094 btn:setVisible(true)
    2095 
    2096 --显示等级
    2097 local levelImage = btn:getChildByName("Image_10")
    2098 if levelImage == nil then
    2099 levelImage = gLittleUi:getChildByName("Image_10"):clone()
    2100 
    2101 local size = btn:getContentSize()
    2102 levelImage:setPosition( cc.p(size.width * 0.5, 11) )
    2103 
    2104 
    2105 --更新时间
    2106 local function update(delta)
    2107 
    2108 local numPic = levelImage:getChildByName("Text_num")
    2109 
    2110 if Common:getTableLen(pd.FriendTroop) > 0 then
    2111 
    2112 local t = nil
    2113 for key, var in pairs(pd.FriendTroop) do
    2114 if var.time > 0 then
    2115 t = var
    2116 break
    2117 end
    2118 end
    2119 if t ~= nil then
    2120 numPic:setString(StringTemp:toTime(t.time))
    2121 local size = numPic:getContentSize()
    2122 local size1 = levelImage:getContentSize()
    2123 levelImage:setContentSize(cc.size(size.width + 20, size1.height))
    2124 levelImage:setVisible(true)
    2125 else
    2126 levelImage:setVisible(false)
    2127 end
    2128 
    2129 else
    2130 self:freshBattleQuick()
    2131 end
    2132 
    2133 
    2134 end
    2135 local function onNodeEvent(tag)
    2136 if tag == "enter" then
    2137 update(0)
    2138 levelImage.update = Scheduler:scheduleScriptFunc(update, 0.9, false)
    2139 
    2140 elseif tag == "exit" then
    2141 Scheduler:unscheduleScriptEntry(levelImage.update)
    2142 end
    2143 end
    2144 levelImage:registerScriptHandler(onNodeEvent)
    2145 
    2146 btn:addChild(levelImage, 10)
    2147 end
    2148 
    2149 
    2150 end
    2151 
    2152  
    2153 
    2154  
    2155 
    2156  
    2157 
    2158  
    2159 
    2160 --队伍出任务
    2161 -- gField.TaskExeBar:setVis(pd.ShortcutVO ~= nil and pd.ShortcutVO.ts ~= nil)
    2162 
    2163  
    2164 
    2165 --警告
    2166 local btn = self.MiddleUI:getChildByName("Button_0" .. num)
    2167 if #(pd.EnemyIncoming) > 0 then
    2168 
    2169 num = num + 1
    2170 
    2171 
    2172 btn:setVisible(true)
    2173 btn:loadTextures(path["enemy"], path["enemy"], "", ResType)
    2174 btn:addTouchEventListener(function(e, t)
    2175 if t == ccui.TouchEventType.ended then
    2176 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    2177 local ei = ManyDialogInfo:EnemyIncoming()
    2178 self:addChild(ei)
    2179 end
    2180 end)
    2181 
    2182 --显示等级
    2183 local levelImage = btn:getChildByName("Image_10")
    2184 if levelImage == nil then
    2185 levelImage = gLittleUi:getChildByName("Image_10"):clone()
    2186 
    2187 local size = btn:getContentSize()
    2188 levelImage:setPosition( cc.p(size.width * 0.5, 11) )
    2189 
    2190 
    2191 --更新时间
    2192 local function update(delta)
    2193 
    2194 local numPic = levelImage:getChildByName("Text_num")
    2195 
    2196 if #(pd.EnemyIncoming) > 0 then
    2197 numPic:setString(StringTemp:toTime(pd.EnemyIncoming[1].time))
    2198 local size = numPic:getContentSize()
    2199 local size1 = levelImage:getContentSize()
    2200 levelImage:setContentSize(cc.size(size.width + 20, size1.height))
    2201 else
    2202 self:freshBattleQuick()
    2203 end
    2204 
    2205 
    2206 end
    2207 local function onNodeEvent(tag)
    2208 if tag == "enter" then
    2209 update(0)
    2210 levelImage.update = Scheduler:scheduleScriptFunc(update, 0.9, false)
    2211 
    2212 elseif tag == "exit" then
    2213 Scheduler:unscheduleScriptEntry(levelImage.update)
    2214 end
    2215 end
    2216 levelImage:registerScriptHandler(onNodeEvent)
    2217 
    2218 btn:addChild(levelImage, 10)
    2219 end
    2220 
    2221 end
    2222 
    2223 
    2224 --停产
    2225 --警告
    2226 local btn = self.MiddleUI:getChildByName("Button_0" .. num)
    2227 if pd.getGametipsVO == nil or pd.getGametipsVO.deBuffId == nil or pd.getGametipsVO.deBuffTime == nil then
    2228 return
    2229 end
    2230 if pd.getGametipsVO.deBuffId > 0 and pd.getGametipsVO.deBuffTime > 0 then
    2231 
    2232 num = num + 1
    2233 
    2234 
    2235 btn:setVisible(true)
    2236 btn:loadTextures(path["stopbuild"], path["stopbuild"], "", ResType)
    2237 btn:addTouchEventListener(function(e, t)
    2238 if t == ccui.TouchEventType.ended then
    2239 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    2240 local ei = ManyDialogInfo:resStop(pd.getGametipsVO.deBuffTime)
    2241 self:addChild(ei)
    2242 end
    2243 end)
    2244 
    2245 --显示等级
    2246 local levelImage = btn:getChildByName("Image_10")
    2247 if levelImage == nil then
    2248 levelImage = gLittleUi:getChildByName("Image_10"):clone()
    2249 
    2250 local size = btn:getContentSize()
    2251 levelImage:setPosition( cc.p(size.width * 0.5, 11) )
    2252 
    2253 
    2254 --更新时间
    2255 local function update(delta)
    2256 
    2257 local numPic = levelImage:getChildByName("Text_num")
    2258 pd.getGametipsVO.deBuffTime = pd.getGametipsVO.deBuffTime - delta
    2259 if pd.getGametipsVO.deBuffId > 0 and pd.getGametipsVO.deBuffTime > 0 then
    2260 numPic:setString(StringTemp:toTime(pd.getGametipsVO.deBuffTime))
    2261 local size = numPic:getContentSize()
    2262 local size1 = levelImage:getContentSize()
    2263 levelImage:setContentSize(cc.size(size.width + 20, size1.height))
    2264 else
    2265 gField:freshResShow()
    2266 self:freshBattleQuick()
    2267 end
    2268 
    2269 
    2270 end
    2271 local function onNodeEvent(tag)
    2272 if tag == "enter" then
    2273 
    2274 levelImage.update = Scheduler:scheduleScriptFunc(update, 0.9, false)
    2275 update(0)
    2276 elseif tag == "exit" then
    2277 Scheduler:unscheduleScriptEntry(levelImage.update)
    2278 end
    2279 end
    2280 levelImage:registerScriptHandler(onNodeEvent)
    2281 
    2282 btn:addChild(levelImage, 10)
    2283 gField:freshResShow()
    2284 end
    2285 
    2286 end
    2287 
    2288 
    2289 end
    2290 
    2291 
    2292 function WorldScene:freshTroop()
    2293 self:freshBattleQuick()
    2294 -- local pd = PlayerData:getInstanse()
    2295 --
    2296 --
    2297 -- local btn = self.MiddleUI:getChildByName("Button_L7")
    2298 --    if #(pd.EnemyIncoming) > 0 then
    2299 -- btn = self.MiddleUI:getChildByName("Button_L8")
    2300 -- else
    2301 -- self.MiddleUI:getChildByName("Button_L8"):setVisible(false)
    2302 --    end
    2303 --
    2304 --    --
    2305 -- btn:loadTextures(path["friend"],path["friend"],"",ResType)
    2306 -- btn:addTouchEventListener(function(e, t)
    2307 -- if t == ccui.TouchEventType.ended then MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    2308 -- local ei = ManyDialogInfo:FriendTroop()
    2309 -- self:addChild(ei)
    2310 -- end
    2311 -- end)
    2312 --
    2313 --    --pd.FriendTroop = {}
    2314 --    --显示
    2315 --    --table.maxn(table)
    2316 -- if Common:getTableLen(pd.FriendTroop) > 0 then
    2317 -- btn:setVisible(true)
    2318 --
    2319 -- --显示等级
    2320 -- local levelImage = btn:getChildByName("Image_10")
    2321 -- if levelImage == nil then
    2322 -- levelImage = gLittleUi:getChildByName("Image_10"):clone()
    2323 --
    2324 -- local size = btn:getContentSize()
    2325 -- levelImage:setPosition( cc.p(size.width*0.5,11) )
    2326 --
    2327 --
    2328 -- --更新时间
    2329 -- local function update(delta)
    2330 --
    2331 -- local numPic = levelImage:getChildByName("Text_num")
    2332 --
    2333 -- if Common:getTableLen(pd.FriendTroop) > 0 then
    2334 --
    2335 -- local t = nil
    2336 -- for key, var in pairs(pd.FriendTroop) do
    2337 -- if var.time > 0 then
    2338 -- t = var
    2339 -- break
    2340 -- end
    2341 -- end
    2342 -- if t ~= nil then
    2343 -- numPic:setString(StringTemp:toTime(t.time))
    2344 -- local size = numPic:getContentSize()
    2345 -- local size1 = levelImage:getContentSize()
    2346 -- levelImage:setContentSize(cc.size(size.width+20,size1.height))
    2347 -- levelImage:setVisible(true)
    2348 -- else
    2349 -- levelImage:setVisible(false)
    2350 -- end
    2351 --
    2352 -- else
    2353 -- self:freshTroop()
    2354 -- end
    2355 --
    2356 --
    2357 --
    2358 --
    2359 -- end
    2360 -- local function onNodeEvent(tag)
    2361 -- if tag == "enter" then
    2362 -- update(0)
    2363 -- levelImage.update = Scheduler:scheduleScriptFunc(update, 0.9, false)
    2364 --
    2365 -- elseif tag == "exit" then
    2366 -- Scheduler:unscheduleScriptEntry(levelImage.update)
    2367 -- end
    2368 -- end
    2369 -- levelImage:registerScriptHandler(onNodeEvent)
    2370 --
    2371 -- btn:addChild(levelImage,10)
    2372 -- end
    2373 -- else
    2374 -- --
    2375 -- btn:setVisible(false)
    2376 -- local levelImage = btn:getChildByName("Image_10")
    2377 -- if levelImage ~= nil then
    2378 -- btn:removeChild(levelImage)
    2379 -- end
    2380 --
    2381 -- end
    2382 
    2383 
    2384 end
    2385 
    2386 
    2387 --敌军来袭
    2388 function WorldScene:freshEnemyIncoming()
    2389 self:freshBattleQuick()
    2390 -- local pd = PlayerData:getInstanse()
    2391 --
    2392 -- local btn = self.MiddleUI:getChildByName("Button_L7")
    2393 -- btn:loadTextures(path["enemy"],path["enemy"],"",ResType)
    2394 -- btn:addTouchEventListener(function(e, t)
    2395 -- if t == ccui.TouchEventType.ended then MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    2396 -- local ei = ManyDialogInfo:EnemyIncoming()
    2397 -- self:addChild(ei)
    2398 -- end
    2399 -- end)
    2400 --
    2401 -- if #(pd.EnemyIncoming) > 0 then
    2402 -- btn:setVisible(true)
    2403 --
    2404 -- --显示等级
    2405 -- local levelImage = btn:getChildByName("Image_10")
    2406 -- if levelImage == nil then
    2407 -- levelImage = gLittleUi:getChildByName("Image_10"):clone()
    2408 --
    2409 -- local size = btn:getContentSize()
    2410 -- levelImage:setPosition( cc.p(size.width*0.5,11) )
    2411 --
    2412 --
    2413 -- --更新时间
    2414 -- local function update(delta)
    2415 --
    2416 -- local numPic = levelImage:getChildByName("Text_num")
    2417 --
    2418 -- if #(pd.EnemyIncoming) > 0 then
    2419 -- numPic:setString(StringTemp:toTime(pd.EnemyIncoming[1].time))
    2420 -- local size = numPic:getContentSize()
    2421 -- local size1 = levelImage:getContentSize()
    2422 -- levelImage:setContentSize(cc.size(size.width+20,size1.height))
    2423 -- else
    2424 -- self:freshEnemyIncoming()
    2425 -- end
    2426 --
    2427 --
    2428 --
    2429 --
    2430 -- end
    2431 -- local function onNodeEvent(tag)
    2432 -- if tag == "enter" then
    2433 -- update(0)
    2434 -- levelImage.update = Scheduler:scheduleScriptFunc(update, 0.9, false)
    2435 --
    2436 -- elseif tag == "exit" then
    2437 -- Scheduler:unscheduleScriptEntry(levelImage.update)
    2438 -- end
    2439 -- end
    2440 -- levelImage:registerScriptHandler(onNodeEvent)
    2441 --
    2442 -- btn:addChild(levelImage,10)
    2443 -- end
    2444 -- else
    2445 -- --
    2446 -- btn:setVisible(false)
    2447 -- local levelImage = btn:getChildByName("Image_10")
    2448 -- if levelImage ~= nil then
    2449 -- btn:removeChild(levelImage)
    2450 -- end
    2451 --
    2452 -- end
    2453 --
    2454 --
    2455 --
    2456 --
    2457 --
    2458 --
    2459 --
    2460 -- --刷新部队
    2461 -- self:freshTroop()
    2462 end
    2463 
    2464  
    2465 
    2466  
    2467 
    2468  
    2469 
    2470 
    2471 local RightBtn = {
    2472 "Button_R2", "Button_R3", "Button_R4", "Button_R5", "Button_R6",
    2473 }
    2474 local RightBtnPos = {
    2475 cc.p(600, 868), cc.p(600, 788), cc.p(600, 708), cc.p(600, 628), cc.p(600, 548),
    2476 }
    2477 
    2478 
    2479 --刷新快捷按钮
    2480 function WorldScene:freshQuick()
    2481 local pd = PlayerData:getInstanse()
    2482 
    2483 Connect:sendMsg("InterfaceAction", "getShortcutInfo", nil,
    2484 function(data)
    2485 --更新数据
    2486 pd.ShortcutVO = data
    2487 self:freshRightBtn()
    2488 end, false)
    2489 end
    2490 
    2491 --空闲总数
    2492 local Count_Sce = 0 --科技
    2493 local Count_build = 0 -- 建筑
    2494 local Count_Dev = 0 --装置
    2495 local Count_Tank = 0 --坦克
    2496 local Count_buyBuild = 0 --建造位
    2497 
    2498 --右侧按钮刷新
    2499 function WorldScene:freshRightBtn()
    2500 
    2501 -- if true then
    2502 -- return
    2503 -- end
    2504 
    2505  
    2506 
    2507 local pd = PlayerData:getInstanse()
    2508 if pd.ShortcutVO == nil or pd.basicData == nil then
    2509 return
    2510 end
    2511 --刷新快捷按钮信息
    2512 local numPos = 2
    2513 
    2514 Count_Sce = 0 --科技
    2515 Count_build = 0 -- 建筑
    2516 Count_Dev = 0 --装置
    2517 Count_Tank = 0 --坦克
    2518 Count_buyBuild = 0 --可购买的建筑队列
    2519 
    2520 --隐藏6个按钮
    2521 for var = 2, 6 do
    2522 local r = self.MiddleUI:getChildByName("Button_R" .. var)
    2523 local levelImage = r:getChildByName("Image_10")
    2524 if levelImage ~= nil then
    2525 r:removeChild(levelImage)
    2526 end
    2527 
    2528 --r:setVisible(false)
    2529 end
    2530 
    2531 if pd.ShortcutVO == nil then
    2532 return
    2533 end
    2534 
    2535 --排行榜
    2536 -- local ranks = self.MiddleUI:getChildByName:getChildByName("Button_53")
    2537 -- ranks:addTouchEventListener(function(e, t)
    2538 -- if t == ccui.TouchEventType.ended then
    2539 -- MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    2540 -- local t1 = Ranks.new(self)
    2541 -- self:addChild(t1)
    2542 -- end
    2543 -- end)
    2544 local R1 = self.MiddleUI:getChildByName("Button_R1")
    2545 --更新时间
    2546 local function update_R1(delta)
    2547 --空闲红点
    2548 local redPoint = R1:getChildByName("icon_redPoint")
    2549 local text_num = redPoint:getChildByName("Text_num")
    2550 local count = Count_Sce + Count_build + Count_Dev + Count_Tank + Count_buyBuild
    2551 if count > 0 then
    2552 text_num:setString(tostring(count))
    2553 redPoint:setVisible(true)
    2554 else
    2555 redPoint:setVisible(false)
    2556 end
    2557 end
    2558 
    2559 
    2560 if R1.updateID == nil then
    2561 update_R1(0)
    2562 R1.updateID = Scheduler:scheduleScriptFunc(update_R1, 0.9, false)
    2563 end
    2564 local function onNodeEvent_R1(tag)
    2565 if tag == "exit" and R1.updateID ~= nil then
    2566 Scheduler:unscheduleScriptEntry(R1.updateID)
    2567 end
    2568 end
    2569 R1:registerScriptHandler(onNodeEvent_R1)
    2570 
    2571 --装置车间
    2572 if pd.ShortcutVO.df ~= nil then
    2573 local r = self.MiddleUI:getChildByName("Button_R" .. numPos)
    2574 if r ~= nil then
    2575 --设置回调
    2576 --装置车间 生产道具
    2577 r:addTouchEventListener(function(e, t)
    2578 if t == ccui.TouchEventType.ended then
    2579 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    2580 local layer = require("src/app/views/buildings/DeviceFactory").new(self, pd:getBaseBuildData(8))
    2581 self:addChild(layer)
    2582 layer:setTabSelect(1)
    2583 NodeTranslator:transUp(layer, nil)
    2584 end
    2585 end)
    2586 
    2587 --显示等级
    2588 local levelImage = r:getChildByName("Image_10")
    2589 if levelImage == nil then
    2590 levelImage = gLittleUi:getChildByName("Image_10"):clone()
    2591 
    2592 local size = r:getContentSize()
    2593 levelImage:setPosition( cc.p(size.width * 0.5, 11) )
    2594 
    2595 
    2596 local FreeAnimate = r:getChildByName("FreeAnimate")
    2597 
    2598 --更新时间
    2599 local function update(delta)
    2600 if pd.ShortcutVO.df ~= nil then
    2601 if pd.ShortcutVO.df.remainTime > 0 and pd.ShortcutVO.df.remainTime < delta then
    2602 --刷新
    2603 NodeTranslator:deltaDo(0.8,
    2604 function()
    2605 self:freshQuick()
    2606 self:getGametips()
    2607 end
    2608 )
    2609 end
    2610 pd.ShortcutVO.df.remainTime = pd.ShortcutVO.df.remainTime - delta
    2611 
    2612  
    2613 
    2614 local numPic = levelImage:getChildByName("Text_num")
    2615 --空闲红点
    2616 local redPoint = r:getChildByName("icon_redPoint")
    2617 local text_num = redPoint:getChildByName("Text_num")
    2618 if pd.ShortcutVO.df.baseId <= 0 then
    2619 r:loadTextures(RightBtnPic[1], RightBtnPic[1], "", ResType)
    2620 numPic:setString("0/1")
    2621 
    2622 local size = numPic:getContentSize()
    2623 local size1 = levelImage:getContentSize()
    2624 levelImage:setContentSize(cc.size(size.width + 20, size1.height))
    2625 text_num:setString("1")
    2626 redPoint:setVisible(true)
    2627 
    2628 Count_Dev = 1
    2629 else
    2630 Count_Dev = 0
    2631 redPoint:setVisible(false)
    2632 
    2633 r:loadTextures(gItem[pd.ShortcutVO.df.baseId].icon, gItem[pd.ShortcutVO.df.baseId].icon, "", ResType)
    2634 numPic:setString(StringTemp:toTime(pd.ShortcutVO.df.remainTime))
    2635 
    2636 local size = numPic:getContentSize()
    2637 local size1 = levelImage:getContentSize()
    2638 levelImage:setContentSize(cc.size(size.width + 20, size1.height))
    2639 
    2640 end
    2641 
    2642 if FreeAnimate and FreeAnimate:isVisible() then
    2643 FreeAnimate:setVisible(false)
    2644 end
    2645 end
    2646 end
    2647 local function onNodeEvent(tag)
    2648 if tag == "enter" then
    2649 update(0)
    2650 levelImage.update = Scheduler:scheduleScriptFunc(update, 0.9, false)
    2651 
    2652 elseif tag == "exit" then
    2653 Scheduler:unscheduleScriptEntry(levelImage.update)
    2654 end
    2655 end
    2656 levelImage:registerScriptHandler(onNodeEvent)
    2657 r:addChild(levelImage, 10)
    2658 end
    2659 
    2660 
    2661 end
    2662 
    2663 -- r:setVisible(true)
    2664 numPos = numPos + 1
    2665 end
    2666 
    2667 --科研中心
    2668 if pd.ShortcutVO.tc ~= nil then
    2669 local r = self.MiddleUI:getChildByName("Button_R" .. numPos)
    2670 if r ~= nil then
    2671 --设置回调
    2672 --装置车间 生产道具
    2673 r:addTouchEventListener(function(e, t)
    2674 if t == ccui.TouchEventType.ended then
    2675 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    2676 local ScienceCenterView = require("src/app/views/study/ScienceCenterView")
    2677 ScienceCenterView:open(self, pd:getBaseBuildData(5), 2)
    2678 end
    2679 end)
    2680 
    2681 --显示等级
    2682 local levelImage = r:getChildByName("Image_10")
    2683 if levelImage == nil then
    2684 levelImage = gLittleUi:getChildByName("Image_10"):clone()
    2685 
    2686 local size = r:getContentSize()
    2687 levelImage:setPosition( cc.p(size.width * 0.5, 11) )
    2688 
    2689 
    2690 local FreeAnimate = r:getChildByName("FreeAnimate")
    2691 
    2692 --更新时间
    2693 local function update(delta)
    2694 if pd.ShortcutVO.tc ~= nil then
    2695 if pd.ShortcutVO.tc.remainTime > 0 and pd.ShortcutVO.tc.remainTime < delta then
    2696 --刷新
    2697 NodeTranslator:deltaDo(0.8,
    2698 function()
    2699 self:freshQuick()
    2700 self:getGametips()
    2701 end
    2702 )
    2703 end
    2704 pd.ShortcutVO.tc.remainTime = pd.ShortcutVO.tc.remainTime - delta
    2705 
    2706  
    2707 
    2708 local numPic = levelImage:getChildByName("Text_num")
    2709 --空闲红点
    2710 local redPoint = r:getChildByName("icon_redPoint")
    2711 local text_num = redPoint:getChildByName("Text_num")
    2712 if pd.ShortcutVO.tc.type <= 0 then
    2713 r:loadTextures(RightBtnPic[2], RightBtnPic[2], "", ResType)
    2714 numPic:setString("0/1")
    2715 
    2716 local size = numPic:getContentSize()
    2717 local size1 = levelImage:getContentSize()
    2718 levelImage:setContentSize(cc.size(size.width + 20, size1.height))
    2719 
    2720 text_num:setString("1")
    2721 redPoint:setVisible(true)
    2722 Count_Sce = 1
    2723 else
    2724 Count_Sce = 0
    2725 redPoint:setVisible(false)
    2726 
    2727 r:loadTextures(ScienceStudyCfg[pd.ShortcutVO.tc.type].icon, ScienceStudyCfg[pd.ShortcutVO.tc.type].icon, "", ResType)
    2728 numPic:setString(StringTemp:toTime(pd.ShortcutVO.tc.remainTime))
    2729 
    2730 local size = numPic:getContentSize()
    2731 local size1 = levelImage:getContentSize()
    2732 levelImage:setContentSize(cc.size(size.width + 20, size1.height))
    2733 end
    2734 
    2735 if FreeAnimate and FreeAnimate:isVisible() then
    2736 FreeAnimate:setVisible(false)
    2737 end
    2738 
    2739 end
    2740 end
    2741 local function onNodeEvent(tag)
    2742 if tag == "enter" then
    2743 update(0)
    2744 levelImage.update = Scheduler:scheduleScriptFunc(update, 0.9, false)
    2745 
    2746 elseif tag == "exit" then
    2747 Scheduler:unscheduleScriptEntry(levelImage.update)
    2748 end
    2749 end
    2750 levelImage:registerScriptHandler(onNodeEvent)
    2751 r:addChild(levelImage, 10)
    2752 end
    2753 
    2754 
    2755 end
    2756 
    2757 --r:setVisible(true)
    2758 numPos = numPos + 1
    2759 end
    2760 
    2761 
    2762 --建筑队列
    2763 if true then
    2764 local r = self.MiddleUI:getChildByName("Button_R" .. numPos)
    2765 if r ~= nil then
    2766 --设置回调
    2767 --建筑队列
    2768 r:addTouchEventListener(function(e, t)
    2769 if t == ccui.TouchEventType.ended then
    2770 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    2771 self.PlayerInfo = PlayerInfo.new(self)
    2772 self:addChild(self.PlayerInfo)
    2773 self.PlayerInfo:setTabSelect(3)
    2774 end
    2775 end)
    2776 
    2777 --显示等级
    2778 local levelImage = r:getChildByName("Image_10")
    2779 if levelImage == nil then
    2780 levelImage = gLittleUi:getChildByName("Image_10"):clone()
    2781 
    2782 local size = r:getContentSize()
    2783 levelImage:setPosition( cc.p(size.width * 0.5, 11) )
    2784 
    2785 
    2786 local FreeAnimate = r:getChildByName("FreeAnimate")
    2787 
    2788 --更新时间
    2789 local function update(delta)
    2790 if true then
    2791 -- if pd.ShortcutVO.tc.remainTime > 0 and pd.ShortcutVO.tc.remainTime < delta then
    2792 -- --刷新
    2793 -- end
    2794 -- pd.ShortcutVO.tc.remainTime = pd.ShortcutVO.tc.remainTime - delta
    2795 
    2796  
    2797 
    2798 local numPic = levelImage:getChildByName("Text_num")
    2799 --空闲红点
    2800 local redPoint = r:getChildByName("icon_redPoint")
    2801 local text_num = redPoint:getChildByName("Text_num")
    2802 if pd:getBuildingNum() < pd.basicData.buildCount then
    2803 r:loadTextures(RightBtnPic[3], RightBtnPic[3], "", ResType)
    2804 numPic:setString(pd:getBuildingNum() .. "/" .. pd.basicData.buildCount)
    2805 
    2806 local size = numPic:getContentSize()
    2807 local size1 = levelImage:getContentSize()
    2808 levelImage:setContentSize(cc.size(size.width + 20, size1.height))
    2809 
    2810 redPoint:setVisible(true)
    2811 Count_build = pd.basicData.buildCount - pd:getBuildingNum()
    2812 text_num:setString(tostring(Count_build))
    2813 
    2814 local FreeAnimate = r:getChildByName("FreeAnimate")
    2815 if FreeAnimate and FreeAnimate:isVisible() then
    2816 FreeAnimate:setVisible(false)
    2817 FreeAnimate:stopAllActions()
    2818 end
    2819 levelImage:setVisible(true)
    2820 else
    2821 Count_build = 0
    2822 redPoint:setVisible(false)
    2823 
    2824 
    2825 local t1 = pd:getNearestBuildOver()
    2826 r:loadTextures(gBuilding[t1.templateId].icon, gBuilding[t1.templateId].icon, "", ResType)
    2827 if Common:getSpendByTime(t1.time) > g_SpeedUpFree then
    2828 levelImage:setVisible(true)
    2829 
    2830 numPic:setString(StringTemp:toTime(t1.time))
    2831 
    2832 local size = numPic:getContentSize()
    2833 local size1 = levelImage:getContentSize()
    2834 levelImage:setContentSize(cc.size(size.width + 20, size1.height))
    2835 
    2836 if FreeAnimate and FreeAnimate:isVisible() then
    2837 FreeAnimate:setVisible(false)
    2838 end
    2839 
    2840 levelImage:setVisible(true)
    2841 
    2842 else
    2843 levelImage:setVisible(false)
    2844 
    2845 if FreeAnimate and not FreeAnimate:isVisible() then
    2846 FreeAnimate:setVisible(true)
    2847 end
    2848 end
    2849 
    2850 
    2851 end
    2852 
    2853 end
    2854 end
    2855 local function onNodeEvent(tag)
    2856 if tag == "enter" then
    2857 update(0)
    2858 levelImage.update = Scheduler:scheduleScriptFunc(update, 0.9, false)
    2859 
    2860 elseif tag == "exit" then
    2861 Scheduler:unscheduleScriptEntry(levelImage.update)
    2862 end
    2863 end
    2864 levelImage:registerScriptHandler(onNodeEvent)
    2865 r:addChild(levelImage, 10)
    2866 end
    2867 
    2868 
    2869 end
    2870 
    2871 --r:setVisible(true)
    2872 numPos = numPos + 1
    2873 end
    2874 
    2875 --坦克
    2876 if pd.ShortcutVO.tf ~= nil and #pd.ShortcutVO.tf > 0 then
    2877 local r = self.MiddleUI:getChildByName("Button_R" .. numPos)
    2878 if r ~= nil then
    2879 --设置回调
    2880 
    2881 
    2882 --显示等级
    2883 local levelImage = r:getChildByName("Image_10")
    2884 if levelImage == nil then
    2885 levelImage = gLittleUi:getChildByName("Image_10"):clone()
    2886 
    2887 local size = r:getContentSize()
    2888 levelImage:setPosition( cc.p(size.width * 0.5, 11) )
    2889 
    2890 
    2891 local FreeAnimate = r:getChildByName("FreeAnimate")
    2892 
    2893 --更新时间
    2894 local function update(delta)
    2895 if pd.ShortcutVO.tf ~= nil then
    2896 
    2897 local activitynum = 0--有坦克正在建造的数量
    2898 local idleFactory = nil--等级最高的空闲坦克工厂
    2899 local timeShort = nil--时间最短的活动坦克工厂
    2900 local time = 1000000000
    2901 for key, var in pairs(pd.ShortcutVO.tf) do
    2902 
    2903 if var.remainTime > 0 and var.remainTime < delta then
    2904 --刷新
    2905 NodeTranslator:deltaDo(0.8,
    2906 function()
    2907 self:freshQuick()
    2908 self:getGametips()
    2909 end
    2910 )
    2911 end
    2912 var.remainTime = var.remainTime - delta
    2913 
    2914 if var.baseId > 0 then
    2915 activitynum = activitynum + 1
    2916 
    2917 if time > var.remainTime then
    2918 time = var.remainTime
    2919 timeShort = var
    2920 end
    2921 
    2922 
    2923 else
    2924 if idleFactory == nil then
    2925 idleFactory = pd:getBaseBuildData(var.templateId)
    2926 else
    2927 local t1 = pd:getBaseBuildData(var.templateId)
    2928 if idleFactory.buildLv < t1.buildLv then
    2929 idleFactory = t1
    2930 end
    2931 end
    2932 end
    2933 end
    2934 
    2935 
    2936 local numPic = levelImage:getChildByName("Text_num")
    2937 --空闲红点
    2938 local redPoint = r:getChildByName("icon_redPoint")
    2939 local text_num = redPoint:getChildByName("Text_num")
    2940 if activitynum < #pd.ShortcutVO.tf then
    2941 r:loadTextures(RightBtnPic[4], RightBtnPic[4], "", ResType)
    2942 numPic:setString(activitynum .. "/" .. #pd.ShortcutVO.tf)
    2943 
    2944 local size = numPic:getContentSize()
    2945 local size1 = levelImage:getContentSize()
    2946 levelImage:setContentSize(cc.size(size.width + 20, size1.height))
    2947 
    2948  
    2949 
    2950 --坦克
    2951 r:addTouchEventListener(function(e, t)
    2952 if t == ccui.TouchEventType.ended then
    2953 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    2954 local layer = require("src/app/views/buildings/TankFactory").new(self, idleFactory)
    2955 self:addChild(layer)
    2956 layer:setTabSelect(2)
    2957 NodeTranslator:transUp(layer, nil)
    2958 end
    2959 end)
    2960 
    2961 redPoint:setVisible(true)
    2962 Count_Tank = #pd.ShortcutVO.tf - activitynum
    2963 text_num:setString(tostring(Count_Tank))
    2964 else
    2965 Count_Tank = 0
    2966 redPoint:setVisible(false)
    2967 
    2968 r:loadTextures(Tank[timeShort.baseId].icon, Tank[timeShort.baseId].icon, "", ResType)
    2969 numPic:setString(StringTemp:toTime(timeShort.remainTime))
    2970 
    2971 local size = numPic:getContentSize()
    2972 local size1 = levelImage:getContentSize()
    2973 levelImage:setContentSize(cc.size(size.width + 20, size1.height))
    2974 
    2975 --坦克
    2976 r:addTouchEventListener(function(e, t)
    2977 if t == ccui.TouchEventType.ended then
    2978 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    2979 local layer = require("src/app/views/buildings/TankFactory").new(self, pd:getBaseBuildData(timeShort.templateId))
    2980 self:addChild(layer)
    2981 layer:setTabSelect(2)
    2982 NodeTranslator:transUp(layer, nil)
    2983 end
    2984 end)
    2985 r:setContentSize(cc.size(100, 100))
    2986 end
    2987 
    2988 end
    2989 
    2990 if FreeAnimate and FreeAnimate:isVisible() then
    2991 FreeAnimate:setVisible(false)
    2992 end
    2993 end
    2994 local function onNodeEvent(tag)
    2995 if tag == "enter" then
    2996 update(0)
    2997 levelImage.update = Scheduler:scheduleScriptFunc(update, 0.9, false)
    2998 
    2999 elseif tag == "exit" then
    3000 Scheduler:unscheduleScriptEntry(levelImage.update)
    3001 end
    3002 end
    3003 levelImage:registerScriptHandler(onNodeEvent)
    3004 r:addChild(levelImage, 10)
    3005 end
    3006 
    3007 
    3008 end
    3009 
    3010 -- r:setVisible(true)
    3011 numPos = numPos + 1
    3012 end
    3013 
    3014 
    3015 --建造队列
    3016 local pre = 0
    3017 local vip_builder = { 1, 3, 5, 7, 9, 11 }
    3018 for key, var in ipairs(vip_builder) do
    3019 if pd.basicData.vipLv < var then
    3020 --PromptView:type1(title,content,btnText,btnFun,floor)
    3021 --提示
    3022 local DataTick = "BuildingCount_RedPoint"
    3023 local r = self.MiddleUI:getChildByName("Button_R" .. numPos)
    3024 if r ~= nil then
    3025 r:loadTextures(RightBtnPic[5], RightBtnPic[5], "", ResType)
    3026 
    3027 r:addTouchEventListener(function(e, t)
    3028 if t == ccui.TouchEventType.ended then
    3029 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    3030 if gWorldScene.ActivityRedPoint == nil then
    3031 gWorldScene.ActivityRedPoint = {}
    3032 end
    3033 gWorldScene.ActivityRedPoint[DataTick] = true
    3034 self:freshRightBtn()
    3035 
    3036 if pre == pd.basicData.buyBuild then
    3037 if key == #vip_builder then
    3038 --vip9和vip10时特殊处理,显示无法购买
    3039 PromptView:type1(StringRes.notice, StringRes.vip_builder_max, StringRes.ok)
    3040 else
    3041 PromptView:type1(StringRes.notice,
    3042 string.format(StringRes.vip_builder, var)
    3043 , StringRes.ok)
    3044 end
    3045 else
    3046 PromptView:type2(StringRes.notice, string.format(StringRes.buy_build, 100),
    3047 StringRes.ok, StringRes.cancel, function()
    3048 local pd = PlayerData:getInstanse()
    3049 
    3050 Connect:sendMsg("PlayerAction", "buyBuildCount", nil,
    3051 function(data)
    3052 --Yangjie 修改 2016-11-4
    3053 PlayerData:UseGold("购买建造队列-" .. data.buyBuild, 1, pd.basicData.gold - data.gold)
    3054 --pd.basicData.gold = data.gold
    3055 --end
    3056 pd.basicData.buyBuild = data.buyBuild
    3057 self:BaseQuest()
    3058 FlyWordPrompt:prompt(StringRes.prompt_buycreatNum)
    3059 end, false)
    3060 
    3061 
    3062 end, nil)
    3063 end
    3064 
    3065  
    3066 
    3067 
    3068 --测试
    3069 -- pd.basicData.vipLv = pd.basicData.vipLv +1
    3070 --
    3071 -- self:freshRightBtn()
    3072 end
    3073 end)
    3074 
    3075 
    3076 end
    3077 --r:setVisible(true) 
    3078 numPos = numPos + 1
    3079 
    3080 local FreeAnimate = r:getChildByName("FreeAnimate")
    3081 if FreeAnimate and FreeAnimate:isVisible() then
    3082 FreeAnimate:setVisible(false)
    3083 end
    3084 
    3085 
    3086 if gWorldScene.ActivityRedPoint and gWorldScene.ActivityRedPoint[DataTick] then
    3087 Count_buyBuild = 0
    3088 else
    3089 Count_buyBuild = 1 + key - pd.basicData.buildCount
    3090 end
    3091 --空闲红点
    3092 local redPoint = r:getChildByName("icon_redPoint")
    3093 if Count_buyBuild > 0 then
    3094 redPoint:getChildByName("Text_num"):setString(tonumber(Count_buyBuild))
    3095 redPoint:setVisible(true)
    3096 else
    3097 redPoint:setVisible(false)
    3098 end
    3099 break
    3100 else
    3101 pre = var
    3102 end
    3103 end
    3104 
    3105 -- --队伍出任务
    3106 -- if pd.ShortcutVO.ts ~= nil then
    3107 -- local r = self.MiddleUI:getChildByName("Button_R"..numPos)
    3108 -- if r ~= nil then
    3109 -- --设置回调
    3110 -- --部队
    3111 -- r:addTouchEventListener(function(e, t)
    3112 -- if t == ccui.TouchEventType.ended then MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    3113 -- local TroopsView = require("src/app/views/troops/TroopsView")
    3114 -- TroopsView:open(self,1,nil,2)
    3115 -- end
    3116 -- end)
    3117 --
    3118 -- --显示等级
    3119 -- local levelImage = r:getChildByName("Image_10")
    3120 -- if levelImage == nil then
    3121 -- levelImage = gLittleUi:getChildByName("Image_10"):clone()
    3122 --
    3123 -- local size = r:getContentSize()
    3124 -- levelImage:setPosition( cc.p(size.width*0.5,11) )
    3125 --
    3126 --
    3127 --
    3128 -- --更新时间
    3129 -- local function update(delta)
    3130 -- if pd.ShortcutVO.ts ~= nil then
    3131 -- if pd.ShortcutVO.ts.remainTime < 0 and pd.ShortcutVO.ts.remainTime < delta then
    3132 -- --刷新
    3133 -- NodeTranslator:deltaDo(0.8,
    3134 -- function ()
    3135 -- self:freshQuick()
    3136 -- self:getGametips()
    3137 -- end
    3138 -- )
    3139 -- end
    3140 -- pd.ShortcutVO.ts.remainTime = pd.ShortcutVO.ts.remainTime - delta
    3141 --
    3142 --
    3143 --
    3144 -- local numPic = levelImage:getChildByName("Text_num")
    3145 -- levelImage:setVisible(true)
    3146 -- if pd.ShortcutVO.ts.type == 1 then
    3147 -- r:loadTextures(RightBtnPic[6],RightBtnPic[6],"",ResType)
    3148 -- r:setContentSize(cc.size(100,100))
    3149 -- numPic:setString(StringTemp:toTime(pd.ShortcutVO.ts.remainTime))
    3150 --
    3151 -- local size = numPic:getContentSize()
    3152 -- local size1 = levelImage:getContentSize()
    3153 -- levelImage:setContentSize(cc.size(size.width+20,size1.height))
    3154 -- elseif pd.ShortcutVO.ts.type == 2 then
    3155 -- r:loadTextures(RightBtnPic[7],RightBtnPic[7],"",ResType)
    3156 -- r:setContentSize(cc.size(100,100))
    3157 -- local t1 = (1-pd.ShortcutVO.ts.remainTime/pd.ShortcutVO.ts.totalTime)*100
    3158 -- if t1 >= 100 then
    3159 -- t1 = 100
    3160 -- end
    3161 -- numPic:setString( string.format("%.1f%%",t1) )
    3162 --
    3163 -- local size = numPic:getContentSize()
    3164 -- local size1 = levelImage:getContentSize()
    3165 -- levelImage:setContentSize(cc.size(size.width+20,size1.height))
    3166 -- elseif pd.ShortcutVO.ts.type == 3 then
    3167 -- r:loadTextures(RightBtnPic[8],RightBtnPic[8],"",ResType)
    3168 -- r:setContentSize(cc.size(100,100))
    3169 -- numPic:setString(StringTemp:toTime(pd.ShortcutVO.ts.remainTime))
    3170 --
    3171 -- local size = numPic:getContentSize()
    3172 -- local size1 = levelImage:getContentSize()
    3173 -- levelImage:setContentSize(cc.size(size.width+20,size1.height))
    3174 -- elseif pd.ShortcutVO.ts.type == 4 then
    3175 -- r:loadTextures(RightBtnPic[9],RightBtnPic[9],"",ResType)
    3176 -- r:setContentSize(cc.size(100,100))
    3177 -- levelImage:setVisible(false)
    3178 -- end
    3179 --
    3180 -- end
    3181 -- end
    3182 -- local function onNodeEvent(tag)
    3183 -- if tag == "enter" then
    3184 --
    3185 -- if pd.ShortcutVO.ts.type == 2 then
    3186 -- pd.ShortcutVO.ts.totalTime = pd.ShortcutVO.ts.maxRes/pd.ShortcutVO.ts.resGather
    3187 -- pd.ShortcutVO.ts.remainTime = (pd.ShortcutVO.ts.maxRes-pd.ShortcutVO.ts.nowRes)/pd.ShortcutVO.ts.resGather
    3188 -- end
    3189 --
    3190 --
    3191 -- update(0)
    3192 -- levelImage.update = Scheduler:scheduleScriptFunc(update, 0.9, false)
    3193 --
    3194 -- elseif tag == "exit" then
    3195 -- Scheduler:unscheduleScriptEntry(levelImage.update)
    3196 -- end
    3197 -- end
    3198 -- levelImage:registerScriptHandler(onNodeEvent)
    3199 --
    3200 -- r:addChild(levelImage,10)
    3201 -- end
    3202 --
    3203 --
    3204 --
    3205 --
    3206 --
    3207 -- end
    3208 --
    3209 -- r:setVisible(true)
    3210 -- numPos = numPos+1
    3211 -- end
    3212 
    3213  
    3214 
    3215 self:freshBattleQuick()
    3216 
    3217 end
    3218 
    3219 
    3220 function WorldScene:freshRBtn()
    3221 local r1 = self.MiddleUI:getChildByName("Button_R1")
    3222 local offset = 0
    3223 if not NoviceGuide:CheckOpen("mainUI") then
    3224 offset = -1000
    3225 end
    3226 r1:setVisible(offset == 0)
    3227 if self.RightBtnOpen then
    3228 r1:loadTextures(openBtn[1].normal, openBtn[1].down, "", ResType)
    3229 
    3230 --右侧按钮
    3231 for i, v in pairs(RightBtn) do
    3232 local rBtn = self.MiddleUI:getChildByName(v)
    3233 if rBtn ~= nil then
    3234 local action1 = cc.MoveTo:create(0.05 + 0.05 * i, cc.p(rBtn.openPostionX+offset, rBtn.openPostionY))
    3235 rBtn:stopAllActions()
    3236 rBtn:runAction(action1)
    3237 rBtn:setVisible(true)
    3238 end
    3239 end
    3240 
    3241 else
    3242 r1:loadTextures(openBtn[2].normal, openBtn[2].down, "", ResType)
    3243 
    3244 local rPositionx = r1:getPositionX()
    3245 local rPositiony = r1:getPositionY()
    3246 
    3247 --右侧按钮
    3248 for i, v in pairs(RightBtn) do
    3249 local rBtn = self.MiddleUI:getChildByName(v)
    3250 if rBtn ~= nil then
    3251 if rBtn.openPostionY == nil then
    3252 rBtn.openPostionX = rBtn:getPositionX()
    3253 rBtn.openPostionY = rBtn:getPositionY()
    3254 end
    3255 rBtn:setVisible(false)
    3256 local action1 = cc.MoveTo:create(0.05 + 0.05 * i, cc.p(rPositionx+offset, rPositiony))
    3257 rBtn:stopAllActions()
    3258 rBtn:runAction(action1)
    3259 end
    3260 end
    3261 end
    3262 end
    3263 
    3264 function WorldScene:R1Hide()
    3265 self.RightBtnOpen = false
    3266 self:freshRBtn()
    3267 end
    3268 
    3269 function WorldScene:rigesterR1()
    3270 --右侧按钮展开
    3271 local r1 = self.MiddleUI:getChildByName("Button_R1")
    3272 
    3273 r1:addTouchEventListener(function(e, t)
    3274 if t == ccui.TouchEventType.ended then
    3275 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    3276 
    3277 self.RightBtnOpen = not self.RightBtnOpen
    3278 
    3279 self:freshRBtn()
    3280 end
    3281 end )
    3282 end
    3283 
    3284 -- 更新郊外矿产信息
    3285 function WorldScene:refreshOutSide(...)
    3286 -- 统计铁矿数量
    3287 local pd = PlayerData:getInstanse()
    3288 if pd ~= nil then
    3289 --local table = pd:getBuildNumById(14, 15, 16)
    3290 self.BtnOutSide.BtnOutSide_iron.txt:setString(pd:getBuildNumById(14))
    3291 self.BtnOutSide.BtnOutSide_oil.txt:setString(pd:getBuildNumById(15))
    3292 self.BtnOutSide.BtnOutSide_Al.txt:setString(pd:getBuildNumById(16))
    3293 end
    3294 end
    3295 
    3296 -- 郊外矿产
    3297 function WorldScene:rigesterBtnOutSide()
    3298 -- 右侧按钮展开
    3299 self.BtnOutSide.BtnOutSide_Switch:addTouchEventListener( function(e, t)
    3300 if t == ccui.TouchEventType.ended then
    3301 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    3302 self:freshBtnOutSide(e.state)
    3303 end
    3304 end)
    3305 end
    3306 
    3307 -- 郊外矿产动画
    3308 function WorldScene:freshBtnOutSide(state)
    3309 
    3310 local width = self.BtnOutSide:getContentSize().width
    3311 if state then
    3312 local action1 = cc.MoveTo:create(0.3, self.BtnOutSide.startPos)
    3313 local action = cc.Sequence:create(action1, cc.CallFunc:create( function()
    3314 self.BtnOutSide.BtnOutSide_Switch:loadTextures(openBtn[3].normal, openBtn[3].down, "", ResType)
    3315 end ))
    3316 self.BtnOutSide:stopAllActions()
    3317 self.BtnOutSide:runAction(action)
    3318 else
    3319 local action1 = cc.MoveTo:create(0.3, self.BtnOutSide.endPos)
    3320 local action = cc.Sequence:create(action1, cc.CallFunc:create( function()
    3321 self.BtnOutSide.BtnOutSide_Switch:loadTextures(openBtn[4].normal, openBtn[4].down, "", ResType)
    3322 end ))
    3323 self.BtnOutSide:stopAllActions()
    3324 self.BtnOutSide:runAction(action)
    3325 end
    3326 self.BtnOutSide.BtnOutSide_Switch.state = not state
    3327 
    3328 end
    3329 
    3330 
    3331 --我也不晓得是啥子函数Tank[var.tankTemplateId].icon
    3332 function WorldScene:dontKnow(node1, path, t, sca)
    3333 if t then
    3334 --local scale = 1
    3335 local numnode = node1:getChildByName("Image_8")
    3336 if numnode == nil then
    3337 numnode = gLittleUi:getChildByName("Image_8"):clone()
    3338 scale = numnode:getChildByName("Image_icon"):getScale()
    3339 
    3340 node1:addChild(numnode)
    3341 local size = node1:getContentSize()
    3342 numnode:setPosition( cc.p(size.width * 0.5, size.height * 0.5 + 20) )
    3343 
    3344 end
    3345 Common:changePic(numnode:getChildByName("Image_icon"), path)
    3346 --numnode:getChildByName("Image_icon"):loadTexture(path,ResType)
    3347 if sca ~= nil then
    3348 --numnode:getChildByName("Image_icon"):setScale(sca)
    3349 end
    3350 
    3351 else
    3352 local numnode = node1:getChildByName("Image_8")
    3353 if numnode ~= nil then
    3354 node1:removeChild(numnode)
    3355 end
    3356 end
    3357 end
    3358 
    3359 
    3360 function WorldScene:freshGametips()
    3361 local pd = PlayerData:getInstanse()
    3362 if pd.getGametipsVO ~= nil then
    3363 --抽奖
    3364 local rewardButton = self.MiddleUI:getChildByName("Button_L2")
    3365 --rewardButton:setVisible(false)
    3366 if pd.getGametipsVO.normalDraw + pd.getGametipsVO.seniorDraw > 0 or pd.getGametipsVO.luckgold > 0 then
    3367 Animation:playAnimation2(rewardButton, gUIeffect[34].effect, 1)
    3368 else
    3369 Animation:stopAnimation(rewardButton, gUIeffect[34].effect)
    3370 end
    3371 
    3372 --签到/7天
    3373 local signButton = self.MiddleUI:getChildByName("Button_L3")
    3374 if pd.getGametipsVO.have7dayGift + pd.getGametipsVO.haveSignGift > 0 then
    3375 Animation:playAnimation2(signButton, gUIeffect[34].effect, 1)
    3376 else
    3377 Animation:stopAnimation(signButton, gUIeffect[34].effect)
    3378 end
    3379 
    3380 --任务数量
    3381 --刷新主界面提示信息
    3382 local taskIcon = {
    3383 task = "res/pic/mainmap/ui_botton/btn_task.png",
    3384 task1 = "res/pic/mainmap/ui_botton/btn_taskPress.png",
    3385 taskdone = "res/pic/mainmap/ui_botton/btn_taskdone.png",
    3386 taskdone1 = "res/pic/mainmap/ui_botton/btn_taskdonePress.png",
    3387 }
    3388 local list = self.BottomUI:getChildByName("ListView_1")
    3389 local taskButton = self.BottomUI:getChildByName("Button_task")
    3390 if pd.getGametipsVO.taskTips > 0 then
    3391 taskButton:loadTextures(taskIcon.taskdone, taskIcon.taskdone1, "", ResType)
    3392 
    3393 local anim = Animation:playAnimation2(taskButton, gUIeffect[34].effect, 1)
    3394 if anim ~= nil then
    3395 local x, y = anim:getPosition()
    3396 anim:setPosition(cc.p(x,y+5))
    3397 end
    3398 
    3399 else
    3400 
    3401 taskButton:loadTextures(taskIcon.task,taskIcon.task1,"",ResType)
    3402 Animation:stopAnimation(taskButton,gUIeffect[34].effect)
    3403 end
    3404 
    3405 --活动
    3406 local activityButton = self.MiddleUI:getChildByName("Button_L5")
    3407 
    3408 
    3409 --每日福利红点 
    3410 
    3411 local MainActivity = require("src/app/views/activity/MainActivity.lua")
    3412 MainActivity:getActivityTips(function(count)
    3413 local num1 = 0
    3414 if pd.noticeVOs ~= nil then
    3415 for key, var in pairs(pd.noticeVOs) do
    3416 if Common:getJsonData("Announcement",var.id) == 0 then
    3417 num1 = num1 + 1
    3418 end
    3419 end
    3420 end
    3421 
    3422 local activityNum = count + MainActivity:getEveryDayRedPoint() + num1
    3423 if activityNum > 0 then
    3424 Animation:showNum(activityButton,gLittleUi:getChildByName("Image_7"):clone(),activityNum)
    3425 Animation:playAnimation2(activityButton, gUIeffect[34].effect, 1)
    3426 else
    3427 Animation:hideNum(activityButton, gLittleUi:getChildByName("Image_7"))
    3428 Animation:stopAnimation(activityButton, gUIeffect[34].effect)
    3429 end
    3430 end)
    3431 
    3432 --for key, var in pairs(pd.noticeVOs) do
    3433 --for key, var in pairs(pd.openActivityTypes) do
    3434 
    3435 
    3436 --部队提示
    3437 --列表
    3438 local list = self.BottomUI:getChildByName("ListView_1")
    3439 local budui = self.BottomUI:getChildByName("Button_4")
    3440 if pd.getGametipsVO.troopTips > 0 then
    3441 Animation:showNum(budui, gLittleUi:getChildByName("Image_7"):clone(), pd.getGametipsVO.troopTips)
    3442 else
    3443 Animation:hideNum(budui, gLittleUi:getChildByName("Image_7"))
    3444 end
    3445 
    3446 --邮件提示
    3447 local budui = self.BottomUI:getChildByName("Button_6")
    3448 if pd.getGametipsVO.mailTips > 0 then
    3449 Animation:showNum(budui, gLittleUi:getChildByName("Image_7"):clone(), pd.getGametipsVO.mailTips)
    3450 else
    3451 Animation:hideNum(budui, gLittleUi:getChildByName("Image_7"))
    3452 end
    3453 
    3454 --坦克工厂
    3455 --建筑提示
    3456 for key, var in pairs(pd.getGametipsVO.tankFactoryTipss) do
    3457 
    3458 local btnKey = self.BaseBgButton:getChildByName(BuildId2Button[var.buildId])
    3459 local btnBuildFree = btnKey:getChildByName("Button_Free")
    3460 
    3461 if var.tankTemplateId > 0 and (btnBuildFree == nil or not btnBuildFree:isVisible()) then
    3462 WorldScene:dontKnow(btnKey, Tank[var.tankTemplateId].icon, true, 0.4)
    3463 
    3464 --动画
    3465 --fdasfda
    3466 if btnKey:getChildByName("c_art") == nil then
    3467 local an = Animation:createAnimation(gBuilding[var.buildId].c_art)
    3468 if an ~= nil then
    3469 btnKey:addChild(an, 1)
    3470 an:setName("c_art")
    3471 
    3472 if btnKey:getChildByName("Image_Base") ~= nil then
    3473 btnKey:getChildByName("Image_Base"):setVisible(false)
    3474 end
    3475 end
    3476 end
    3477 else
    3478 WorldScene:dontKnow(btnKey, "", false)
    3479 if btnKey:getChildByName("c_art") ~= nil then
    3480 btnKey:removeChild(btnKey:getChildByName("c_art"))
    3481 if btnKey:getChildByName("Image_Base") ~= nil then
    3482 btnKey:getChildByName("Image_Base"):setVisible(true)
    3483 end
    3484 end
    3485 end
    3486 
    3487 
    3488 end
    3489 
    3490 --红警演习,补给线,领地战
    3491 local btnKey = self.BaseBgButton:getChildByName(BuildId2Button[13])
    3492 if btnKey.buildVo and btnKey.buildVo.buildLv > 0 and (pd.getGametipsVO.arenaTips > 0 or (pd.getGametipsVO.supplyTips > 0 and SaveDataManager:GetTimePass("SupplyLine") > 3600) or pd.getGametipsVO.guildWarTips > 0) then
    3493 --WorldScene:dontKnow(btnKey,"pic/accessory/btn/btn_supply_line.png",true) 
    3494 PublicMethod:showBanshouAnimation(btnKey, true)
    3495 else
    3496 --WorldScene:dontKnow(btnKey,"",false) 
    3497 PublicMethod:showBanshouAnimation(btnKey, false)
    3498 end
    3499 
    3500 
    3501 --配件工厂
    3502 local btnKey = self.BaseBgButton:getChildByName(BuildId2Button[12])
    3503 if pd.getGametipsVO.partTips > 0 then
    3504 PublicMethod:showBanshouAnimation(btnKey, true)
    3505 else
    3506 PublicMethod:showBanshouAnimation(btnKey, false)
    3507 end
    3508 
    3509 --[[
    3510 if pd.getGametipsVO.partTips > 0 then
    3511 --WorldScene:dontKnow(btnKey,Tank[pd.getGametipsVO.reformFactoryTips].icon,true,0.4)
    3512 
    3513 
    3514 --动画
    3515 --fdasfda
    3516 if btnKey:getChildByName("c_art") == nil then
    3517 local an = Animation:createAnimation(gBuilding[8].c_art)
    3518 if an ~= nil then
    3519 btnKey:addChild(an,1)
    3520 an:setName("c_art")
    3521 
    3522 if btnKey:getChildByName("Image_Base") ~= nil then
    3523 btnKey:getChildByName("Image_Base"):setVisible(false)
    3524 end
    3525 end
    3526 end
    3527 
    3528 else
    3529 --WorldScene:dontKnow(btnKey,"",false)
    3530 if btnKey:getChildByName("c_art") ~= nil then
    3531 btnKey:removeChild(btnKey:getChildByName("c_art"))
    3532 if btnKey:getChildByName("Image_Base") ~= nil then
    3533 btnKey:getChildByName("Image_Base"):setVisible(true)
    3534 end
    3535 end
    3536 end
    3537 --]]
    3538 
    3539 
    3540 --改装车间
    3541 local btnKey = self.BaseBgButton:getChildByName(BuildId2Button[11])
    3542 local btnBuildFree = btnKey:getChildByName("Button_Free")
    3543 
    3544 if pd.getGametipsVO.reformFactoryTips > 0 and (btnBuildFree == nil or not btnBuildFree:isVisible()) then
    3545 WorldScene:dontKnow(btnKey, Tank[pd.getGametipsVO.reformFactoryTips].icon, true, 0.4)
    3546 
    3547 
    3548 --动画
    3549 --fdasfda
    3550 if btnKey:getChildByName("c_art") == nil then
    3551 local an = Animation:createAnimation(gBuilding[11].c_art)
    3552 if an ~= nil then
    3553 btnKey:addChild(an, 1)
    3554 an:setName("c_art")
    3555 if btnKey:getChildByName("Image_Base") ~= nil then
    3556 btnKey:getChildByName("Image_Base"):setVisible(false)
    3557 end
    3558 end
    3559 end
    3560 
    3561 else
    3562 WorldScene:dontKnow(btnKey, "", false)
    3563 if btnKey:getChildByName("c_art") ~= nil then
    3564 btnKey:removeChild(btnKey:getChildByName("c_art"))
    3565 if btnKey:getChildByName("Image_Base") ~= nil then
    3566 btnKey:getChildByName("Image_Base"):setVisible(true)
    3567 end
    3568 end
    3569 end
    3570 
    3571 --装置车间
    3572 local btnKey = self.BaseBgButton:getChildByName(BuildId2Button[8])
    3573 if pd.getGametipsVO.deviceFactoryTips > 0 then
    3574 WorldScene:dontKnow(btnKey, gItem[pd.getGametipsVO.deviceFactoryTips].icon, true)
    3575 
    3576 --动画
    3577 --fdasfda
    3578 if btnKey:getChildByName("c_art") == nil then
    3579 local an = Animation:createAnimation(gBuilding[8].c_art)
    3580 if an ~= nil then
    3581 btnKey:addChild(an, 1)
    3582 an:setName("c_art")
    3583 if btnKey:getChildByName("Image_Base") ~= nil then
    3584 btnKey:getChildByName("Image_Base"):setVisible(false)
    3585 end
    3586 end
    3587 end
    3588 
    3589 else
    3590 WorldScene:dontKnow(btnKey, "", false)
    3591 if btnKey:getChildByName("c_art") ~= nil then
    3592 btnKey:removeChild(btnKey:getChildByName("c_art"))
    3593 if btnKey:getChildByName("Image_Base") ~= nil then
    3594 btnKey:getChildByName("Image_Base"):setVisible(true)
    3595 end
    3596 end
    3597 end
    3598 
    3599 --科技中心
    3600 local btnKey = self.BaseBgButton:getChildByName(BuildId2Button[5])
    3601 local btnBuildFree = btnKey:getChildByName("Button_Free")
    3602 
    3603 if pd.getGametipsVO.techCenterTips > 0 and (btnBuildFree == nil or not btnBuildFree:isVisible()) then
    3604 
    3605 
    3606 --动画
    3607 --fdasfda
    3608 if btnKey:getChildByName("c_art") == nil then
    3609 local an = Animation:createAnimation(gBuilding[5].c_art)
    3610 if an ~= nil then
    3611 btnKey:addChild(an)
    3612 an:setName("c_art")
    3613 if btnKey:getChildByName("Image_Base") ~= nil then
    3614 btnKey:getChildByName("Image_Base"):setVisible(false)
    3615 end
    3616 end
    3617 end
    3618 WorldScene:dontKnow(btnKey, ScienceStudyCfg[pd.getGametipsVO.techCenterTips].icon, true)
    3619 else
    3620 WorldScene:dontKnow(btnKey, "", false)
    3621 if btnKey:getChildByName("c_art") ~= nil then
    3622 btnKey:removeChild(btnKey:getChildByName("c_art"))
    3623 if btnKey:getChildByName("Image_Base") ~= nil then
    3624 btnKey:getChildByName("Image_Base"):setVisible(true)
    3625 end
    3626 end
    3627 end
    3628 
    3629 --军团
    3630 local btnKey = self.BaseBgButton:getChildByName(BuildId2Button[4])
    3631 if pd.basicData.guildId ~= 0 then
    3632 
    3633 -- todo 去掉军团的动画
    3634 --if btnKey:getChildByName("c_art") == nil then
    3635 -- local an = Animation:createAnimation(gBuilding[4].c_art)
    3636 -- if an ~= nil then
    3637 -- btnKey:addChild(an,1)
    3638 -- an:setName("c_art")
    3639 -- if btnKey:getChildByName("Image_Base") ~= nil then
    3640 -- btnKey:getChildByName("Image_Base"):setVisible(false)
    3641 -- end
    3642 -- end
    3643 --end
    3644 else
    3645 if btnKey:getChildByName("c_art") ~= nil then
    3646 btnKey:removeChild(btnKey:getChildByName("c_art"))
    3647 if btnKey:getChildByName("Image_Base") ~= nil then
    3648 btnKey:getChildByName("Image_Base"):setVisible(true)
    3649 end
    3650 end
    3651 end
    3652 
    3653  
    3654 
    3655 --战斗学院
    3656 local btnKey = self.BaseBgButton:getChildByName(BuildId2Button[9])
    3657 if btnKey.buildVo and btnKey.buildVo.buildLv > 0 and pd.getGametipsVO.commanderRecruit > 0 then
    3658 --WorldScene:dontKnow(btnKey,"res/pic/academy/manage/skill/icon_skill_31.png",true) 
    3659 PublicMethod:showBanshouAnimation(btnKey, true)
    3660 else
    3661 --WorldScene:dontKnow(btnKey,"",false) 
    3662 PublicMethod:showBanshouAnimation(btnKey, false)
    3663 end
    3664 
    3665 
    3666 --buff
    3667 local bufflist = self.MiddleUI:getChildByName("ListView_1")
    3668 bufflist:removeAllItems()
    3669 local res = {
    3670 [1] = "pic/mainmap_left/icon/icon_protect.png",
    3671 [2] = "pic/mainmap_left/icon/icon_attack.png",
    3672 [3] = "pic/mainmap_left/icon/icon_resource.png",
    3673 }
    3674 local t = "0,0,0"
    3675 local bufs = StringTemp:Split(pd.getGametipsVO.buffTips, ",")
    3676 for key, var in pairs(bufs) do
    3677 if var == "1" then
    3678 local mode = self.MiddleUI:getChildByName("buff_mode"):clone()
    3679 mode:loadTexture(res[key], ResType)
    3680 
    3681 mode:addTouchEventListener(function(e, t)
    3682 if t == ccui.TouchEventType.ended then
    3683 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    3684 require("src/app/views/buff/BuffInfo"):show(self)
    3685 end
    3686 end)
    3687 
    3688 bufflist:pushBackCustomItem(mode)
    3689 end
    3690 end
    3691 
    3692 --奖励中心
    3693 self.MiddleUI:getChildByName("Buttonjiangli_10"):setVisible(pd.getGametipsVO.haveRewardGift and pd.getGametipsVO.haveRewardGift == 1)
    3694 require("src/app/unit/Airborne"):updateBox(pd.getGametipsVO.airborneId)
    3695 end
    3696 
    3697 end
    3698 
    3699  
    3700 
    3701 --处理刚获取的公告
    3702 function WorldScene:doAnnouncement()
    3703 local pd = PlayerData:getInstanse()
    3704 --local t = {1,2,3}
    3705 --UserDefault:setStringForKey("Announcement",cjson.encode(t))
    3706 local annou = cjson.decode(UserDefault:getStringForKey("Announcement"))
    3707 
    3708 for key, var in pairs(pd.noticeVOs) do
    3709 if annou ~= nil and annou[var.id] == 1 then
    3710 var.state = 1
    3711 else
    3712 var.state = 0
    3713 end
    3714 end
    3715 
    3716 --local tt = 0
    3717 end
    3718 
    3719 
    3720 --WorldScene:doAnnouncement()
    3721 
    3722 --拉取公告
    3723 function WorldScene:getAnnouncement()
    3724 local pd = PlayerData:getInstanse()
    3725 
    3726 Connect:sendMsg("PlayerAction", "getNotice", nil,
    3727 function(data)
    3728 --更新数据
    3729 pd.noticeVOs = data.noticeVOs
    3730 self:freshGametips()
    3731 end, false)
    3732 end
    3733 
    3734 
    3735 --拉取活动
    3736 function WorldScene:getActivity()
    3737 local pd = PlayerData:getInstanse()
    3738 
    3739 Connect:sendMsg("ActivityAction", "openActivityList", nil,
    3740 function(data)
    3741 --更新数据
    3742 pd.openActivityTypes = data.openActivityTypes
    3743 self:freshGametips()
    3744 end, false)
    3745 end
    3746 
    3747  
    3748 
    3749 --拉去提示信息gWorldScene:getGametips()
    3750 function WorldScene:getGametips()
    3751 local pd = PlayerData:getInstanse()
    3752 
    3753 Connect:sendMsg("InterfaceAction", "getGametips", nil,
    3754 function(data)
    3755 --更新数据
    3756 pd.getGametipsVO = data
    3757 self:freshGametips()
    3758 app:dispatchEvent({ name = "FreshOnGetGameTips" })
    3759 end, false)
    3760 end
    3761 
    3762 
    3763 function WorldScene:removeMission()
    3764 local mission = gWorldScene:getChildByName("Mission")
    3765 gWorldScene:removeChild(mission)
    3766 end
    3767 
    3768 --底部按钮初始化
    3769 function WorldScene:initBottomBtn()
    3770 
    3771 local pd = PlayerData:getInstanse()
    3772 
    3773 --背景切换
    3774 local turnBg = self.BottomUI:getChildByName("Button_1")
    3775 turnBg:addTouchEventListener(function(e, t)
    3776 if t == ccui.TouchEventType.ended then
    3777 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    3778 self:TurnToNextBg()
    3779 end
    3780 end)
    3781 --列表
    3782 local list = self.BottomUI:getChildByName("ListView_1")
    3783 
    3784 
    3785 --关卡
    3786 local guanqia = self.BottomUI:getChildByName("Button_2")
    3787 guanqia:addTouchEventListener(function(e, t)
    3788 if t == ccui.TouchEventType.ended then
    3789 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    3790 Animation:stopAnimation(guanqia, gUIeffect[34].effect)
    3791 self:gotoPve()
    3792 end
    3793 end)
    3794 --邮件
    3795 local guanqia = self.BottomUI:getChildByName("Button_6")
    3796 local MailMainView = require("src/app/views/mail/MailMainView")
    3797 -- local v= MailMainView:open(self) --緩存
    3798 --v:close()
    3799 guanqia:addTouchEventListener(function(e, t)
    3800 if t == ccui.TouchEventType.ended then
    3801 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    3802 NoviceGuide:complete("_CustomAction", "ClickMailBtn")
    3803 MailMainView:open(self)
    3804 end
    3805 end)
    3806 --设置
    3807 local guanqia = list:getChildByName("Button_12")
    3808 guanqia:addTouchEventListener(function(e, t)
    3809 if t == ccui.TouchEventType.ended then
    3810 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    3811 local SystemSetView = require("src/app/views/system/SystemSetView")
    3812 SystemSetView:open(self)
    3813 
    3814 end
    3815 end)
    3816 if SDKPlatform:getSDKId() == "109" then
    3817 list:removeLastItem()
    3818 end
    3819 
    3820 --guanqia:setVisible(true)
    3821 --好友
    3822 local guanqia = list:getChildByName("Button_11")
    3823 guanqia:addTouchEventListener(function(e, t)
    3824 if t == ccui.TouchEventType.ended then
    3825 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    3826 local FriendMainView = require("src/app/views/friend/FriendMainView")
    3827 FriendMainView:open(self)
    3828 end
    3829 end)
    3830 
    3831 --部队
    3832 local guanqia = self.BottomUI:getChildByName("Button_4")
    3833 guanqia:addTouchEventListener(function(e, t)
    3834 if t == ccui.TouchEventType.ended then
    3835 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    3836 local TroopsView = require("src/app/views/troops/TroopsView")
    3837 TroopsView:open(self, 1)
    3838 end
    3839 end)
    3840 
    3841 --兑换
    3842 if device.platform == "ios" then
    3843 Connect:sendMsg("PayAction", "isSpecialMonthCard", nil,
    3844 function(newdata)
    3845 local exchange = list:getChildByName("Button_9")
    3846 if newdata.haveExchange == 1 then
    3847 exchange:addTouchEventListener(function(e, t)
    3848 if t == ccui.TouchEventType.ended then
    3849 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    3850 local ExchangeView = require("src/app/views/activity/ExchangeView")
    3851 ExchangeView:open(self)
    3852 end
    3853 end)
    3854 else
    3855 exchange:getChildByName("Text_9"):setString(StringRes.Ios_Exchange_Text)
    3856 end
    3857 end)
    3858 else
    3859 local exchange = list:getChildByName("Button_9")
    3860 exchange:addTouchEventListener(function(e, t)
    3861 if t == ccui.TouchEventType.ended then
    3862 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    3863 local ExchangeView = require("src/app/views/activity/ExchangeView")
    3864 ExchangeView:open(self)
    3865 end
    3866 end)
    3867 end
    3868 
    3869 
    3870 if gExchange_btn == 0 then
    3871 list:removeItem(list:getIndex(exchange))
    3872 --exchange:removeFromParent()
    3873 end
    3874 
    3875 --背包
    3876 local beibao = self.BottomUI:getChildByName("Button_7")
    3877 beibao:addTouchEventListener(function(e, t)
    3878 if t == ccui.TouchEventType.ended then
    3879 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    3880 --NodeTranslator:changeColor(beibao,function()
    3881 local bb = BagAndStore.new(self, 1)
    3882 self:addChild(bb)
    3883 --end)
    3884 
    3885 
    3886 end
    3887 end)
    3888 --商店
    3889 local store = list:getChildByName("Button_5")
    3890 store:addTouchEventListener(function(e, t)
    3891 if t == ccui.TouchEventType.ended then
    3892 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    3893 local bb = BagAndStore.new(self, 2)
    3894 self:addChild(bb)
    3895 end
    3896 end)
    3897 
    3898 
    3899 --帮助
    3900 local ranks = list:getChildByName("Button_10")
    3901 ranks:addTouchEventListener(function(e, t)
    3902 if t == ccui.TouchEventType.ended then
    3903 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    3904 require("src/app/views/help/Help"):show(self)
    3905 end
    3906 end)
    3907 
    3908 end
    3909 
    3910  
    3911 
    3912  
    3913 
    3914  
    3915 
    3916  
    3917 
    3918 
    3919 local bgBtnPic = {
    3920 [1] = { normal = "res/pic/mainmap/ui_botton/btn_resource.png", down = "res/pic/mainmap/ui_botton/btn_resourcePress.png", words = "btnword_skirts" },
    3921 [2] = { normal = "res/pic/mainmap/ui_botton/btn_world.png", down = "res/pic/mainmap/ui_botton/btn_worldPress.png", words = "btnword_world" },
    3922 [3] = { normal = "res/pic/mainmap/ui_botton/btn_main.png", down = "res/pic/mainmap/ui_botton/btn_mainPress.png", words = "btnword_base" },
    3923 }
    3924 --切换按钮
    3925 function WorldScene:ChangeTurnBtn()
    3926 local turnBg = self.BottomUI:getChildByName("Button_1")
    3927 --turnBg:getChildByName("Text_left"):setString(StringRes.btnword_goto) 
    3928 if PlayerData:getInstanse().basicData.lv < 3 and self.BgPage == 2 then
    3929 --turnBg:loadTextures(bgBtnPic[3].normal, bgBtnPic[3].down, "", ResType)
    3930 
    3931 -- turnBg:getChildByName("Text_1"):setString(StringRes[bgBtnPic[3].words])
    3932 else
    3933 --turnBg:loadTextures(bgBtnPic[self.BgPage].normal, bgBtnPic[self.BgPage].down, "", ResType) 
    3934 if self.BgPage == 1 then
    3935 Animation:stopAnimation(turnBg,gUIeffect[38].effect) 
    3936 Animation:playAnimation4(turnBg, gUIeffect[37].effect,1,0.5,0.5)
    3937 else
    3938 Animation:stopAnimation(turnBg,gUIeffect[37].effect) 
    3939 Animation:playAnimation4(turnBg, gUIeffect[38].effect,1,0.5,0.5) 
    3940 end
    3941 -- turnBg:getChildByName("Text_1"):setString(StringRes[bgBtnPic[self.BgPage].words])
    3942 end
    3943 end
    3944 
    3945 --背景切换
    3946 function WorldScene:TurnToNextBg()
    3947 self.BgPage = self.BgPage + 1
    3948 -- 基地和郊外合并后的处理发上来
    3949 if self.BgPage == 2 then
    3950 self.BgPage = 3
    3951 end
    3952 if self.BgPage > 3 then
    3953 self.BgPage = 1
    3954 end
    3955 
    3956 
    3957 local pd = PlayerData:getInstanse()
    3958 --等级小于3不开放世界
    3959 if pd.basicData == nil then
    3960 
    3961 self:TurnBgQuest()
    3962 return
    3963 end
    3964 
    3965 --测试
    3966 --pd.basicData.lv = 10
    3967 
    3968 if pd.basicData.lv < 3 then
    3969 if self.BgPage > 2 then
    3970 FlyWordPrompt:prompt(StringRes.world_unlock_info)
    3971 self.BgPage = 1
    3972 end
    3973 end
    3974 self:TurnBgQuest()
    3975 
    3976 end
    3977 
    3978 --跳转世界界面并移动到指定坐标() yangjie 2017-4-26
    3979 function WorldScene:TurnToPosition(PosX, PosY)
    3980 
    3981 local pd = PlayerData:getInstanse()
    3982 --等级小于3不开放世界
    3983 
    3984 if not pd.basicData or pd.basicData.lv < 3 then
    3985 FlyWordPrompt:prompt(StringRes.world_unlock_info)
    3986 return false
    3987 end
    3988 
    3989 gField.isFirstPos = false
    3990 gField:setCurCenterCell(PosX + 1, PosY + 1)
    3991 gField:showCoordinateEx(PosX, PosY)
    3992 self:toField()
    3993 return true
    3994 end
    3995 
    3996 --切换到基地
    3997 function WorldScene:toBase()
    3998 self.BgPage = 1
    3999 self:TurnBgQuest()
    4000 end
    4001 
    4002 --切换到世界地图
    4003 function WorldScene:toField()
    4004 self.BgPage = 2
    4005 self:TurnToNextBg()
    4006 end
    4007 
    4008 --处理雕像
    4009 function WorldScene:doDiaoxiang()
    4010 local pd = PlayerData:getInstanse()
    4011 local name = pd.arenaNO1Name
    4012 local name_PVP = pd.globalPVPNO1Name;
    4013 if name == nil then
    4014 name = ""
    4015 end
    4016 
    4017 if name == "" then
    4018 name = StringRes.text_world00032
    4019 end
    4020 
    4021 if name_PVP == nil then
    4022 name_PVP = "";
    4023 end
    4024 if name_PVP == "" then
    4025 name_PVP = StringRes.text_world00032;
    4026 end
    4027 
    4028 local diaoxiang = gWorldScene.BaseBg:getChildByName("ScrollView_1"):getChildByName("homeMap_mi"):getChildByName("Button_arena_top")
    4029 diaoxiang:getChildByName("text_name"):setString(name)
    4030 
    4031 local t1 = diaoxiang:getChildByName("text_name"):getContentSize()
    4032 local t2 = diaoxiang:getChildByName("panel_name_bg"):getContentSize()
    4033 diaoxiang:getChildByName("panel_name_bg"):setScaleX((t1.width + 50) / t2.width)
    4034 
    4035 
    4036 --膜拜
    4037 gWorldScene.btn_Worship = gWorldScene.BaseBg:getChildByName("ScrollView_1"):getChildByName("homeMap_mi"):getChildByName("Button_Champion")
    4038 gWorldScene.btn_Worship:addTouchEventListener(function(e, t)
    4039 if t == ccui.TouchEventType.ended then
    4040 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    4041 require("src/app/views/Competition/CompetitionMain.lua"):open(self)
    4042 end
    4043 end)
    4044 gWorldScene.text_Name_PVP = gWorldScene.BaseBg:getChildByName("ScrollView_1"):getChildByName("homeMap_mi"):getChildByName("Button_Champion"):getChildByName("text_name_Champion");
    4045 gWorldScene.text_Name_PVP:setString(name_PVP);
    4046 end
    4047 
    4048 
    4049 function WorldScene:BaseQuest(b)
    4050 local pd = PlayerData:getInstanse()
    4051 Connect:sendMsg("InterfaceAction", "loadInterface", nil,
    4052 function(data)
    4053 --更新数据
    4054 --基本数据
    4055 --Yangjie 更换统一接口 2016-11-2
    4056 pd:setBasicData(data.playerInfoVO)
    4057 pd:setmaxCharId(data.maxCharId)
    4058 --pd.basicData = data.playerInfoVO
    4059 --Yangjie end
    4060 --基础建筑
    4061 pd.baseBuild = data.middleInterfaceVOs
    4062 
    4063 --坦克
    4064 pd.tanks = data.troops
    4065 
    4066 --坦克附加属性
    4067 pd.warUnitAddAttrs = data.warUnitAddAttrs
    4068 
    4069 --郊外建筑
    4070 pd.outSideBuild = data.outskirtsInterfaceVO.outskirtsBlockVOs
    4071 
    4072 --敌军来袭
    4073 pd.EnemyIncoming = data.atkWorldInfoVOs
    4074 self:freshEnemyIncoming()
    4075 
    4076 pd.FriendTroop = {}
    4077 for key, var in pairs(data.garrisonTroopVOs) do
    4078 pd.FriendTroop[var.playerId .. var.armyId] = var
    4079 end
    4080 self:freshTroop()
    4081 
    4082 --更新数据
    4083 pd.ShortcutVO = data.shortcutInfo
    4084 self:freshRightBtn()
    4085 
    4086 --更新页面
    4087 self:FreshTopPage()
    4088 self:FreshBGPage()
    4089 
    4090 self:ChangeTurnBtn()
    4091 
    4092 --
    4093 --更新数据
    4094 pd.notifyItesmCountVO = data.notifyItesmCountVO
    4095 pd.notifyItesmCountVO.changed = true
    4096 self:freshNewTaskNum()
    4097 
    4098  
    4099 
    4100 --连接聊天服务器
    4101 ChatServer:conect(function()
    4102 --ChatServer:sendchat(1,"fds fseeds fessss sss fdsa","")
    4103 end)
    4104 
    4105 --日志
    4106 statistics:sendLogin()
    4107 
    4108 --检测礼包
    4109 pd.newGiftVOs = data.newGiftVOs
    4110 pd.combatGiftVOs = data.combatGiftVOs
    4111 pd.timeGiftVO = data.timeGiftVO
    4112 pd.timeGiftVO.canAttach = false
    4113 pd.combatGiftTotalTime = data.combatGiftTotalTime
    4114 pd.combatGiftRemainingTime = data.combatGiftRemainingTime
    4115 
    4116 self:refreshSignIcon(data.signOr7day)
    4117 
    4118 require("app/util/MainMapPopoutUtils"):checkPopout(self)
    4119 
    4120  
    4121 
    4122 self:showName(false)
    4123 pd.arenaNO1Name = data.arenaNO1Name
    4124 pd.globalPVPNO1Name = data.globalPVPNO1Name;
    4125 self:doDiaoxiang()
    4126 NoviceGuide:start(gWorldScene)
    4127 end, b)
    4128 end
    4129 
    4130 function WorldScene:refreshSignIcon(state)
    4131 local pd = PlayerData:getInstanse()
    4132 pd.signOr7day = state
    4133 local battleTest = self.MiddleUI:getChildByName("Button_L3")
    4134 if battleTest then
    4135 if state == 1 then
    4136 battleTest:loadTextureNormal(ResIconCfg.icon7days)
    4137 battleTest:loadTexturePressed(ResIconCfg.icon7days)
    4138 elseif state == 2 then
    4139 battleTest:loadTextureNormal(ResIconCfg.icon30days)
    4140 battleTest:loadTexturePressed(ResIconCfg.icon30days)
    4141 end
    4142 end
    4143 end
    4144 
    4145 
    4146 --弹出空地提示
    4147 function WorldScene:CheckSpaceOutSide()
    4148 local pd = PlayerData:getInstanse()
    4149 local outsidedata = pd:getSpaceOutSide()
    4150 if outsidedata ~= nil and not NoviceGuide:getState() then
    4151 self.MiddleUI:getChildByName("panel_prompt"):setVisible(false)
    4152 
    4153 local iknow = self.MiddleUI:getChildByName("panel_prompt"):getChildByName("text_01")
    4154 iknow:addTouchEventListener(function(e, t)
    4155 if t == ccui.TouchEventType.ended then
    4156 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    4157 self.MiddleUI:getChildByName("panel_prompt"):setVisible(false)
    4158 
    4159 end
    4160 end)
    4161 
    4162 local gotooutside = self.MiddleUI:getChildByName("panel_prompt"):getChildByName("text_02")
    4163 gotooutside:addTouchEventListener(function(e, t)
    4164 if t == ccui.TouchEventType.ended then
    4165 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    4166 self.BgPage = 2
    4167 self:TurnBgQuest()
    4168 
    4169 self.MiddleUI:getChildByName("panel_prompt"):setVisible(false)
    4170 
    4171 local btnKey = gBlock[outsidedata.blockId].position
    4172 local btn = self.OutSideGbButton:getChildByName(btnKey)
    4173 
    4174 -- 节点层级少了ScrollView
    4175 local sv = self.OutSideBg:getChildByName("ScrollView_1")
    4176 if sv then
    4177 local x, y = btn:getPosition()
    4178 local inner = sv:getInnerContainer():setPosition(cc.p(0, 0))
    4179 --sv:jumpToPercentBothDirection(cc.p(-x,y))
    4180 sv:jumpToPercentBothDirection(cc.p(-x + 640 / 2, -y))
    4181 end
    4182 --btn:setColor(cc.c3b(250,50,50))
    4183 
    4184 --btn:runAction(cc.Sequence:create(cc.ScaleTo:create(1.2,1.2),cc.ScaleTo:create(1.2,1.0),nil))
    4185 NodeTranslator:bigchangeColor(btn, nil)
    4186 
    4187 -- NodeTranslator:changeColor(btn,function()
    4188 --
    4189 -- end)
    4190 
    4191 
    4192 end
    4193 end)
    4194 
    4195 else
    4196 self.MiddleUI:getChildByName("panel_prompt"):setVisible(false)
    4197 end
    4198 end
    4199 
    4200 function WorldScene:SetMiddleVisible(visible, state)
    4201 
    4202 if state == 1 then
    4203 visible = true
    4204 elseif state == 2 then
    4205 visible = false
    4206 elseif state == 2 then
    4207 visible = false
    4208 end
    4209 
    4210 if self.MiddleUIVisible ~= nil then
    4211 self.MiddleUIVisible = visible
    4212 self.MiddleUIVisible18 = visible
    4213 app:dispatchEvent({ name = "18HourRefresh" })
    4214 end
    4215 
    4216 
    4217 if visible == false then
    4218 self.MiddleUI:getChildByName("Button_LimitTimeFirstPay"):setVisible(false)
    4219 self.MiddleUI:getChildByName("Button_33_Copy"):setVisible(visible)
    4220 end
    4221 
    4222 local children = self.MiddleUI:getChildren()
    4223 for key, var in pairs(children) do
    4224 if var:getName() ~= "Button_07"
    4225 and var:getName() ~= "Button_08"
    4226 and var:getName() ~= "Button_09"
    4227 and var:getName() ~= "Image_20" then
    4228 if state == 1 then
    4229 if var.sx ~= nil then
    4230 var:setScale(var.sx)
    4231 var.sx = nil
    4232 end
    4233 else
    4234 if var.sx == nil then
    4235 var.sx = var:getScale()
    4236 end
    4237 var:setScale(0)
    4238 end
    4239 end
    4240 end
    4241 
    4242 -- todo state 改变,已经没有2了
    4243 if state == 1 then
    4244 self.BtnOutSide:setVisible(false)
    4245 else
    4246 self.BtnOutSide:setVisible(false)
    4247 end
    4248 
    4249 end
    4250 
    4251 function WorldScene:TurnBgQuest()
    4252 
    4253 local pd = PlayerData:getInstanse()
    4254 if self.BgPage == 1 then
    4255 
    4256 self.topUI:setVisible(true)
    4257 self:SetMiddleVisible(true, self.BgPage)
    4258 
    4259 self:BaseQuest()
    4260 self:CheckSpaceOutSide()
    4261 PromptView:sceneNotice(self, StringRes.chenge_3)
    4262 NoviceGuide:complete("_CustomAction", "changeIntoBase");
    4263 --elseif self.BgPage == 2 then
    4264 --更新页面 
    4265 self.topUI:setVisible(true)
    4266 
    4267 Connect:sendMsg("InterfaceAction", "changeOutskirtsInterface", nil,
    4268 function(data)
    4269 --更新数据
    4270 pd.outSideBuild = data.outskirtsBlockVOs
    4271 
    4272 self:FreshTopPage()
    4273 self:FreshBGPage()
    4274 
    4275 self:ChangeTurnBtn()
    4276 self:showName(false)
    4277 end)
    4278 PromptView:sceneNotice(self, StringRes.chenge_1)
    4279 self:SetMiddleVisible(false, self.BgPage)
    4280 elseif self.BgPage == 3 then
    4281 self.topUI:setVisible(false)
    4282 self:SetMiddleVisible(false, self.BgPage)
    4283 
    4284 self.Feild:getData(true)
    4285 
    4286 self:FreshBGPage()
    4287 self:ChangeTurnBtn()
    4288 
    4289 PromptView:sceneNotice(self, StringRes.chenge_2)
    4290 
    4291 --重新拉TaskExeBar队列
    4292 gField.TaskExeBar:serverUpdateAll()
    4293 end
    4294 end
    4295 
    4296 
    4297 function WorldScene:TaskQuest()
    4298 Connect:sendMsg("TaskAction", "openTaskItem", nil,
    4299 function(data)
    4300 local pd = PlayerData:getInstanse()
    4301 --更新数据
    4302 pd.task = {}
    4303 pd.task.mainTaskShowVO = data.mainTaskShowVO
    4304 pd.task.playerTasks = data.playerTasks
    4305 pd.task.buildingTasks = data.buildingTasks
    4306 pd.task.resourceTasks = data.resourceTasks
    4307 
    4308 pd.task.taskDailyShowVOs = data.taskDailyShowVOs
    4309 
    4310 pd.task.task1DailyVOs = data.task1DailyVOs
    4311 pd.task.task2DailyVOs = data.task2DailyVOs
    4312 pd.task.task3DailyVOs = data.task3DailyVOs
    4313 pd.task.task4DailyVOs = data.task4DailyVOs
    4314 
    4315 self.TaskInfo = TaskInfo:open()
    4316 self:addChild(self.TaskInfo)
    4317 end)
    4318 end
    4319 
    4320 function WorldScene:FreshTopPage()
    4321 local pd = PlayerData:getInstanse()
    4322 if pd.basicData == nil then
    4323 return
    4324 end
    4325 
    4326 
    4327 --icon
    4328 self.topUI:getChildByName("photo"):loadTexture(gRoleHeadIcon[pd.basicData.icon])
    4329 
    4330 self.topUI:getChildByName("Text_Name"):setString(pd.basicData.name)
    4331 
    4332 self.topUI:getChildByName("Text_23"):setString(pd.basicData.lv)
    4333 self.topUI:getChildByName("Text_comat"):setString( StringTemp:toNum(pd.basicData.comat))
    4334 
    4335 local warlvIcon = self.topUI:getChildByName("Image_2")
    4336 warlvIcon:loadTexture(gMilitary_rank[pd.basicData.warLv].icon, ResType)
    4337 warlvIcon:setScale(0.3)
    4338 --pd.basicData.gold = 1000*1000
    4339 
    4340 self.topUI:getChildByName("Text_gold"):setString( StringTemp:toNum(pd.basicData.gold))
    4341 
    4342 local function getColor(value)
    4343 if pd.basicData.protect > value then
    4344 return CommonColor.White
    4345 else
    4346 return CommonColor.Yellow
    4347 end
    4348 end
    4349 
    4350 --动画
    4351 
    4352  
    4353 
    4354  
    4355 
    4356  
    4357 
    4358 self.topUI:getChildByName("Text_crystal"):setString( StringTemp:toNum(pd.basicData.crystal))
    4359 self.topUI:getChildByName("Text_crystal"):setColor(getColor(pd.basicData.crystal))
    4360 
    4361 self.topUI:getChildByName("Text_ferrum"):setString( StringTemp:toNum(pd.basicData.ferrum))
    4362 self.topUI:getChildByName("Text_ferrum"):setColor(getColor(pd.basicData.crystal))
    4363 
    4364 self.topUI:getChildByName("Text_oil"):setString( StringTemp:toNum(pd.basicData.oil))
    4365 self.topUI:getChildByName("Text_oil"):setColor(getColor(pd.basicData.crystal))
    4366 
    4367 self.topUI:getChildByName("Text_lead"):setString( StringTemp:toNum(pd.basicData.lead))
    4368 self.topUI:getChildByName("Text_lead"):setColor(getColor(pd.basicData.crystal))
    4369 
    4370 self.topUI:getChildByName("Text_titanium"):setString( StringTemp:toNum(pd.basicData.titanium))
    4371 self.topUI:getChildByName("Text_titanium"):setColor(getColor(pd.basicData.crystal))
    4372 
    4373 -- local vipImage = self.topUI:getChildByName("Button_3"):getChildByName("Image_4")
    4374 -- vipImage:loadTexture("res/pic/vip/icon/icon_vip_medal_" .. (pd.basicData.vipLv + 1) .. ".png", ResType)
    4375 self.topUI:getChildByName("Text_vip"):setString("VIP:"..pd.basicData.vipLv)
    4376 
    4377 --进度条
    4378 self.topUI:getChildByName("LoadingBar_11"):setPercent(pd.basicData.exp / pd.basicData.expMax * 100)
    4379 
    4380 self.topUI:getChildByName("LoadingBar_12"):setPercent(pd.basicData.energy / gMaxEnergy * 100)
    4381 
    4382 self.topUI:getChildByName("LoadingBar_1"):setPercent(pd.basicData.crystal / pd.basicData.crystalMax * 100)
    4383 
    4384 self.topUI:getChildByName("LoadingBar_2"):setPercent(pd.basicData.oil / pd.basicData.oilMax * 100)
    4385 
    4386 self.topUI:getChildByName("LoadingBar_3"):setPercent(pd.basicData.ferrum / pd.basicData.ferrumMax * 100)
    4387 
    4388 self.topUI:getChildByName("LoadingBar_4"):setPercent(pd.basicData.lead / pd.basicData.leadMax * 100)
    4389 
    4390 self.topUI:getChildByName("LoadingBar_5"):setPercent(pd.basicData.titanium / pd.basicData.titaniumMax * 100)
    4391 
    4392 end
    4393 
    4394 --隐藏等级一定时间
    4395 function WorldScene:hideBuildLv(time)
    4396 self:BuildLvShow(false)
    4397 end
    4398 
    4399 local nodesName = { "Button_11", "icon_basement" } --军团 、地库
    4400 
    4401 function WorldScene:showName(b)
    4402 local pd = PlayerData:getInstanse()
    4403 
    4404 if pd.baseBuild ~= nil then
    4405 
    4406 if self.BaseBgButton ~= nil then
    4407 for i, v in ipairs(nodesName) do
    4408 local btn = self.BaseBgButton:getChildByName(v)
    4409 if btn ~= nil then
    4410 if b then
    4411 local levelImage = btn:getChildByName("Image_1")
    4412 if levelImage ~= nil then
    4413 levelImage:setScale(0)
    4414 end
    4415 local nameLv = btn:getChildByName("Image_12")
    4416 if nameLv ~= nil then
    4417 if UserDefault:getBoolForKey("buildingname") == true then
    4418 nameLv:setScale(1)
    4419 end
    4420 end
    4421 else
    4422 local levelImage = btn:getChildByName("Image_1")
    4423 if levelImage ~= nil then
    4424 levelImage:setScale(1)
    4425 end
    4426 local nameLv = btn:getChildByName("Image_12")
    4427 if nameLv ~= nil then
    4428 nameLv:setScale(0)
    4429 end
    4430 end
    4431 end
    4432 end
    4433 
    4434 end
    4435 
    4436  
    4437 
    4438 
    4439 --建筑
    4440 for i, v in pairs(pd.baseBuild) do
    4441 local btnKey = self:BuildIdAndDbId2Button(v.templateId, v.dbId)
    4442 
    4443 if self.BaseBgButton == nil then
    4444 break
    4445 end
    4446 
    4447 local btn = self.BaseBgButton:getChildByName(btnKey)
    4448 
    4449 if btn ~= nil then
    4450 if b then
    4451 local levelImage = btn:getChildByName("Image_1")
    4452 if levelImage ~= nil then
    4453 levelImage:setScale(0)
    4454 end
    4455 local nameLv = btn:getChildByName("Image_12")
    4456 if nameLv ~= nil then
    4457 if UserDefault:getBoolForKey("buildingname") == true then
    4458 nameLv:setScale(1)
    4459 end
    4460 end
    4461 else
    4462 local levelImage = btn:getChildByName("Image_1")
    4463 if levelImage ~= nil then
    4464 levelImage:setScale(1)
    4465 end
    4466 local nameLv = btn:getChildByName("Image_12")
    4467 if nameLv ~= nil then
    4468 nameLv:setScale(0)
    4469 end
    4470 end
    4471 end
    4472 
    4473 
    4474 end
    4475 --
    4476 end
    4477 
    4478 
    4479 if pd.outSideBuild == nil then
    4480 return
    4481 end
    4482 
    4483 
    4484 for i, v in pairs(pd.outSideBuild) do
    4485 local btnKey = gBlock[v.blockId].position
    4486 
    4487 if self.OutSideGbButton == nil then
    4488 break
    4489 end
    4490 
    4491 local btn = self.OutSideGbButton:getChildByName(btnKey)
    4492 
    4493 if v.templateId ~= 0 then
    4494 --显示等级
    4495 --在新版本中等级用label代替, 以下代码不会执行
    4496 if btn ~= nil then
    4497 if b then
    4498 local levelImage = btn:getChildByName("Image_1")
    4499 if levelImage ~= nil then
    4500 levelImage:setScale(0)
    4501 end
    4502 local nameLv = btn:getChildByName("Image_12")
    4503 if nameLv ~= nil then
    4504 if UserDefault:getBoolForKey("buildingname") == true then
    4505 nameLv:setScale(1)
    4506 end
    4507 end
    4508 else
    4509 local levelImage = btn:getChildByName("Image_1")
    4510 if levelImage ~= nil then
    4511 levelImage:setScale(1)
    4512 end
    4513 local nameLv = btn:getChildByName("Image_12")
    4514 if nameLv ~= nil then
    4515 nameLv:setScale(0)
    4516 end
    4517 end
    4518 end
    4519 
    4520 
    4521 end
    4522 end
    4523 
    4524 
    4525 end
    4526 
    4527 function WorldScene:BuildLvShow(b)
    4528 local pd = PlayerData:getInstanse()
    4529 
    4530 if pd.baseBuild ~= nil then
    4531 --建筑
    4532 for i, v in pairs(pd.baseBuild) do
    4533 local btnKey = self:BuildIdAndDbId2Button(v.templateId, v.dbId)
    4534 
    4535 local btn = self.BaseBgButton:getChildByName(btnKey)
    4536 
    4537 
    4538 if b then
    4539 local levelImage = btn:getChildByName("Image_1")
    4540 if levelImage ~= nil then
    4541 levelImage:setScale(1)
    4542 end
    4543 local nameLv = btn:getChildByName("Image_12")
    4544 if nameLv ~= nil then
    4545 nameLv:setScale(0) 
    4546 end
    4547 else
    4548 local levelImage = btn:getChildByName("Image_1")
    4549 if levelImage ~= nil then
    4550 levelImage:setScale(0)
    4551 end
    4552 local nameLv = btn:getChildByName("Image_12")
    4553 if nameLv ~= nil then
    4554 nameLv:setScale(1) 
    4555 end
    4556 end
    4557 
    4558 
    4559 -- --显示等级
    4560 -- local levelImage = btn:getChildByName("Image_1")
    4561 -- if levelImage ~= nil then
    4562 -- levelImage:setVisible(b)
    4563 -- end
    4564 -- local nameLv = btn:getChildByName("Image_12")
    4565 -- if nameLv ~= nil then
    4566 -- nameLv:setVisible(b)
    4567 -- end
    4568 
    4569 end
    4570 --
    4571 end
    4572 
    4573 
    4574 if pd.outSideBuild == nil then
    4575 return
    4576 end
    4577 
    4578 
    4579 for i, v in pairs(pd.outSideBuild) do
    4580 local btnKey = gBlock[v.blockId].position
    4581 
    4582 local btn = self.OutSideGbButton:getChildByName(btnKey)
    4583 
    4584 if v.templateId ~= 0 then
    4585 --显示等级
    4586 local levelImage = btn:getChildByName("Image_1")
    4587 if levelImage ~= nil then
    4588 levelImage:setVisible(b)
    4589 end
    4590 local nameLv = btn:getChildByName("Image_12")
    4591 if nameLv ~= nil then
    4592 nameLv:setVisible(b)
    4593 end
    4594 end
    4595 end
    4596 end
    4597 
    4598 local function getGuildName()
    4599 local pd = PlayerData:getInstanse()
    4600 --guildName
    4601 if pd.basicData.guildId ~= 0 then
    4602 return StringRes.guildname_999 .. pd.basicData.guildName
    4603 else
    4604 return StringRes[gBuilding[4].name]
    4605 end
    4606 end
    4607 
    4608  
    4609 
    4610 
    4611 function WorldScene:FreshBGPage()
    4612 local pd = PlayerData:getInstanse()
    4613 if pd.basicData == nil then
    4614 return
    4615 end
    4616 
    4617 self.BaseBg:setVisible(false)
    4618 --self.OutSideBg:setVisible(false)
    4619 self.Feild:setVisible(false)
    4620 local pd = PlayerData:getInstanse()
    4621 --地库
    4622 local btn = self.BaseBgButton:getChildByName("icon_basement")
    4623 local nameLv = btn:getChildByName("Image_12")
    4624 if nameLv == nil then
    4625 nameLv = gLittleUi:getChildByName("Image_12"):clone()
    4626 btn:addChild(nameLv, 10)
    4627 local size = btn:getContentSize()
    4628 nameLv:setPosition( cc.p(size.width / 2, size.height+20) )
    4629 nameLv:setVisible(true)
    4630 end
    4631 nameLv:getChildByName("Text_level"):setString(StringRes[gBuilding[18].name])
    4632 --军团
    4633 local btn = self.BaseBgButton:getChildByName("Button_11")
    4634 if PlayerData:getInstanse():getBaseBuildLv(1) < gBuilding[4].unlock then
    4635 showShader:toGray(btn)
    4636 else
    4637 showShader:toNormal(btn)
    4638 end
    4639 --有军团
    4640 local pd = PlayerData:getInstanse()
    4641 if pd.basicData.guildId ~= 0 then
    4642 --名字加等级
    4643 local nameLv = btn:getChildByName("Image_12")
    4644 if nameLv == nil then
    4645 nameLv = gLittleUi:getChildByName("Image_12"):clone()
    4646 btn:addChild(nameLv, 10)
    4647 local size = btn:getContentSize()
    4648 nameLv:setPosition( cc.p(size.width / 2, size.height+20) )
    4649 nameLv:setScale(0)
    4650 end
    4651 local nl = getGuildName()
    4652 -- if pd.basicData.guildLv > 0 then
    4653 -- nl = nl.."Lv."..pd.basicData.guildLv
    4654 -- end
    4655 nameLv:getChildByName("Text_level"):setString(nl)
    4656 
    4657 --显示等级
    4658 local levelImage = btn:getChildByName("Image_1")
    4659 if levelImage == nil then
    4660 levelImage = gLittleUi:getChildByName("Image_1"):clone()
    4661 btn:addChild(levelImage, 10)
    4662 local size = btn:getContentSize()
    4663 levelImage:setPosition( StringTemp:toPosition(gBuilding[4].lvposition) )
    4664 end
    4665 levelImage:setVisible(true)
    4666 levelImage:getChildByName("Text_level"):setString(pd.basicData.guildLv)
    4667 
    4668 -- if UserDefault:getBoolForKey("buildingname") == true then
    4669 -- --if false then
    4670 -- levelImage:setVisible(false)
    4671 -- nameLv:setVisible(true)
    4672 -- else
    4673 -- levelImage:setVisible(true)
    4674 -- nameLv:setVisible(false)
    4675 -- end
    4676 
    4677 else
    4678 --名字加等级
    4679 local nameLv = btn:getChildByName("Image_12")
    4680 if nameLv == nil then
    4681 nameLv = gLittleUi:getChildByName("Image_12"):clone()
    4682 btn:addChild(nameLv, 10)
    4683 local size = btn:getContentSize()
    4684 nameLv:setPosition( cc.p(size.width / 2, size.height+20) )
    4685 nameLv:setScale(0)
    4686 end
    4687 local nl = getGuildName()
    4688 -- if pd.basicData.guildLv > 0 then
    4689 -- nl = nl.."Lv."..pd.basicData.guildLv
    4690 -- end
    4691 nameLv:getChildByName("Text_level"):setString(nl)
    4692 
    4693 local levelImage = btn:getChildByName("Image_1")
    4694 if levelImage then
    4695 levelImage:setVisible(false)
    4696 end
    4697 local nameLv = btn:getChildByName("Image_12")
    4698 if nameLv then
    4699 nameLv:getChildByName("Text_level"):setString(getGuildName())
    4700 nameLv:setVisible(true)
    4701 end
    4702 end
    4703 
    4704 btn:addTouchEventListener(function(e, t)
    4705 if t == ccui.TouchEventType.ended then
    4706 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    4707 if PlayerData:getInstanse():getBaseBuildLv(1) < gBuilding[4].unlock then
    4708 PromptView:type1(StringRes.notice,
    4709 string.format( StringRes[gBuilding[4].unlockdes], gBuilding[4].unlock)
    4710 , StringRes.ok)
    4711 else
    4712 --判断是否有军团
    4713 if pd.basicData.guildId == 0 then
    4714 local ArmyGroupApply = require("src/app/views/armygroup/ArmyGroupApply")
    4715 ArmyGroupApply:show(self)
    4716 else
    4717 local ArmyGroupMain = require("src/app/views/armygroup/ArmyGroupMain")
    4718 ArmyGroupMain:show(self)
    4719 end
    4720 end
    4721 end
    4722 end)
    4723 
    4724 if self.BgPage == 1 then
    4725 --基地
    4726 self.BaseBg:setVisible(true)
    4727 local pd = PlayerData:getInstanse()
    4728 
    4729 if pd.baseBuild ~= nil then
    4730 --建筑
    4731 for i, v in pairs(pd.baseBuild) do
    4732 local btnKey = self:BuildIdAndDbId2Button(v.templateId, v.dbId)
    4733 
    4734 local btn = self.BaseBgButton:getChildByName(btnKey)
    4735 
    4736 --名字加等级
    4737 local nameLv = btn:getChildByName("Image_12")
    4738 if nameLv == nil then
    4739 nameLv = gLittleUi:getChildByName("Image_12"):clone()
    4740 btn:addChild(nameLv, 10)
    4741 local size = btn:getContentSize()
    4742 nameLv:setPosition( cc.p(size.width / 2, size.height+20) )
    4743 nameLv:setScale(0)
    4744 end
    4745 local nl = StringRes[gBuilding[v.templateId].name]
    4746 -- if v.buildLv > 0 then
    4747 -- nl = nl.."Lv."..v.buildLv
    4748 -- end
    4749 nameLv:getChildByName("Text_level"):setString(nl)
    4750 
    4751 
    4752 --显示等级
    4753 local levelImage = btn:getChildByName("Image_1")
    4754 if levelImage == nil then
    4755 levelImage = gLittleUi:getChildByName("Image_1"):clone()
    4756 btn:addChild(levelImage, 10)
    4757 local size = btn:getContentSize()
    4758 levelImage:setPosition( StringTemp:toPosition(gBuilding[v.templateId].lvposition) )
    4759 end
    4760 levelImage:getChildByName("Text_level"):setString(v.buildLv)
    4761 
    4762 
    4763 if pd:getBaseBuildLv(1) < gBuilding[v.templateId].unlock - 5 then
    4764 btn:setVisible(false)
    4765 else
    4766 btn:setVisible(true)
    4767 end
    4768 if v.buildLv <= 0 then
    4769 levelImage:setVisible(false)
    4770 nameLv:setVisible(false)
    4771 
    4772 --未解锁建筑隐藏,解锁前5级显示灰色,解锁后正常显示
    4773 if v.canBuild == true then
    4774 btn:setOpacity(150)
    4775 
    4776 Animation:playChuiziAnimation(btn:getParent(), btn:getName() .. "chuizi", cc.p(btn:getPositionX(), btn:getPositionY()))
    4777 --Animation:playChuiziAnimation(btn, btn:getName() .. "chuizi", StringTemp:toPosition(gBuilding[v.templateId].lvposition))
    4778 else
    4779 showShader:AlltoGray(btn)
    4780 Animation:stopAnimation(btn:getParent(), btn:getName() .. "chuizi")
    4781 end
    4782 
    4783 else
    4784 Animation:stopAnimation(btn:getParent(), btn:getName() .. "chuizi")
    4785 
    4786 levelImage:setVisible(true)
    4787 nameLv:setVisible(true)
    4788 -- if UserDefault:getBoolForKey("buildingname") == true then
    4789 -- --if false then
    4790 -- levelImage:setVisible(false)
    4791 -- nameLv:setVisible(true)
    4792 -- else
    4793 -- levelImage:setVisible(true)
    4794 -- nameLv:setVisible(false)
    4795 -- end
    4796 
    4797 
    4798 btn:setOpacity(255)
    4799 showShader:AlltoNormal(btn)
    4800 
    4801 --动画 todo 主城建筑的动画先不做
    4802 --if btn:getChildByName("Anim") == nil then
    4803 -- local an = Animation:createAnimation(gBuilding[v.templateId].art)
    4804 -- if an ~= nil then
    4805 -- btn:addChild(an,1)
    4806 -- an:setName("Anim")
    4807 -- local btn_Free = btn:getChildByName("Button_Free")
    4808 -- if btn_Free then
    4809 -- btn_Free:setLocalZOrder(2)
    4810 -- end
    4811 -- if btn:getChildByName("Image_Base") ~= nil then
    4812 -- btn:getChildByName("Image_Base"):setVisible(false)
    4813 -- end
    4814 -- end
    4815 --end
    4816 end
    4817 
    4818 --是否显示等级
    4819 if gBuilding[v.templateId].lv == 0 then
    4820 levelImage:setVisible(false)
    4821 nameLv:getChildByName("Text_level"):setString(StringRes[gBuilding[v.templateId].name])
    4822 --nameLv:setVisible(false)
    4823 else
    4824 
    4825 end
    4826 
    4827 btn.buildVo = v
    4828 btn:addTouchEventListener(function(e, t)
    4829 if t == ccui.TouchEventType.ended then
    4830 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    4831 NodeTranslator:changeColor(btn, function()
    4832 local vo = e.buildVo
    4833 Buildings:enter(vo, self)
    4834 end)
    4835 end
    4836 end)
    4837 
    4838 --v.time = 20
    4839 --v.allTime = 120
    4840 
    4841 end
    4842 end
    4843 
    4844 
    4845 --把所有坦克隐藏
    4846 for i, v in pairs(tankId2Button) do
    4847 local btn = self.BaseBgButton:getChildByName(v)
    4848 btn:setVisible(false)
    4849 end
    4850 
    4851 if pd.tanks ~= nil then
    4852 --坦克
    4853 for i, v in pairs(pd.tanks) do
    4854 if v.num > 0 then
    4855 if v.baseId <= NUM_OF_TANK_IN_BASE then
    4856 --主界面只显示前24种坦克
    4857 local btn = self.BaseBgButton:getChildByName(tankId2Button[v.baseId])
    4858 btn:setVisible(true)
    4859 btn:loadTexture(Tank[v.baseId].pic, ResType)
    4860 --更换图片
    4861 --local tankAnim = btn:getChildByName("Image_Anim")
    4862 
    4863 -- if tankAnim == nil then
    4864 -- tankAnim = Animation:createAnimation(Tank[v.baseId].anim_base)
    4865 -- tankAnim:setName("Image_Anim")
    4866 -- btn:addChild(tankAnim)
    4867 --
    4868 -- tankAnim:setAnchorPoint(cc.p(0.5,0.5))
    4869 -- local size = btn:getContentSize()
    4870 -- tankAnim:setPosition( cc.p(size.width*0.5,size.height*0.5) )
    4871 -- end
    4872 
    4873  
    4874 
    4875 --显示数量
    4876 local levelImage = btn:getChildByName("Image_4")
    4877 if levelImage == nil then
    4878 levelImage = gLittleUi:getChildByName("Image_4"):clone()
    4879 btn:addChild(levelImage)
    4880 local size = btn:getContentSize()
    4881 levelImage:setPosition( cc.p(size.width * 0.5, size.height * 0.5 + 50) )
    4882 end
    4883 levelImage:getChildByName("Text_level"):setString(v.num)
    4884 
    4885 
    4886 btn:addTouchEventListener(function(e, t)
    4887 if t == ccui.TouchEventType.ended then
    4888 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    4889 require("src/app/views/prompt/TankInfoPanel"):show(self, v.baseId)
    4890 end
    4891 end)
    4892 
    4893 
    4894 end
    4895 
    4896 else
    4897 table.remove(pd.tanks, i)
    4898 end
    4899 
    4900 
    4901 end
    4902 end
    4903 
    4904 --elseif self.BgPage == 2 then --郊外
    4905 self.OutSideBg:setVisible(true)
    4906 local pd = PlayerData:getInstanse()
    4907 
    4908 
    4909 --回基地按钮
    4910 local goHome = self.OutSideBg:getChildByName("Button_1")
    4911 goHome:addTouchEventListener(function(e, t)
    4912 if t == ccui.TouchEventType.ended then
    4913 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    4914 NodeTranslator:changeColor(goHome, function()
    4915 self.BgPage = 1
    4916 self:TurnBgQuest()
    4917 NoviceGuide:complete("InterfaceAction", "changeOutskirtsInterface");
    4918 end)
    4919 end
    4920 end)
    4921 goHome:setVisible(false)
    4922 local outSideTestBg = self.OutSideBg:getChildByName("Panel_1")
    4923 if outSideTestBg then
    4924 outSideTestBg:setVisible(false)
    4925 end
    4926 
    4927 --把所有地块隐藏
    4928 for i, v in pairs(gBlock) do
    4929 local btn = self.OutSideGbButton:getChildByName(v.position)
    4930 if btn ~= nil then
    4931 btn:setVisible(false)
    4932 end
    4933 end
    4934 if pd.outSideBuild == nil or NoviceGuide:CheckOpen("resBuilding") == false then
    4935 return
    4936 end
    4937 
    4938 self:refreshOutSide("2", "3", "4", "1")
    4939 
    4940 for i, v in pairs(pd.outSideBuild) do
    4941 local btnKey = gBlock[v.blockId].position
    4942 local btn = self.OutSideGbButton:getChildByName(btnKey)
    4943 
    4944 if btn ~= nil then
    4945 -- todo 越是靠下的建筑层级越高
    4946 local btnPosY = btn:getPositionY()
    4947 btn:setLocalZOrder(99999-btnPosY)
    4948 end
    4949 
    4950 --v.templateId = 1
    4951 
    4952 if v.templateId ~= 0 then
    4953 --建筑物
    4954 if btn.nilPos == nil then
    4955 btn.nilPos = {}
    4956 btn.nilPos.x, btn.nilPos.y = btn:getPosition()
    4957 end
    4958 
    4959 --坐标调整
    4960 local t1 = StringTemp:Split(gBuilding[v.templateId].position, ",")
    4961 if #t1 >= 2 then
    4962 local pos = btn.nilPos
    4963 btn:setPosition( cc.p(pos.x + tonumber(t1[1]), pos.y + tonumber(t1[2])))
    4964 end
    4965 
    4966 
    4967 if gBuilding[v.templateId].stand ~= nil and gBuilding[v.templateId].stand ~= "0.png" then
    4968 btn:loadTexture(gBuilding[v.templateId].stand, ResType)
    4969 else
    4970 btn:loadTexture(gBuilding[v.templateId].pic, ResType)
    4971 end
    4972 
    4973 -- local buildImage = btn:getChildByName("Image_build")
    4974 -- if buildImage == nil then
    4975 -- local pic = gBuilding[v.templateId]
    4976 -- --buildImage = ccs.Armature:create(pic)
    4977 -- buildImage = ccui.ImageView:create("pic/resources/resource_map/icon_iron.png",ResType)
    4978 -- buildImage:setName("Image_build")
    4979 -- btn:addChild(buildImage)
    4980 -- local size = btn:getContentSize()
    4981 -- buildImage:setPosition( cc.p(size.width*0.5,size.height*0.5) )
    4982 -- --buildImage:getAnimation():play(pic,durationTo,loop)
    4983 -- end
    4984 
    4985 
    4986 --名字加等级
    4987 local nameLv = btn:getChildByName("Image_12")
    4988 if nameLv == nil then
    4989 nameLv = gLittleUi:getChildByName("Image_12"):clone()
    4990 btn:addChild(nameLv, 10)
    4991 local size = btn:getContentSize()
    4992 nameLv:setPosition( cc.p(size.width / 2, size.height+20) )
    4993 nameLv:setScale(0)
    4994 end
    4995 local nl = StringRes[gBuilding[v.templateId].name]
    4996 -- if v.buildLv > 0 then
    4997 -- nl = nl.."Lv."..v.buildLv
    4998 -- end
    4999 nameLv:getChildByName("Text_level"):setString(nl)
    5000 nameLv:setVisible(true)
    5001 
    5002 --显示等级
    5003 --local levelImage = btn:getChildByName("Image_1")
    5004 --if levelImage == nil then
    5005 -- levelImage = gLittleUi:getChildByName("Image_1"):clone()
    5006 -- btn:addChild(levelImage, 10)
    5007 -- local size = btn:getContentSize()
    5008 -- levelImage:setPosition( StringTemp:toPosition(gBuilding[v.templateId].lvposition) )
    5009 --end
    5010 --levelImage:getChildByName("Text_level"):setString(v.buildLv)
    5011 --levelImage:setVisible(true)
    5012 
    5013 -- 新版本等级label
    5014 local lvLabel = btn:getChildByName("lvLabel")
    5015 if lvLabel == nil then
    5016 lvLabel = display.newTTFLabel({
    5017 text = v.buildLv .. "",
    5018 --font = "fonts/TankGroup.ttf",
    5019 size = 20,
    5020 align = cc.TEXT_ALIGNMENT_CENTER -- 文字内部居中对齐
    5021 })
    5022 btn:addChild(lvLabel,1000)
    5023 lvLabel:setSkewY(-30)
    5024 lvLabel:setName("lvLabel")
    5025 end
    5026 lvLabel:setString(v.buildLv.. "")
    5027 lvLabel:setPosition(StringTemp:toPosition(gBuilding[v.templateId].lvposition))
    5028 
    5029  
    5030 
    5031 
    5032 --btn:setTouchEnabled(false)
    5033 btn:setVisible(true)
    5034 
    5035 -- if UserDefault:getBoolForKey("buildingname") == true then
    5036 -- --if false then
    5037 -- levelImage:setVisible(false)
    5038 -- nameLv:setVisible(true)
    5039 -- else
    5040 -- levelImage:setVisible(true)
    5041 -- nameLv:setVisible(false)
    5042 -- end
    5043 
    5044 --动画
    5045 if btn:getChildByName("Anim") == nil then
    5046 local an = Animation:createAnimationWithCsb(gBuilding[v.templateId].art)
    5047 if an ~= nil then
    5048 btn:addChild(an, 1)
    5049 an:setName("Anim")
    5050 local size = btn:getContentSize()
    5051 end
    5052 -- else
    5053 -- local an = Animation:createAnimation(gBuilding[v.templateId].art)
    5054 -- if an == nil then
    5055 -- btn:getChildByName("Anim"):removeFromParent()
    5056 -- end
    5057 end
    5058 if btn:getChildByName("Anim") ~= nil then
    5059 
    5060 btn:getChildByName("Anim"):setVisible(true)
    5061 end
    5062 
    5063 
    5064 --btn:setTouchEnabled(true)
    5065 btn:addTouchEventListener(function(e, t)
    5066 if t == ccui.TouchEventType.ended then
    5067 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    5068 NodeTranslator:changeColor(btn, function()
    5069 if v.buildLv > 0 then
    5070 local layer = require("src/app/views/buildings/ResBuilding").new(self, v)
    5071 self:addChild(layer)
    5072 require("app.util.NodeTranslator"):transUp(layer, nil)
    5073 MyAudio:PlayEffect(gBuilding[v.templateId].openAudio)
    5074 end
    5075 end)
    5076 end
    5077 end)
    5078 
    5079 
    5080 else --只有地块
    5081 btn:setVisible(true)
    5082 
    5083 
    5084 --坐标调整
    5085 if btn.nilPos ~= nil then
    5086 local pos = btn.nilPos
    5087 btn:setPosition( cc.p(pos.x, pos.y))
    5088 end
    5089 
    5090 
    5091 if btn:getChildByName("Anim") ~= nil then
    5092 
    5093 btn:getChildByName("Anim"):removeFromParent()
    5094 end
    5095 
    5096 if btn:getChildByName("lvLabel") ~= nil then
    5097 btn:getChildByName("lvLabel"):removeFromParent()
    5098 end
    5099 
    5100 
    5101 local t = StringTemp:Split(v.canBuild, ",")
    5102 if #t == 1 then
    5103 btn:loadTexture("res/pic/resources/resource_map/icon_ore_ready.png", ResType)
    5104 else
    5105 btn:loadTexture("res/pic/resources/resource_map/icon_build_ready.png", ResType)
    5106 end
    5107 
    5108 --btn:setColor(cc.c3b(250,50,50))
    5109 
    5110 local levelImage = btn:getChildByName("Image_1")
    5111 if levelImage ~= nil then
    5112 levelImage:setVisible(false)
    5113 end
    5114 
    5115  
    5116 
    5117 --btn:setTouchEnabled(true)
    5118 --btn:removeAllChildren(true)
    5119 
    5120 
    5121 btn:addTouchEventListener(function(e, t)
    5122 if t == ccui.TouchEventType.ended then
    5123 MyAudio:PlayEffect(MusicAndEffect.btnEffect)
    5124 
    5125 NodeTranslator:changeColor(btn, function()
    5126 local layer = require("src/app/views/buildings/ResBuild").new(self, v)
    5127 -- local layer = require("src/app/views/buildings/TankFactory.lua").new(self)
    5128 self:addChild(layer)
    5129 require("app.util.NodeTranslator"):transUp(layer, nil)
    5130 
    5131 end)
    5132 end
    5133 end)
    5134 
    5135 --btn:loadTextures("tie_kuang_building_1.png","tie_kuang_building_1.png","",1)
    5136 
    5137 --local buildImage = ccui.ImageView:create("tie_kuang_building_1.png",1)
    5138 
    5139 end
    5140 
    5141  
    5142 
    5143 --显示建筑
    5144 
    5145  
    5146 
    5147 
    5148 --v.time = 20
    5149 --v.allTime = 120
    5150 
    5151 end
    5152 
    5153 elseif self.BgPage == 3 then
    5154 --世界
    5155 self.Feild:setVisible(true)
    5156 end
    5157 
    5158 
    5159 end
    5160 
    5161 function WorldScene:resetBottomList()
    5162 --下面的listview还原
    5163 local bc = self.BottomUI:getChildByName("ListView_1")
    5164 bc:jumpToLeft()
    5165 end
    5166 
    5167 function WorldScene:moveMainCity(time, percent)
    5168 --设置成默认比例
    5169 local sc, newPercent = nil, nil
    5170 if self.BgPage == 1 then
    5171 sc = self.BaseBg:getChildByName("ScrollView_1")
    5172 newPercent = { x = percent.x * self._moveSceneScaleX, y = self._moveSceneScaleY * percent.y }
    5173 elseif self.BgPage == 2 then
    5174 sc = self.OutSideBg:getChildByName("ScrollView_1")
    5175 newPercent = { x = percent.x * (1186 / (1186 - 640)), y = percent.y * (1174 / (1174 - 1010)) }
    5176 end
    5177 sc:setZoomScale(1)
    5178 sc:scrollToPercentBothDirection(newPercent, time, true) --做个特殊处理
    5179 end
    5180 
    5181 function WorldScene:setMainCityPos(percent)
    5182 --设置成默认比例
    5183 local sc, newPercent = nil, nil
    5184 if self.BgPage == 1 then
    5185 sc = self.BaseBg:getChildByName("ScrollView_1")
    5186 elseif self.BgPage == 2 then
    5187 sc = self.OutSideBg:getChildByName("ScrollView_1")
    5188 end
    5189 sc:setZoomScale(1)
    5190 --sc:jumpToPercentHorizontal(0)
    5191 local _innerContainer = sc:getInnerContainer()
    5192 local size = sc:getContentSize()
    5193 local size_inner = _innerContainer:getContentSize()
    5194 local minY = size.height - size_inner.height;
    5195 local h = minY;
    5196 local w = size_inner.width - size.width;
    5197 --startAutoScrollChildrenWithDestination(cc.p(-(percent.x * w / 100.0f), minY + percent.y * h / 100.0f), time, attenuated);
    5198 _innerContainer:setPosition(cc.p(-(percent.x * w / 100), percent.y * h / 100)) --做个特殊处理
    5199 end
    5200 
    5201 -- 聚焦到节点
    5202 function WorldScene:LookAtNode(node)
    5203 if tolua.isnull(node) then
    5204 return
    5205 end
    5206 --设置成默认比例
    5207 local sc = self.BaseBg:getChildByName("ScrollView_1")
    5208 sc:setZoomScale(1)
    5209 
    5210 local _innerContainer = sc:getInnerContainer()
    5211 local size = sc:getContentSize()
    5212 local size_inner = _innerContainer:getContentSize()
    5213 local h = size_inner.height - size.height - 150
    5214 local w = size_inner.width - size.width
    5215 
    5216 local nodePos = node:convertToWorldSpaceAR(cc.p(0, 0))
    5217 local vec = cc.pSub(cc.p(display.cx, display.cy), nodePos)
    5218 
    5219 local lookPos = cc.pAdd(cc.p(_innerContainer:getPosition()), vec)
    5220 
    5221 if lookPos.x > 0 then lookPos.x = 0 end
    5222 if lookPos.y < 0 then lookPos.y = 0 end
    5223 if lookPos.x < -w then lookPos.x = -w end
    5224 if lookPos.y > h then lookPos.y = h end
    5225 
    5226 _innerContainer:setPosition(lookPos)
    5227 end
    5228 
    5229 function WorldScene:gotoPve()
    5230 
    5231 --NoviceGuide:complete("ActionPass","EnterUiPass");
    5232 Connect:sendMsg("PveAction", "openPve", nil,
    5233 function(data)
    5234 --更新数据
    5235 
    5236 --PVE buf
    5237 PlayerData:getInstanse():SetPveBuff(data)
    5238 
    5239 local mission = Mission.new()
    5240 
    5241 self:addChild(mission)
    5242 end)
    5243 end
    5244 
    5245 function WorldScene:onEnter()
    5246 end
    5247 
    5248 function WorldScene:onExit()
    5249 
    5250 --Scheduler:unscheduleScriptEntry(self.loadingbarScheduler)
    5251 --Scheduler:unscheduleScriptEntry(self.update)
    5252 
    5253 end
    5254 
    5255 --杨杰 2017-2-14 添加更新活动图标状态。在ctor的update函数中调用
    5256 function WorldScene:RefreshActivityIcon()
    5257 local pd = PlayerData:getInstanse().basicData;
    5258 local visible = pd and (pd.limittimeactive ~= 1)
    5259 --抽奖
    5260 self.MiddleUI:getChildByName("Button_L2"):setVisible(visible)
    5261 --签到/7天
    5262 self.MiddleUI:getChildByName("Button_L3"):setVisible(visible)
    5263 --活动
    5264 self.MiddleUI:getChildByName("Button_L5"):setVisible(NoviceGuide:CheckOpen("mainUI"))
    5265 end
    5266 
    5267 --获取离线数据报告 场景新建(重新上线,包含长时间掉线后的重连)时请求
    5268 function WorldScene:getOfflineReport()
    5269 if NoviceGuide:getState() then
    5270 --新手引导中
    5271 return
    5272 end
    5273 
    5274 Connect:sendMsg("InterfaceAction", "getRifferenceInfo", nil, function(data)
    5275 if data then
    5276 require("app/views/OfflineReport/OfflineReportMainView"):open(self, data)
    5277 end
    5278 end, false)
    5279 end
    5280 
    5281 -- 刷新军团红点
    5282 function WorldScene:RefreshGroupRedPoint()
    5283 Connect:sendMsg("GuildAction", "showGuildTips", nil, function(data)
    5284 self.groupRP = data
    5285 self:UpdateRPControl()
    5286 end)
    5287 end
    5288 
    5289 -- 军团红点监控控件
    5290 function WorldScene:RegisterRPControl(node, t_keys, t_data)
    5291 if not t_data then t_data = self.groupRP end
    5292 
    5293 if not self.RPMonitor then self.RPMonitor = {} end
    5294 self.RPMonitor[node]={data = t_data, keys = t_keys}
    5295 
    5296 self:UpdateRPControl()
    5297 end
    5298 
    5299 -- 更新红点状态
    5300 function WorldScene:UpdateRPControl()
    5301 -- 更新军团建筑状态
    5302 local guildBtn = self.BaseBgButton:getChildByName("Button_11")
    5303 local isShow = self:getGroupRedPoint()
    5304 PublicMethod:showBanshouAnimation(guildBtn, isShow, cc.p(0.56, 1))
    5305 
    5306 if not self.RPMonitor then return end
    5307 for node, condition in pairs(self.RPMonitor) do
    5308 if tolua.isnull(node) then
    5309 self.RPMonitor[node] = nil
    5310 else
    5311 local rp = false
    5312 for _, key in pairs(condition.keys) do
    5313 if self.groupRP[key] > 0 and self:checkClientCondition(key) then
    5314 rp = true
    5315 break
    5316 end
    5317 end
    5318 
    5319 if rp then
    5320 PublicMethod:createRedPoint(node)
    5321 print("createRedPoint")
    5322 else
    5323 PublicMethod:removeRedPoint(node)
    5324 print("removeRedPoint")
    5325 end
    5326 end
    5327 end
    5328 end
    5329 
    5330 -- 主界面是否显示军团红点
    5331 function WorldScene:getGroupRedPoint()
    5332 if not self.groupRP then return false end
    5333 for k, v in pairs(self.groupRP) do
    5334 if v > 0 and self:checkClientCondition(k) then 
    5335 return true 
    5336 end
    5337 end
    5338 return false
    5339 end
    5340 
    5341 -- 设置红点状态
    5342 function WorldScene:setClientCondition(key, condition, value)
    5343 if self.RPOnce[key] then
    5344 if not self.RPOnce[key][condition] then
    5345 self.RPOnce[key][condition] = value
    5346 else
    5347 if value == false then
    5348 self.RPOnce[key][condition] = false
    5349 end
    5350 end
    5351 else
    5352 self.RPOnce[key] = {[condition]=value}
    5353 end
    5354 self:UpdateRPControl()
    5355 end
    5356 
    5357 -- 获取红点状态
    5358 function WorldScene:getClientCondition(key, condition)
    5359 if self.RPOnce[key] and self.RPOnce[key][condition] == false then
    5360 return false
    5361 else
    5362 return true
    5363 end
    5364 end
    5365 
    5366 -- 检查客户端红点条件
    5367 function WorldScene:checkClientCondition(key)
    5368 if self.RPOnce[key] then
    5369 for k, v in pairs(self.RPOnce[key]) do
    5370 if v then
    5371 return true
    5372 end
    5373 end
    5374 
    5375 return false
    5376 else
    5377 return true
    5378 end
    5379 end
    5380 
    5381 
    5382 -- 获取空闲资源建造位
    5383 function WorldScene:GetEmptyResPos(isOre)
    5384 local pd = PlayerData:getInstanse()
    5385 local node = nil
    5386 for k, v in pairs(pd.outSideBuild) do
    5387 local btnKey = gBlock[v.blockId].position
    5388 local btn = self.OutSideGbButton:getChildByName(btnKey)
    5389 
    5390 if v.templateId == 0 then
    5391 if not node or node:getPositionX() > btn:getPositionX() then
    5392 local t = StringTemp:Split(v.canBuild, ",")
    5393 -- 合金位
    5394 if isOre and #t == 1 then
    5395 node = btn
    5396 -- 普通位
    5397 elseif not isOre and #t > 1 then
    5398 node = btn
    5399 end
    5400 end
    5401 end
    5402 end
    5403 return node
    5404 end
    5405 
    5406 return WorldScene
  • 相关阅读:
    StringRedisTemplate和RedisTemplate的区别及使用方法
    https jwt.io 测试
    java.sql.SQLException Parameter index out of range (0 1 ).
    yml 错误: 层级、缩进不对引起的问题
    xml文件中存在自定义控件导致无法预览的解决方法
    凸优化从入门到放弃(目录)
    PyTorch从入门到放弃(目录)
    小样本学习以及元学习基础学习路线
    08-ADMM算法
    07-内点法(不等式约束优化算法)
  • 原文地址:https://www.cnblogs.com/yuer-living/p/7448045.html
Copyright © 2020-2023  润新知