From 52d6a0ca8f686191e0954f559922d80701bfe175 Mon Sep 17 00:00:00 2001 From: Vick Scarlet Date: Wed, 24 Nov 2021 23:10:04 +0800 Subject: [PATCH] daily update --- laya/pages/view/DefaultTheme/Main.ui | 12 +- laya/pages/view/DefaultTheme/Talent.ui | 895 +----------------- src/app.js | 14 +- src/functions/util.js | 7 +- src/ui/layaUI.max.all.js | 6 +- src/ui/runtime.js | 28 +- src/ui/themes/cyber/achievement.js | 4 +- src/ui/themes/cyber/main.js | 12 + src/ui/themes/cyber/popup/achievementPopup.js | 2 +- src/ui/themes/cyber/summary.js | 14 +- src/ui/themes/default/achievement.js | 4 +- src/ui/themes/default/main.js | 6 + .../themes/default/popup/achievementPopup.js | 2 +- src/ui/themes/default/talent.js | 59 +- src/ui/themes/default/trajectory.js | 4 +- src/ui/themes/views.js | 122 ++- src/ui/uiManager.js | 24 +- 17 files changed, 251 insertions(+), 964 deletions(-) diff --git a/laya/pages/view/DefaultTheme/Main.ui b/laya/pages/view/DefaultTheme/Main.ui index 207f637..6f613c6 100644 --- a/laya/pages/view/DefaultTheme/Main.ui +++ b/laya/pages/view/DefaultTheme/Main.ui @@ -1,8 +1,8 @@ { "x":0, "type":"View", - "selectedBox":1, - "selecteID":87, + "selectedBox":85, + "selecteID":86, "props":{"y":1218,"x":562,"width":1125,"sceneColor":"#000000","runtime":"ViewBase","height":2436,"anchorY":0.5,"anchorX":0.5}, "nodeParent":-1, "label":"View", @@ -53,7 +53,7 @@ { "x":30, "type":"Label", - "props":{"text":"UI_Remake","name":"label","fontSize":70,"font":"SimHei","centerY":0,"centerX":0}, + "props":{"text":"UI_Remake","name":"label","fontSize":70,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0}, "nodeParent":85, "label":"Label(label)", "isDirectory":false, @@ -148,13 +148,14 @@ "props":{"y":-175,"x":100,"width":160,"var":"btnGithub","runtime":"ScaleButton","name":"btnGithub","height":160,"anchorY":0.5,"anchorX":0.5}, "nodeParent":87, "label":"Box(btnGithub)", - "isOpen":false, + "isOpen":true, "isDirectory":true, "isAniNode":true, "hasChild":true, "compId":82, "child":[ { + "x":45, "type":"Image", "props":{"top":0,"skin":"images/icons/icon_github.png","right":0,"left":0,"bottom":0,"anchorY":0.5,"anchorX":0.5}, "nodeParent":82, @@ -173,13 +174,14 @@ "props":{"y":-355,"x":100,"width":160,"var":"btnDiscord","runtime":"ScaleButton","name":"btnDiscord","height":160,"anchorY":0.5,"anchorX":0.5}, "nodeParent":87, "label":"Box(btnDiscord)", - "isOpen":false, + "isOpen":true, "isDirectory":true, "isAniNode":true, "hasChild":true, "compId":83, "child":[ { + "x":45, "type":"Image", "props":{"top":0,"skin":"images/icons/icon_discord.png","right":0,"left":0,"bottom":0,"anchorY":0.5,"anchorX":0.5}, "nodeParent":83, diff --git a/laya/pages/view/DefaultTheme/Talent.ui b/laya/pages/view/DefaultTheme/Talent.ui index 4961965..c493276 100644 --- a/laya/pages/view/DefaultTheme/Talent.ui +++ b/laya/pages/view/DefaultTheme/Talent.ui @@ -1,9 +1,9 @@ { "x":0, "type":"View", - "selectedBox":21, - "selecteID":22, - "props":{"width":1125,"sceneColor":"#000000","sceneBg":"laya/views/view/CyberTheme/CyberTalent.png","runtime":"ViewBase","height":2436}, + "selectedBox":1, + "selecteID":17, + "props":{"width":1125,"sceneColor":"#000000","runtime":"ViewBase","height":2436}, "nodeParent":-1, "label":"View", "isOpen":true, @@ -12,357 +12,56 @@ "hasChild":true, "compId":1, "child":[ + { + "x":15, + "type":"Label", + "props":{"y":130,"text":"UI_Title_Talent","name":"title","fontSize":80,"font":"SimHei","color":"#ffffff","centerX":0}, + "nodeParent":1, + "label":"Label(title)", + "isDirectory":false, + "isAniNode":true, + "hasChild":false, + "compId":17, + "child":[ + ] + }, { "x":15, "type":"Box", "props":{"var":"pageDrawCard","top":0,"right":0,"name":"pageDrawCard","left":0,"bottom":0}, "nodeParent":1, "label":"Box(pageDrawCard)", - "isOpen":false, + "isOpen":true, "isDirectory":true, "isAniNode":true, "hasChild":true, "compId":19, "child":[ { + "x":30, "type":"Box", - "props":{"y":1117,"x":562,"width":2,"height":2,"centerY":-100,"centerX":0}, + "props":{"width":600,"var":"btnDrawCard","runtime":"ColorfulBox","name":"btnDrawCard","height":150,"centerY":0,"centerX":0}, "nodeParent":19, - "label":"Box", - "isOpen":false, - "isDirectory":true, - "isAniNode":true, - "hasChild":true, - "compId":4, - "child":[ - { - "type":"Animation", - "props":{"y":1,"x":1,"width":100,"source":"view/CyberTheme/animation/lightRotation.ani","height":100,"autoPlay":true}, - "nodeParent":4, - "label":"Animation", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":3, - "child":[ - ] - }, - { - "type":"Image", - "props":{"y":585,"skin":"images/border/card@3x.png","scaleY":0.9,"scaleX":0.9,"rotation":15,"centerY":-50,"centerX":0,"anchorY":1.2,"anchorX":0.5,"alpha":0.8}, - "nodeParent":4, - "label":"Image", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":10, - "child":[ - ], - "$HIDDEN":false - }, - { - "type":"Image", - "props":{"y":634,"skin":"images/border/card@3x.png","scaleY":0.9,"scaleX":0.9,"rotation":-15,"centerY":-50,"centerX":0,"anchorY":1.2,"anchorX":0.5,"alpha":0.8}, - "nodeParent":4, - "label":"Image", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":9, - "child":[ - ], - "$HIDDEN":false - }, - { - "type":"Image", - "props":{"y":634,"skin":"images/border/card@3x.png","centerY":-50,"centerX":0,"anchorY":1.2,"anchorX":0.5,"alpha":0.8}, - "nodeParent":4, - "label":"Image", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":8, - "child":[ - ], - "$HIDDEN":false - }, - { - "type":"Image", - "props":{"skin":"images/accessories/cardicon@3x.png","centerY":-30,"centerX":0,"anchorY":0.5,"anchorX":0.5}, - "nodeParent":4, - "label":"Image", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":11, - "child":[ - ] - }] - }, - { - "type":"Button", - "props":{"y":1930,"x":563,"width":657,"var":"btnDrawCard","skin":"images/button/button_main@3x.png","name":"btnDrawCard","labelSize":60,"label":"UI_Talent_Draw","height":192,"centerX":0}, - "nodeParent":19, - "label":"Button(btnDrawCard)", + "label":"Box(btnDrawCard)", "isOpen":true, "isDirectory":true, "isAniNode":true, "hasChild":true, - "compId":5, + "compId":110, "child":[ { - "type":"Box", - "props":{}, - "nodeParent":5, - "label":"Box", - "isOpen":false, - "isDirectory":true, + "x":45, + "type":"Label", + "props":{"text":"UI_Talent_Draw","name":"label","fontSize":70,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0}, + "nodeParent":110, + "label":"Label(label)", + "isDirectory":false, "isAniNode":true, - "hasChild":true, - "compId":56, + "hasChild":false, + "compId":111, "child":[ - { - "type":"Animation", - "props":{"y":93,"x":330,"width":0,"source":"view/CyberTheme/animation/circleFlash.ani","scaleX":5,"height":0,"blendMode":"lighter","autoPlay":true}, - "nodeParent":56, - "label":"Animation", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":58, - "child":[ - ] - }, - { - "type":"Box", - "props":{"renderType":"mask"}, - "nodeParent":56, - "label":"Box", - "isOpen":false, - "isDirectory":true, - "isAniNode":true, - "hasChild":true, - "compId":59, - "child":[ - { - "type":"Rect", - "props":{"y":37,"x":25,"width":7,"lineWidth":1,"height":116,"fillColor":"#ff0000"}, - "nodeParent":59, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":60, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":37,"x":625,"width":7,"lineWidth":1,"height":116,"fillColor":"#ff0000"}, - "nodeParent":59, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":61, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":21,"x":44,"width":569,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":59, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":62, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":150,"x":171,"width":316,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":59, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":63, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":163,"x":44,"width":121,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":59, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":64, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":163,"x":493,"width":120,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":59, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":65, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":148,"x":29,"width":25,"rotation":40,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":59, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":66, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":150,"x":487,"width":19,"rotation":55,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":59, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":67, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":166,"x":160,"width":19,"rotation":-55,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":59, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":68, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":21,"x":613,"width":25,"rotation":40,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":59, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":69, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":26,"x":48,"width":25,"rotation":140,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":59, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":70, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":153,"x":632,"width":25,"rotation":140,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":59, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":71, - "child":[ - ] - }] - }] - }, - { - "type":"Box", - "props":{}, - "nodeParent":5, - "label":"Box", - "isOpen":false, - "isDirectory":true, - "isAniNode":true, - "hasChild":true, - "compId":57, - "child":[ - { - "type":"Box", - "props":{"renderType":"mask"}, - "nodeParent":57, - "label":"Box", - "isOpen":true, - "isDirectory":true, - "isAniNode":true, - "hasChild":true, - "compId":72, - "child":[ - { - "type":"Poly", - "props":{"y":41,"x":35,"points":"0,0,8,-6,8,113,0,107","lineWidth":1,"lineColor":"#ff0000","fillColor":"#00ffff"}, - "nodeParent":72, - "label":"Poly", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":73, - "child":[ - ] - }, - { - "type":"Poly", - "props":{"y":41,"x":621,"points":"0,0,-8,-6,-8,113,0,107","lineWidth":1,"lineColor":"#ff0000","fillColor":"#00ffff"}, - "nodeParent":72, - "label":"Poly", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":74, - "child":[ - ] - }, - { - "type":"Poly", - "props":{"y":160,"x":177,"points":"0,0,305,0,311,10,-6,10","lineWidth":1,"lineColor":"#ff0000","fillColor":"#00ffff"}, - "nodeParent":72, - "label":"Poly", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":75, - "child":[ - ] - }] - }, - { - "type":"Animation", - "props":{"y":172,"x":330,"source":"view/CyberTheme/animation/bottomBreath.ani","scaleX":4,"blendMode":"lighter","autoPlay":true}, - "nodeParent":57, - "label":"Animation", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":76, - "child":[ - ] - }] - }], - "$HIDDEN":false + ] + }] }], "$LOCKED":true, "$HIDDEN":true @@ -382,18 +81,19 @@ { "x":30, "type":"List", - "props":{"width":1085,"var":"listTalents","vScrollBarSkin":" ","top":310,"name":"listTalents","centerX":0,"bottom":370}, + "props":{"width":1085,"var":"listTalents","vScrollBarSkin":" ","top":310,"spaceY":20,"repeatX":1,"name":"listTalents","centerX":0,"bottom":370}, "nodeParent":21, "label":"List(listTalents)", - "isOpen":false, + "isOpen":true, "isDirectory":true, "isAniNode":true, "hasChild":true, "compId":22, "child":[ { + "x":45, "type":"Box", - "props":{"width":537,"renderType":"render","height":352}, + "props":{"y":15,"runtime":"ColorfulBox","right":5,"renderType":"render","left":15,"height":80}, "nodeParent":22, "label":"Box", "isOpen":true, @@ -403,187 +103,15 @@ "compId":23, "child":[ { - "type":"Image", - "props":{"top":0,"skin":"images/border/talent_item@3x.png","right":0,"name":"unselected","left":0,"bottom":0}, - "nodeParent":23, - "label":"Image(unselected)", - "isDirectory":false, - "isAniNode":false, - "hasChild":false, - "compId":24, - "child":[ - ], - "$HIDDEN":false - }, - { - "type":"Image", - "props":{"top":0,"skin":"images/border/talent_item_selected@3x.png","right":0,"name":"selected","left":0,"bottom":3}, - "nodeParent":23, - "label":"Image(selected)", - "isDirectory":false, - "isAniNode":false, - "hasChild":false, - "compId":25, - "child":[ - ], - "$HIDDEN":false - }, - { - "type":"HBox", - "props":{"top":104,"space":15,"name":"hboxTitle","left":66,"height":58}, - "nodeParent":23, - "label":"HBox(hboxTitle)", - "isOpen":true, - "isDirectory":true, - "isAniNode":false, - "hasChild":true, - "compId":26, - "child":[ - { - "type":"Box", - "props":{"y":0,"x":0,"width":15,"name":"grades","height":58}, - "nodeParent":26, - "label":"Box(grades)", - "isOpen":true, - "isDirectory":true, - "isAniNode":false, - "hasChild":true, - "compId":108, - "child":[ - { - "type":"Box", - "props":{"width":15,"name":"grade1","height":58}, - "nodeParent":108, - "label":"Box(grade1)", - "isOpen":true, - "isDirectory":true, - "isAniNode":false, - "hasChild":true, - "compId":27, - "child":[ - { - "type":"Sprite", - "props":{}, - "nodeParent":27, - "label":"Sprite", - "isOpen":true, - "isDirectory":true, - "isAniNode":false, - "hasChild":true, - "compId":28, - "child":[ - { - "type":"Rect", - "props":{"width":15,"lineWidth":1,"height":58,"fillColor":"#55fffe"}, - "nodeParent":28, - "label":"Rect", - "isDirectory":false, - "isAniNode":false, - "hasChild":false, - "compId":29, - "child":[ - ] - }], - "$HIDDEN":false - }] - }, - { - "type":"Box", - "props":{"width":15,"name":"grade2","height":58}, - "nodeParent":108, - "label":"Box(grade2)", - "isOpen":true, - "isDirectory":true, - "isAniNode":false, - "hasChild":true, - "compId":105, - "child":[ - { - "type":"Sprite", - "props":{}, - "nodeParent":105, - "label":"Sprite", - "isOpen":true, - "isDirectory":true, - "isAniNode":false, - "hasChild":true, - "compId":106, - "child":[ - { - "type":"Rect", - "props":{"width":15,"lineWidth":1,"height":58,"fillColor":"#b17cff"}, - "nodeParent":106, - "label":"Rect", - "isDirectory":false, - "isAniNode":false, - "hasChild":false, - "compId":107, - "child":[ - ] - }], - "$HIDDEN":false - }] - }, - { - "type":"Box", - "props":{"width":15,"name":"grade3","height":58}, - "nodeParent":108, - "label":"Box(grade3)", - "isOpen":true, - "isDirectory":true, - "isAniNode":false, - "hasChild":true, - "compId":102, - "child":[ - { - "type":"Sprite", - "props":{}, - "nodeParent":102, - "label":"Sprite", - "isOpen":true, - "isDirectory":true, - "isAniNode":false, - "hasChild":true, - "compId":103, - "child":[ - { - "type":"Rect", - "props":{"width":15,"lineWidth":1,"height":58,"fillColor":"#ffce45"}, - "nodeParent":103, - "label":"Rect", - "isDirectory":false, - "isAniNode":false, - "hasChild":false, - "compId":104, - "child":[ - ] - }], - "$HIDDEN":false - }] - }] - }, - { - "type":"Label", - "props":{"x":1,"text":"Title","name":"labTitle","fontSize":58,"font":"方正像素12","color":"#ffffff"}, - "nodeParent":26, - "label":"Label(labTitle)", - "isDirectory":false, - "isAniNode":false, - "hasChild":false, - "compId":30, - "child":[ - ] - }] - }, - { + "x":60, "type":"Label", - "props":{"y":205,"wordWrap":true,"text":"description","right":66,"name":"labDescription","left":66,"leading":8,"fontSize":44,"font":"方正像素12","color":"#9dacaf"}, + "props":{"y":20,"text":"Title","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0}, "nodeParent":23, - "label":"Label(labDescription)", + "label":"Label(label)", "isDirectory":false, "isAniNode":false, "hasChild":false, - "compId":32, + "compId":30, "child":[ ] }] @@ -594,356 +122,25 @@ { "x":30, "type":"Box", - "props":{"right":0,"left":0,"height":1,"bottom":0}, + "props":{"x":263,"width":1085,"var":"btnNext","runtime":"ColorfulBox","name":"btnNext","height":150,"centerX":0,"bottom":30}, "nodeParent":21, - "label":"Box", + "label":"Box(btnNext)", "isOpen":true, "isDirectory":true, "isAniNode":true, "hasChild":true, - "compId":109, + "compId":114, "child":[ { "x":45, - "type":"Button", - "props":{"width":1040,"var":"btnNext","skin":"images/button/button_main@3x.png","name":"btnNext","labelSize":60,"label":"UI_Next","height":192,"centerY":-180,"centerX":0}, - "nodeParent":109, - "label":"Button(btnNext)", - "isOpen":false, - "isDirectory":true, - "isAniNode":true, - "hasChild":true, - "compId":33, - "child":[ - { - "type":"Box", - "props":{}, - "nodeParent":33, - "label":"Box", - "isOpen":false, - "isDirectory":true, - "isAniNode":true, - "hasChild":true, - "compId":78, - "child":[ - { - "type":"Animation", - "props":{"y":96,"x":520,"width":0,"source":"view/CyberTheme/animation/circleFlash.ani","scaleX":7,"height":0,"blendMode":"lighter","autoPlay":true}, - "nodeParent":78, - "label":"Animation", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":80, - "child":[ - ] - }, - { - "type":"Box", - "props":{"renderType":"mask"}, - "nodeParent":78, - "label":"Box", - "isOpen":false, - "isDirectory":true, - "isAniNode":true, - "hasChild":true, - "compId":81, - "child":[ - { - "type":"Rect", - "props":{"y":37,"x":25,"width":7,"lineWidth":1,"height":116,"fillColor":"#ff0000"}, - "nodeParent":81, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":82, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":37,"x":1010,"width":7,"lineWidth":1,"height":116,"fillColor":"#ff0000"}, - "nodeParent":81, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":83, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":21,"x":44,"width":954,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":81, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":84, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":150,"x":171,"width":700,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":81, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":85, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":163,"x":44,"width":121,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":81, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":86, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":163,"x":877,"width":121,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":81, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":87, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":148,"x":29,"width":25,"rotation":40,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":81, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":88, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":150,"x":871,"width":19,"rotation":55,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":81, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":89, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":166,"x":160,"width":19,"rotation":-55,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":81, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":90, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":21,"x":998,"width":25,"rotation":40,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":81, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":91, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":26,"x":48,"width":25,"rotation":140,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":81, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":92, - "child":[ - ] - }, - { - "type":"Rect", - "props":{"y":153,"x":1017,"width":25,"rotation":140,"lineWidth":1,"height":6,"fillColor":"#ff0000"}, - "nodeParent":81, - "label":"Rect", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":93, - "child":[ - ] - }] - }] - }, - { - "type":"Box", - "props":{}, - "nodeParent":33, - "label":"Box", - "isOpen":false, - "isDirectory":true, - "isAniNode":true, - "hasChild":true, - "compId":79, - "child":[ - { - "type":"Box", - "props":{"renderType":"mask"}, - "nodeParent":79, - "label":"Box", - "isOpen":true, - "isDirectory":true, - "isAniNode":true, - "hasChild":true, - "compId":94, - "child":[ - { - "type":"Poly", - "props":{"y":41,"x":35,"points":"0,0,8,-6,8,113,0,107","lineWidth":1,"lineColor":"#ff0000","fillColor":"#00ffff"}, - "nodeParent":94, - "label":"Poly", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":95, - "child":[ - ] - }, - { - "type":"Poly", - "props":{"y":41,"x":1004,"points":"0,0,-8,-6,-8,113,0,107","lineWidth":1,"lineColor":"#ff0000","fillColor":"#00ffff"}, - "nodeParent":94, - "label":"Poly", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":96, - "child":[ - ] - }, - { - "type":"Poly", - "props":{"y":160,"x":177,"points":"0,0,687,0,693,10,-6,10","lineWidth":1,"lineColor":"#ff0000","fillColor":"#00ffff"}, - "nodeParent":94, - "label":"Poly", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":97, - "child":[ - ], - "$HIDDEN":false - }] - }, - { - "type":"Animation", - "props":{"y":172,"x":520,"source":"view/CyberTheme/animation/bottomBreath.ani","scaleX":6,"blendMode":"lighter","autoPlay":true}, - "nodeParent":79, - "label":"Animation", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":98, - "child":[ - ] - }] - }] - }] - }], - "$LOCKED":true, - "$HIDDEN":true - }, - { - "x":15, - "type":"Box", - "props":{"top":40,"right":0,"name":"title","left":0}, - "nodeParent":1, - "label":"Box(title)", - "isOpen":true, - "isDirectory":true, - "isAniNode":true, - "hasChild":true, - "compId":20, - "child":[ - { - "x":30, - "type":"Image", - "props":{"skin":"images/accessories/titlebar@3x.png","right":0,"left":0}, - "nodeParent":20, - "label":"Image", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":12, - "child":[ - ], - "$HIDDEN":false - }, - { - "x":30, - "type":"HBox", - "props":{"y":160,"x":563,"space":30,"height":70,"centerX":0,"anchorY":0.5,"anchorX":0.5}, - "nodeParent":20, - "label":"HBox", - "isOpen":false, - "isDirectory":true, - "isAniNode":true, - "hasChild":true, - "compId":13, - "child":[ - { - "type":"Image", - "props":{"y":10,"x":1,"skin":"images/accessories/title_left@3x.png","name":"left"}, - "nodeParent":13, - "label":"Image(left)", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":14, - "child":[ - ] - }, - { "type":"Label", - "props":{"y":0,"x":2,"text":"UI_Title_Talent","fontSize":60,"font":"方正像素12","color":"#ffffff"}, - "nodeParent":13, - "label":"Label", + "props":{"text":"UI_Next","name":"label","fontSize":70,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0}, + "nodeParent":114, + "label":"Label(label)", "isDirectory":false, "isAniNode":true, "hasChild":false, - "compId":17, - "child":[ - ] - }, - { - "type":"Image", - "props":{"y":10,"x":3,"skin":"images/accessories/title_right@3x.png","name":"right"}, - "nodeParent":13, - "label":"Image(right)", - "isDirectory":false, - "isAniNode":true, - "hasChild":false, - "compId":15, + "compId":115, "child":[ ] }] diff --git a/src/app.js b/src/app.js index d7e59ab..adb211e 100644 --- a/src/app.js +++ b/src/app.js @@ -1,9 +1,11 @@ import UIManager from './ui/uiManager.js'; +import * as utils from './functions/util.js'; globalThis.UIManager = globalThis.UI = UIManager; +globalThis.$_ = utils; class App{ constructor(){ this.name = 'lifeRestart'; @@ -87,17 +89,7 @@ class App{ await $ui.setLoading(UI.pages.LOADING); await $ui.switchView(UI.pages.LOADING); await core.initial(dataSet=>Laya.promises.loader.load(`data/${this.#language}/${dataSet}.json`, null, Laya.Loader.JSON)); - await $ui.switchView(UI.pages.MAIN, null, { - load: [ - "fonts/方正像素12.ttf", - "images/atlas/images/accessories.atlas", - "images/atlas/images/border.atlas", - "images/atlas/images/button.atlas", - "images/atlas/images/icons.atlas", - "images/atlas/images/progress.atlas", - "images/atlas/images/slider.atlas", - ] - }); + await $ui.switchView(UI.pages.MAIN); } } diff --git a/src/functions/util.js b/src/functions/util.js index c8dc38a..3e874ed 100644 --- a/src/functions/util.js +++ b/src/functions/util.js @@ -62,4 +62,9 @@ function getConvertedMap(map, fn) { return newMap; } -export { clone, max, min, sum, average, weightRandom, listRandom, getListValuesMap, mapConvert, getConvertedMap }; \ No newline at end of file +function mapSet(target, source) { + for(const key in source) + target[key] = source[key]; +} + +export { clone, max, min, sum, average, weightRandom, listRandom, getListValuesMap, mapConvert, getConvertedMap, mapSet }; \ No newline at end of file diff --git a/src/ui/layaUI.max.all.js b/src/ui/layaUI.max.all.js index 4f22786..b4fc2f4 100644 --- a/src/ui/layaUI.max.all.js +++ b/src/ui/layaUI.max.all.js @@ -351,7 +351,7 @@ var MainUI=(function(_super){ } - MainUI.uiView={"type":"View","props":{"y":1218,"x":562,"width":1125,"runtime":"ViewBase","height":2436,"anchorY":0.5,"anchorX":0.5},"child":[{"type":"Label","props":{"var":"labTitle","text":"UI_Title_Remake","name":"labTitle","fontSize":130,"font":"SimHei","color":"#ffffff","centerY":-260,"centerX":0,"bold":true,"anchorY":0.5,"anchorX":0.5}},{"type":"Label","props":{"wordWrap":true,"var":"labSubTitle","text":"UI_Title_Subsequent","right":0,"name":"labSubTitle","left":0,"fontSize":70,"font":"SimHei","color":"#999999","centerY":-120,"anchorY":0.5,"anchorX":0.5,"align":"center"}},{"type":"Box","props":{"width":600,"var":"btnRemake","runtime":"ColorfulBox","name":"btnRemake","height":150,"centerY":600,"centerX":0},"child":[{"type":"Label","props":{"text":"UI_Remake","name":"label","fontSize":70,"font":"SimHei","centerY":0,"centerX":0}}]},{"type":"Box","props":{"y":200,"x":200,"width":225,"var":"btnThanks","runtime":"ColorfulBox","name":"btnSmall","height":90,"anchorY":0.5,"anchorX":0.5},"child":[{"type":"Label","props":{"text":"UI_Thanks","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5}}]},{"type":"Box","props":{"y":0,"x":1100,"width":1,"top":0,"runtime":"ColorfulBox","right":0,"height":1},"child":[{"type":"Box","props":{"y":200,"x":-200,"width":225,"var":"btnAchievement","runtime":"ColorfulBox","name":"btnSmall","height":90,"anchorY":0.5,"anchorX":0.5},"child":[{"type":"Label","props":{"text":"UI_Achievement","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5}}]}]},{"type":"Box","props":{"width":1,"left":0,"height":1,"bottom":0},"child":[{"type":"Box","props":{"y":-175,"x":100,"width":160,"var":"btnGithub","runtime":"ScaleButton","name":"btnGithub","height":160,"anchorY":0.5,"anchorX":0.5},"child":[{"type":"Image","props":{"top":0,"skin":"images/icons/icon_github.png","right":0,"left":0,"bottom":0,"anchorY":0.5,"anchorX":0.5}}]},{"type":"Box","props":{"y":-355,"x":100,"width":160,"var":"btnDiscord","runtime":"ScaleButton","name":"btnDiscord","height":160,"anchorY":0.5,"anchorX":0.5},"child":[{"type":"Image","props":{"top":0,"skin":"images/icons/icon_discord.png","right":0,"left":0,"bottom":0,"anchorY":0.5,"anchorX":0.5}}]}]}]}; + MainUI.uiView={"type":"View","props":{"y":1218,"x":562,"width":1125,"runtime":"ViewBase","height":2436,"anchorY":0.5,"anchorX":0.5},"child":[{"type":"Label","props":{"var":"labTitle","text":"UI_Title_Remake","name":"labTitle","fontSize":130,"font":"SimHei","color":"#ffffff","centerY":-260,"centerX":0,"bold":true,"anchorY":0.5,"anchorX":0.5}},{"type":"Label","props":{"wordWrap":true,"var":"labSubTitle","text":"UI_Title_Subsequent","right":0,"name":"labSubTitle","left":0,"fontSize":70,"font":"SimHei","color":"#999999","centerY":-120,"anchorY":0.5,"anchorX":0.5,"align":"center"}},{"type":"Box","props":{"width":600,"var":"btnRemake","runtime":"ColorfulBox","name":"btnRemake","height":150,"centerY":600,"centerX":0},"child":[{"type":"Label","props":{"text":"UI_Remake","name":"label","fontSize":70,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0}}]},{"type":"Box","props":{"y":200,"x":200,"width":225,"var":"btnThanks","runtime":"ColorfulBox","name":"btnSmall","height":90,"anchorY":0.5,"anchorX":0.5},"child":[{"type":"Label","props":{"text":"UI_Thanks","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5}}]},{"type":"Box","props":{"y":0,"x":1100,"width":1,"top":0,"runtime":"ColorfulBox","right":0,"height":1},"child":[{"type":"Box","props":{"y":200,"x":-200,"width":225,"var":"btnAchievement","runtime":"ColorfulBox","name":"btnSmall","height":90,"anchorY":0.5,"anchorX":0.5},"child":[{"type":"Label","props":{"text":"UI_Achievement","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0,"anchorY":0.5,"anchorX":0.5}}]}]},{"type":"Box","props":{"width":1,"left":0,"height":1,"bottom":0},"child":[{"type":"Box","props":{"y":-175,"x":100,"width":160,"var":"btnGithub","runtime":"ScaleButton","name":"btnGithub","height":160,"anchorY":0.5,"anchorX":0.5},"child":[{"type":"Image","props":{"top":0,"skin":"images/icons/icon_github.png","right":0,"left":0,"bottom":0,"anchorY":0.5,"anchorX":0.5}}]},{"type":"Box","props":{"y":-355,"x":100,"width":160,"var":"btnDiscord","runtime":"ScaleButton","name":"btnDiscord","height":160,"anchorY":0.5,"anchorX":0.5},"child":[{"type":"Image","props":{"top":0,"skin":"images/icons/icon_discord.png","right":0,"left":0,"bottom":0,"anchorY":0.5,"anchorX":0.5}}]}]}]}; return MainUI; })(View); var PropertyUI=(function(_super){ @@ -464,14 +464,14 @@ var TalentUI=(function(_super){ var __proto__=TalentUI.prototype; __proto__.createChildren=function(){ View.regComponent("ViewBase",ViewBase); - View.regComponent("ScaleButton",ScaleButton); + View.regComponent("ColorfulBox",ColorfulBox); laya.ui.Component.prototype.createChildren.call(this); this.createView(TalentUI.uiView); } - TalentUI.uiView={"type":"View","props":{"width":1125,"runtime":"ViewBase","height":2436},"child":[{"type":"Box","props":{"var":"pageDrawCard","top":0,"right":0,"name":"pageDrawCard","left":0,"bottom":0},"child":[{"type":"Box","props":{"y":1117,"x":562,"width":2,"height":2,"centerY":-100,"centerX":0},"child":[{"type":"Animation","props":{"y":1,"x":1,"width":100,"source":"view/CyberTheme/animation/lightRotation.ani","height":100,"autoPlay":true}},{"type":"Image","props":{"y":585,"skin":"images/border/card@3x.png","scaleY":0.9,"scaleX":0.9,"rotation":15,"centerY":-50,"centerX":0,"anchorY":1.2,"anchorX":0.5,"alpha":0.8}},{"type":"Image","props":{"y":634,"skin":"images/border/card@3x.png","scaleY":0.9,"scaleX":0.9,"rotation":-15,"centerY":-50,"centerX":0,"anchorY":1.2,"anchorX":0.5,"alpha":0.8}},{"type":"Image","props":{"y":634,"skin":"images/border/card@3x.png","centerY":-50,"centerX":0,"anchorY":1.2,"anchorX":0.5,"alpha":0.8}},{"type":"Image","props":{"skin":"images/accessories/cardicon@3x.png","centerY":-30,"centerX":0,"anchorY":0.5,"anchorX":0.5}}]},{"type":"Button","props":{"y":1930,"x":563,"width":657,"var":"btnDrawCard","skin":"images/button/button_main@3x.png","name":"btnDrawCard","labelSize":60,"label":"UI_Talent_Draw","height":192,"centerX":0,"stateNum":1,"anchorX":0.5,"anchorY":0.5,"sizeGrid":"45,200,45,200","labelFont":"方正像素12","labelColors":"#00fffc,#00fffc,#00fffc","runtime":"ScaleButton"},"child":[{"type":"Box","props":{},"child":[{"type":"Animation","props":{"y":93,"x":330,"width":0,"source":"view/CyberTheme/animation/circleFlash.ani","scaleX":5,"height":0,"blendMode":"lighter","autoPlay":true}},{"type":"Box","props":{"renderType":"mask"},"child":[{"type":"Rect","props":{"y":37,"x":25,"width":7,"lineWidth":1,"height":116,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":37,"x":625,"width":7,"lineWidth":1,"height":116,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":21,"x":44,"width":569,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":150,"x":171,"width":316,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":163,"x":44,"width":121,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":163,"x":493,"width":120,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":148,"x":29,"width":25,"rotation":40,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":150,"x":487,"width":19,"rotation":55,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":166,"x":160,"width":19,"rotation":-55,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":21,"x":613,"width":25,"rotation":40,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":26,"x":48,"width":25,"rotation":140,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":153,"x":632,"width":25,"rotation":140,"lineWidth":1,"height":6,"fillColor":"#ff0000"}}]}]},{"type":"Box","props":{},"child":[{"type":"Box","props":{"renderType":"mask"},"child":[{"type":"Poly","props":{"y":41,"x":35,"points":"0,0,8,-6,8,113,0,107","lineWidth":1,"lineColor":"#ff0000","fillColor":"#00ffff"}},{"type":"Poly","props":{"y":41,"x":621,"points":"0,0,-8,-6,-8,113,0,107","lineWidth":1,"lineColor":"#ff0000","fillColor":"#00ffff"}},{"type":"Poly","props":{"y":160,"x":177,"points":"0,0,305,0,311,10,-6,10","lineWidth":1,"lineColor":"#ff0000","fillColor":"#00ffff"}}]},{"type":"Animation","props":{"y":172,"x":330,"source":"view/CyberTheme/animation/bottomBreath.ani","scaleX":4,"blendMode":"lighter","autoPlay":true}}]}]}]},{"type":"Box","props":{"y":0,"x":0,"var":"pageResult","top":0,"right":0,"name":"pageResult","left":0,"bottom":0},"child":[{"type":"List","props":{"width":1085,"var":"listTalents","vScrollBarSkin":" ","top":310,"name":"listTalents","centerX":0,"bottom":370},"child":[{"type":"Box","props":{"width":537,"renderType":"render","height":352},"child":[{"type":"Image","props":{"top":0,"skin":"images/border/talent_item@3x.png","right":0,"name":"unselected","left":0,"bottom":0}},{"type":"Image","props":{"top":0,"skin":"images/border/talent_item_selected@3x.png","right":0,"name":"selected","left":0,"bottom":3,"sizeGrid":"106,150,74,150"}},{"type":"HBox","props":{"top":104,"space":15,"name":"hboxTitle","left":66,"height":58},"child":[{"type":"Box","props":{"y":0,"x":0,"width":15,"name":"grades","height":58},"child":[{"type":"Box","props":{"width":15,"name":"grade1","height":58},"child":[{"type":"Sprite","props":{},"child":[{"type":"Rect","props":{"width":15,"lineWidth":1,"height":58,"fillColor":"#55fffe"}}]}]},{"type":"Box","props":{"width":15,"name":"grade2","height":58},"child":[{"type":"Sprite","props":{},"child":[{"type":"Rect","props":{"width":15,"lineWidth":1,"height":58,"fillColor":"#b17cff"}}]}]},{"type":"Box","props":{"width":15,"name":"grade3","height":58},"child":[{"type":"Sprite","props":{},"child":[{"type":"Rect","props":{"width":15,"lineWidth":1,"height":58,"fillColor":"#ffce45"}}]}]}]},{"type":"Label","props":{"x":1,"text":"Title","name":"labTitle","fontSize":58,"font":"方正像素12","color":"#ffffff"}}]},{"type":"Label","props":{"y":205,"wordWrap":true,"text":"description","right":66,"name":"labDescription","left":66,"leading":8,"fontSize":44,"font":"方正像素12","color":"#9dacaf"}}]}]},{"type":"Box","props":{"right":0,"left":0,"height":1,"bottom":0},"child":[{"type":"Button","props":{"width":1040,"var":"btnNext","skin":"images/button/button_main@3x.png","name":"btnNext","labelSize":60,"label":"UI_Next","height":192,"centerY":-180,"centerX":0,"stateNum":1,"anchorX":0.5,"anchorY":0.5,"sizeGrid":"45,200,45,200","labelFont":"方正像素12","labelColors":"#00fffc,#00fffc,#00fffc","runtime":"ScaleButton"},"child":[{"type":"Box","props":{},"child":[{"type":"Animation","props":{"y":96,"x":520,"width":0,"source":"view/CyberTheme/animation/circleFlash.ani","scaleX":7,"height":0,"blendMode":"lighter","autoPlay":true}},{"type":"Box","props":{"renderType":"mask"},"child":[{"type":"Rect","props":{"y":37,"x":25,"width":7,"lineWidth":1,"height":116,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":37,"x":1010,"width":7,"lineWidth":1,"height":116,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":21,"x":44,"width":954,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":150,"x":171,"width":700,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":163,"x":44,"width":121,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":163,"x":877,"width":121,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":148,"x":29,"width":25,"rotation":40,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":150,"x":871,"width":19,"rotation":55,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":166,"x":160,"width":19,"rotation":-55,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":21,"x":998,"width":25,"rotation":40,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":26,"x":48,"width":25,"rotation":140,"lineWidth":1,"height":6,"fillColor":"#ff0000"}},{"type":"Rect","props":{"y":153,"x":1017,"width":25,"rotation":140,"lineWidth":1,"height":6,"fillColor":"#ff0000"}}]}]},{"type":"Box","props":{},"child":[{"type":"Box","props":{"renderType":"mask"},"child":[{"type":"Poly","props":{"y":41,"x":35,"points":"0,0,8,-6,8,113,0,107","lineWidth":1,"lineColor":"#ff0000","fillColor":"#00ffff"}},{"type":"Poly","props":{"y":41,"x":1004,"points":"0,0,-8,-6,-8,113,0,107","lineWidth":1,"lineColor":"#ff0000","fillColor":"#00ffff"}},{"type":"Poly","props":{"y":160,"x":177,"points":"0,0,687,0,693,10,-6,10","lineWidth":1,"lineColor":"#ff0000","fillColor":"#00ffff"}}]},{"type":"Animation","props":{"y":172,"x":520,"source":"view/CyberTheme/animation/bottomBreath.ani","scaleX":6,"blendMode":"lighter","autoPlay":true}}]}]}]}]},{"type":"Box","props":{"top":40,"right":0,"name":"title","left":0},"child":[{"type":"Image","props":{"skin":"images/accessories/titlebar@3x.png","right":0,"left":0,"sizeGrid":"0,348,116,348"}},{"type":"HBox","props":{"y":160,"x":563,"space":30,"height":70,"centerX":0,"anchorY":0.5,"anchorX":0.5},"child":[{"type":"Image","props":{"y":10,"x":1,"skin":"images/accessories/title_left@3x.png","name":"left"}},{"type":"Label","props":{"y":0,"x":2,"text":"UI_Title_Talent","fontSize":60,"font":"方正像素12","color":"#ffffff"}},{"type":"Image","props":{"y":10,"x":3,"skin":"images/accessories/title_right@3x.png","name":"right"}}]}]}]}; + TalentUI.uiView={"type":"View","props":{"width":1125,"runtime":"ViewBase","height":2436},"child":[{"type":"Label","props":{"y":130,"text":"UI_Title_Talent","name":"title","fontSize":80,"font":"SimHei","color":"#ffffff","centerX":0}},{"type":"Box","props":{"var":"pageDrawCard","top":0,"right":0,"name":"pageDrawCard","left":0,"bottom":0},"child":[{"type":"Box","props":{"width":600,"var":"btnDrawCard","runtime":"ColorfulBox","name":"btnDrawCard","height":150,"centerY":0,"centerX":0},"child":[{"type":"Label","props":{"text":"UI_Talent_Draw","name":"label","fontSize":70,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0}}]}]},{"type":"Box","props":{"y":0,"x":0,"var":"pageResult","top":0,"right":0,"name":"pageResult","left":0,"bottom":0},"child":[{"type":"List","props":{"width":1085,"var":"listTalents","vScrollBarSkin":" ","top":310,"spaceY":20,"repeatX":1,"name":"listTalents","centerX":0,"bottom":370},"child":[{"type":"Box","props":{"y":15,"runtime":"ColorfulBox","right":5,"renderType":"render","left":15,"height":80},"child":[{"type":"Label","props":{"y":20,"text":"Title","name":"label","fontSize":50,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0}}]}]},{"type":"Box","props":{"x":263,"width":1085,"var":"btnNext","runtime":"ColorfulBox","name":"btnNext","height":150,"centerX":0,"bottom":30},"child":[{"type":"Label","props":{"text":"UI_Next","name":"label","fontSize":70,"font":"SimHei","color":"#ffffff","centerY":0,"centerX":0}}]}]}]}; return TalentUI; })(View); var ThanksUI=(function(_super){ diff --git a/src/ui/runtime.js b/src/ui/runtime.js index 634a811..0a6b62b 100644 --- a/src/ui/runtime.js +++ b/src/ui/runtime.js @@ -264,9 +264,9 @@ class ColorfulBox extends Laya.Box { constructor() { super(); this.on(Laya.Event.MOUSE_OVER, this, this.onMouse, [Laya.Event.MOUSE_DOWN]); - this.on(Laya.Event.MOUSE_DOWN, this, this.onMouse, [Laya.Event.MOUSE_DOWN]); + // this.on(Laya.Event.MOUSE_DOWN, this, this.onMouse, [Laya.Event.MOUSE_DOWN]); this.on(Laya.Event.MOUSE_OUT, this, this.onMouse, [Laya.Event.MOUSE_OUT]); - this.on(Laya.Event.MOUSE_UP, this, this.onMouse, [Laya.Event.MOUSE_UP]); + // this.on(Laya.Event.MOUSE_UP, this, this.onMouse, [Laya.Event.MOUSE_UP]); this.#draw(); } @@ -278,7 +278,7 @@ class ColorfulBox extends Laya.Box { #hoverLabel = '#000000'; #color = new RGBAItem({hex: this.#defaultColor, on: ()=>this.#draw()}); #stroke = new RGBAItem({hex: this.#defaultStroke, on: ()=>this.#draw()}); - #label = new RGBAItem({hex: this.#defaultLabel, on: (hex)=>{ + #label = new RGBAItem({hex: this.#defaultLabel, on: ({hex})=>{ const label = this.getChildByName('label'); if (!label) return; label.color = hex; @@ -292,6 +292,11 @@ class ColorfulBox extends Laya.Box { const label = this.getChildByName('label'); const tween = (colorItem, target, last) => { Laya.Tween.clearAll(colorItem); + const distance = colorItem.distance(target, last); + if(!isFinite(distance)) { + colorItem.hex = target; + return; + } Laya.Tween.to(colorItem, colorItem.cRgb(target), colorItem.distance(target, last) * this.#animationTime); } switch (type) { @@ -378,6 +383,9 @@ class ColorfulBox extends Laya.Box { } set defaultColor(value) { this.#defaultColor = value; + Laya.Tween.clearAll(this.#color); + Laya.Tween.clearAll(this.#stroke); + Laya.Tween.clearAll(this.#label); this.#color.hex = value; } @@ -393,6 +401,9 @@ class ColorfulBox extends Laya.Box { } set defaultStroke(value) { this.#defaultStroke = value; + Laya.Tween.clearAll(this.#color); + Laya.Tween.clearAll(this.#stroke); + Laya.Tween.clearAll(this.#label); this.#stroke.hex = value; } @@ -410,6 +421,9 @@ class ColorfulBox extends Laya.Box { this.#defaultLabel = value; const label = this.getChildByName('label'); if (!label) return; + Laya.Tween.clearAll(this.#color); + Laya.Tween.clearAll(this.#stroke); + Laya.Tween.clearAll(this.#label); label.color = value; } @@ -442,5 +456,13 @@ class ColorfulBox extends Laya.Box { this.#lineWidth = value; this.#draw(); } + get label() { + return this.getChildByName('label')?.text; + } + set label(value) { + const label = this.getChildByName('label'); + if (!label) return; + label.text = value; + } } \ No newline at end of file diff --git a/src/ui/themes/cyber/achievement.js b/src/ui/themes/cyber/achievement.js index 861ac7c..6353561 100644 --- a/src/ui/themes/cyber/achievement.js +++ b/src/ui/themes/cyber/achievement.js @@ -37,11 +37,11 @@ export default class CyberAchievement extends CyberAchievementUI { this.labRemakeTimes.text = statistics[pt.TMS].value; this.labRemakeTimesJudge.text = statistics[pt.TMS].judge; - this.labAchievementCountJudge.color = $ui.gradeColor(statistics[pt.TMS].grade); + this.labAchievementCountJudge.color = $ui.common.grade[statistics[pt.TMS].grade]; this.labAchievementCount.text = statistics[pt.CACHV].value; this.labAchievementCountJudge.text = statistics[pt.CACHV].judge; - this.labAchievementCountJudge.color = $ui.gradeColor(statistics[pt.CACHV].grade); + this.labAchievementCountJudge.color = $ui.common.grade[statistics[pt.CACHV].grade]; this.labEventRate.text = parseInt(statistics[pt.REVT].value*100)+'%'; this.prgEventRate.value = statistics[pt.REVT].value; diff --git a/src/ui/themes/cyber/main.js b/src/ui/themes/cyber/main.js index 789057b..b7d2810 100644 --- a/src/ui/themes/cyber/main.js +++ b/src/ui/themes/cyber/main.js @@ -15,6 +15,18 @@ export default class CyberMain extends CyberMainUI { }); } + static load() { + return [ + "fonts/方正像素12.ttf", + "images/atlas/images/accessories.atlas", + "images/atlas/images/border.atlas", + "images/atlas/images/button.atlas", + "images/atlas/images/icons.atlas", + "images/atlas/images/progress.atlas", + "images/atlas/images/slider.atlas", + ] + } + init() { this.btnDiscord.visible = this.btnAchievement.visible = diff --git a/src/ui/themes/cyber/popup/achievementPopup.js b/src/ui/themes/cyber/popup/achievementPopup.js index c9e5545..49c2453 100644 --- a/src/ui/themes/cyber/popup/achievementPopup.js +++ b/src/ui/themes/cyber/popup/achievementPopup.js @@ -8,7 +8,7 @@ export default class CyberAchievementPopup extends CyberAchievementPopupUI { Laya.Tween.clearAll(this.boxBg); this.alpha = 0.8; this.labName.text = achievement.name; - this.labName.color = $ui.gradeColor(achievement.grade); + this.labName.color = $ui.common.grade[achievement.grade]; this.x = - this.width; this.boxBg.x = this.boxBg.width; await Promise.all([ diff --git a/src/ui/themes/cyber/summary.js b/src/ui/themes/cyber/summary.js index 121c2f3..72620ad 100644 --- a/src/ui/themes/cyber/summary.js +++ b/src/ui/themes/cyber/summary.js @@ -15,18 +15,8 @@ export default class CyberSummary extends CyberSummaryUI { init({talents}) { const {summary, lastExtendTalent} = core; - const gradeFilters = [ - $ui.common.grade0, - $ui.common.grade1, - $ui.common.grade2, - $ui.common.grade3, - ]; - const gradeColors = [ - $ui.common.filter0, - $ui.common.filter1, - $ui.common.filter2, - $ui.common.filter3, - ]; + const gradeFilters = $ui.common.filter; + const gradeColors = $ui.common.grade; const age = summary[core.PropertyTypes.HAGE]; this.labAge.text = ''+age.value; diff --git a/src/ui/themes/default/achievement.js b/src/ui/themes/default/achievement.js index 9d31ef7..8d25a22 100644 --- a/src/ui/themes/default/achievement.js +++ b/src/ui/themes/default/achievement.js @@ -37,11 +37,11 @@ export default class Achievement extends AchievementUI { this.labRemakeTimes.text = statistics[pt.TMS].value; this.labRemakeTimesJudge.text = statistics[pt.TMS].judge; - this.labAchievementCountJudge.color = $ui.gradeColor(statistics[pt.TMS].grade); + this.labAchievementCountJudge.color = $ui.common.grade[statistics[pt.TMS].grade]; this.labAchievementCount.text = statistics[pt.CACHV].value; this.labAchievementCountJudge.text = statistics[pt.CACHV].judge; - this.labAchievementCountJudge.color = $ui.gradeColor(statistics[pt.CACHV].grade); + this.labAchievementCountJudge.color = $ui.common.grade[statistics[pt.CACHV].grade]; this.labEventRate.text = parseInt(statistics[pt.REVT].value*100)+'%'; this.prgEventRate.value = statistics[pt.REVT].value; diff --git a/src/ui/themes/default/main.js b/src/ui/themes/default/main.js index 6bc09e6..2b309fc 100644 --- a/src/ui/themes/default/main.js +++ b/src/ui/themes/default/main.js @@ -8,6 +8,12 @@ export default class Main extends MainUI { this.btnDiscord.on(Laya.Event.CLICK, this, goto, ['discord']); } + static load() { + return [ + "images/atlas/images/icons.atlas", + ] + } + init() { this.btnDiscord.visible = this.btnAchievement.visible = diff --git a/src/ui/themes/default/popup/achievementPopup.js b/src/ui/themes/default/popup/achievementPopup.js index 17fa639..5e3180d 100644 --- a/src/ui/themes/default/popup/achievementPopup.js +++ b/src/ui/themes/default/popup/achievementPopup.js @@ -8,7 +8,7 @@ export default class achievementPopup extends AchievementPopupUI { Laya.Tween.clearAll(this.boxBg); this.alpha = 0.8; this.labName.text = achievement.name; - this.labName.color = $ui.gradeColor(achievement.grade); + this.labName.color = $ui.common.grade[achievement.grade]; this.x = - this.width; this.boxBg.x = this.boxBg.width; await Promise.all([ diff --git a/src/ui/themes/default/talent.js b/src/ui/themes/default/talent.js index 26ea8d4..1729e72 100644 --- a/src/ui/themes/default/talent.js +++ b/src/ui/themes/default/talent.js @@ -5,19 +5,9 @@ export default class Talent extends TalentUI { this.btnNext.on(Laya.Event.CLICK, this, this.onClickNext); this.listTalents.renderHandler = Laya.Handler.create(this, this.renderTalent, null, false); this.listTalents.scrollBar.elasticDistance = 150; - this.on(Laya.Event.RESIZE, this, () => { - const renderWidth = this.listTalents?._itemRender?.props?.width; - if(renderWidth) { - const col = Math.max(Math.floor((this.width - 40) / renderWidth), 1); - this.listTalents.width = col * renderWidth + (col - 1) * (this.listTalents.spaceY || 0); - } - }); } #selected = new Set(); - static load() { - return ['images/background/background_2@3x.png']; - } init() { this.pageDrawCard.visible = true; @@ -46,51 +36,11 @@ export default class Talent extends TalentUI { renderTalent(box, index) { const dataSource = box.dataSource; - const hboxTitle = box.getChildByName("hboxTitle"); - const labTitle = hboxTitle.getChildByName("labTitle"); - const grades = hboxTitle.getChildByName("grades"); - const grade1 = grades.getChildByName("grade1"); - const grade2 = grades.getChildByName("grade2"); - const grade3 = grades.getChildByName("grade3"); - const labDescription = box.getChildByName("labDescription"); - const unselected = box.getChildByName("unselected"); - const selected = box.getChildByName("selected"); + box.label = `${dataSource.name}(${dataSource.description})`; + const style = $ui.common.card[dataSource.grade]; + $_.mapSet(box, this.#selected.has(index)? style.selected: style.normal); - switch (dataSource.grade) { - case 1: - grades.x = 0; - labTitle.x = 1; - grade1.visible = true; - grade2.visible = false; - grade3.visible = false; - break; - case 2: - grades.x = 0; - labTitle.x = 1; - grade1.visible = false; - grade2.visible = true; - grade3.visible = false; - break; - case 3: - grades.x = 0; - labTitle.x = 1; - grade1.visible = false; - grade2.visible = false; - grade3.visible = true; - break; - default: - grades.x = 1; - labTitle.x = 0; - grade1.visible = false; - grade2.visible = false; - grade3.visible = false; - break; - } - labTitle.text = dataSource.name; - labTitle.event(Laya.Event.RESIZE); - labDescription.text = dataSource.description; - unselected.visible = !( selected.visible = this.#selected.has(index) ); box.offAll(Laya.Event.CLICK); box.on(Laya.Event.CLICK, this, () => { if(this.#selected.has(index)) { @@ -105,7 +55,8 @@ export default class Talent extends TalentUI { this.btnNext.label = this.#selected.size === core.talentSelectLimit ? 'UI_Next' : 'UI_Talent_Select_Uncomplete'; - unselected.visible = !( selected.visible = this.#selected.has(index) ); + + $_.mapSet(box, this.#selected.has(index)? style.selected: style.normal); }); } } \ No newline at end of file diff --git a/src/ui/themes/default/trajectory.js b/src/ui/themes/default/trajectory.js index 18bc640..62e1347 100644 --- a/src/ui/themes/default/trajectory.js +++ b/src/ui/themes/default/trajectory.js @@ -59,9 +59,9 @@ export default class Trajectory extends TrajectoryUI { return ['images/slider/vslider_1@3x$bar.png']; } - static #createComponent = plugin.extractComponents(CyberTrajectory.uiView, ['boxTrajectoryItem']); + static #createComponent = plugin.extractComponents(Trajectory.uiView, ['boxTrajectoryItem']); #createTrajectoryItem() { - const item = CyberTrajectory.#createComponent('boxTrajectoryItem'); + const item = Trajectory.#createComponent('boxTrajectoryItem'); item.labContent = item.getChildByName('labContent'); item.labAge = item.getChildByName('hboxAge').getChildByName('labAge'); return item; diff --git a/src/ui/themes/views.js b/src/ui/themes/views.js index 36f1bf9..a203851 100644 --- a/src/ui/themes/views.js +++ b/src/ui/themes/views.js @@ -62,14 +62,108 @@ const def = { configs: { bgColor: '#222831', common: { - grade0: '#cccccc', - grade1: '#55fffe', - grade2: '#b17cff', - grade3: '#ffce45', - filter0: '#ccccccff', - filter0: '#55fffeff', - filter0: '#b17cffff', - filter0: '#ffce45ff', + grade: [ + '#cccccc', + '#55fffe', + '#b17cff', + '#ffce45', + ], + filter: [ + '#ccccccff', + '#55fffeff', + '#b17cffff', + '#ffce45ff', + ], + card: [ + { + normal: { + defaultColor: '#464646', + defaultStroke: '#f8f8f8', + defaultLabel: '#eeeeee', + hoverColor: '#c0c0c0', + hoverStroke: '#f8f8f8', + hoverLabel: '#3b3b3b', + lineWidth: 4, + radius: 4, + }, + selected: { + defaultColor: '#c0c0c0', + defaultStroke: '#a5ff88', + defaultLabel: '#3b3b3b', + hoverColor: '#c0c0c0', + hoverStroke: '#a5ff88', + hoverLabel: '#3b3b3b', + lineWidth: 4, + radius: 4, + } + }, + { + normal: { + defaultColor: '#6495ed', + defaultStroke: '#f8f8f8', + defaultLabel: '#eeeeee', + hoverColor: '#87cefa', + hoverStroke: '#f8f8f8', + hoverLabel: '#3b3b3b', + lineWidth: 4, + radius: 4, + }, + selected: { + defaultColor: '#87cefa', + defaultStroke: '#a5ff88', + defaultLabel: '#3b3b3b', + hoverColor: '#87cefa', + hoverStroke: '#a5ff88', + hoverLabel: '#3b3b3b', + lineWidth: 4, + radius: 4, + } + }, + { + normal: { + defaultColor: '#e2a7ff', + defaultStroke: '#f8f8f8', + defaultLabel: '#eeeeee', + hoverColor: '#e7beff', + hoverStroke: '#f8f8f8', + hoverLabel: '#3b3b3b', + lineWidth: 4, + radius: 4, + }, + selected: { + defaultColor: '#e7beff', + defaultStroke: '#a5ff88', + defaultLabel: '#3b3b3b', + hoverColor: '#e7beff', + hoverStroke: '#a5ff88', + hoverLabel: '#3b3b3b', + lineWidth: 4, + radius: 4, + } + }, + { + normal: { + defaultColor: '#ffa07a', + defaultStroke: '#f8f8f8', + defaultLabel: '#eeeeee', + hoverColor: '#f7a989', + hoverStroke: '#f8f8f8', + hoverLabel: '#3b3b3b', + lineWidth: 4, + radius: 4, + }, + selected: { + defaultColor: '#f8f8f8', + defaultStroke: '#a5ff88', + defaultLabel: '#eeeeee', + hoverColor: '#3b3b3b', + hoverStroke: '#a5ff88', + hoverLabel: '#3b3b3b', + lineWidth: 4, + radius: 4, + } + } + ] }, class: { btn_main: { @@ -91,6 +185,9 @@ const def = { hoverLabel: '#eeeeee', lineWidth: 0, radius: 4, + }, + title: { + color: '#ffffff', } }, pages: { @@ -103,6 +200,15 @@ const def = { names: { btnSmall: 'btn_small', } + }, + [pages.TALENT]: { + vars: { + btnDrawCard: 'btn_main', + btnNext: 'btn_main', + }, + names: { + title: 'title', + } } }, popups: { diff --git a/src/ui/uiManager.js b/src/ui/uiManager.js index a0d84aa..79ff762 100644 --- a/src/ui/uiManager.js +++ b/src/ui/uiManager.js @@ -138,12 +138,16 @@ export default class UIManager { } async loadRes(resourceList, preload, onProgress) { - let list = []; - if(resourceList) list = list.concat(resourceList); - if(preload) list = list.concat(preload); - - if(list.length) { - await Laya.promises.loader.load(list, Laya.Handler.create(null, onProgress)); + const cnt = (resourceList?.length || 0) + +(preload?.length || 0); + if(resourceList && resourceList.length) { + const s = resourceList.length / cnt; + await Laya.promises.loader.load(resourceList, Laya.Handler.create(null, prg=>onProgress?.(prg*s))); + } + if(preload && preload.length) { + const s = 1 - preload.length / cnt; + const l = preload.length / cnt; + await Laya.promises.loader.load(preload, Laya.Handler.create(null, prg=>onProgress?.(prg*l+s))); } } @@ -182,7 +186,7 @@ export default class UIManager { #config(view, key, type) { const config = this.#configs?.[type]?.[key]; if(!config) return; - if(view.config) return view.config(config); + if(view.config && view.config(config)) return; const applyConfig = (target, config) => { if(!target) return; if(typeof config == 'string') { @@ -293,12 +297,12 @@ export default class UIManager { return UIManager.theme(this.#theme, 'configs'); } get common() { - return this.#configs?.common; + return this.#configs.common; } gradeColor(grade) { - return this.common?.['grade'+grade]; + return this.common.grade[grade]; } gradeFilter(grade) { - return this.common?.['filter'+grade]; + return this.common.filter[grade]; } } \ No newline at end of file