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

   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
原文地址:https://www.cnblogs.com/yuer-living/p/7448045.html