diff --git a/assets/bundle-level-prefabs/level-prefabs/Level132536.prefab b/assets/bundle-level-prefabs/level-prefabs/Level132536.prefab new file mode 100644 index 0000000..866a588 --- /dev/null +++ b/assets/bundle-level-prefabs/level-prefabs/Level132536.prefab @@ -0,0 +1,222 @@ +[ + { + "__type__": "cc.Prefab", + "_name": "Level132536", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "persistent": false + }, + { + "__type__": "cc.Node", + "_name": "Level132536", + "_objFlags": 0, + "_parent": null, + "_children": [ + { + "__id__": 3 + }, + { + "__id__": 2 + } + ], + "_active": true, + "_components": [ + { + "__id__": 5 + }, + { + "__id__": 7 + } + ], + "_prefab": { + "__id__": 8 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Border", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [], + "_prefab": { + "__id__": 9 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Ground", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [], + "_prefab": { + "__id__": 10 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "jQr1xjY74TQBBFloLJzgfX" + }, + { + "__type__": "d4e5fanuMlNDh8qO0xdbn+K", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 4 + }, + "levelID": 132536, + "groundJson": "{}", + "borderJson": "{}", + "theme": "silu", + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "VlPNbe6BOatO7GuURbErd5" + }, + { + "__type__": "739b2brZKNN16CEy+hU2Yo2", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 6 + }, + "snapEnabled": true, + "showGrid": true, + "gridRadius": 12, + "gridPadding": 2, + "highlightOccupied": true, + "syncNodeNames": true, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "P1f6o97Mg65fECx9VNmCMH" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "feuQ6oITiZ0RBdaANNZoC3" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "Y9ZuF0pYPpFZ2UnT3iDVEv" + } +] \ No newline at end of file diff --git a/assets/bundle-level-prefabs/level-prefabs/Level132536.prefab.meta b/assets/bundle-level-prefabs/level-prefabs/Level132536.prefab.meta new file mode 100644 index 0000000..b73c576 --- /dev/null +++ b/assets/bundle-level-prefabs/level-prefabs/Level132536.prefab.meta @@ -0,0 +1,13 @@ +{ + "ver": "1.1.50", + "importer": "prefab", + "imported": true, + "uuid": "da966895-698a-4c63-b46f-159ea2d26660", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": { + "syncNodeName": "Level132536" + } +} \ No newline at end of file diff --git a/assets/bundle-level-prefabs/level-prefabs/Level91614.prefab b/assets/bundle-level-prefabs/level-prefabs/Level91614.prefab index ded3200..64b4151 100644 --- a/assets/bundle-level-prefabs/level-prefabs/Level91614.prefab +++ b/assets/bundle-level-prefabs/level-prefabs/Level91614.prefab @@ -113,7 +113,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "HH3BdKtDQfdZNulBKOpWkI" + "fileId": "WzcA9YSctu0twhZzZQ4Sgs" }, { "__type__": "cc.UITransform", @@ -141,7 +141,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "lQypu6sNhsXRc7dSTbaAnk" + "fileId": "effTKJaoi1KVn6Pf4nMDWF" }, { "__type__": "cc.Sprite", @@ -233,7 +233,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "IS49PKNP7oluMC9mo218RD" + "fileId": "rmTOLVczP5EC0b5qsDUiiU" }, { "__type__": "cc.UITransform", @@ -261,7 +261,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "uvhngS8x62FV9xka2wOTT9" + "fileId": "fs7aigkNOgi2LP0TexX1YK" }, { "__type__": "cc.Sprite", @@ -353,7 +353,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "zSVWUzz7XZVoluPiyovkp2" + "fileId": "aYKoqsDdGEi4L9Uz8lI2OA" }, { "__type__": "cc.UITransform", @@ -381,7 +381,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "VhTXr5qzNKwGykAiVlx1JN" + "fileId": "Qws56kXSlgQdTPyHo7Ysxi" }, { "__type__": "cc.Sprite", @@ -473,7 +473,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "Bn3oZMctgKcRxc5wQ2AlvQ" + "fileId": "0ZwXW68dWoZdnCQhn4wqvn" }, { "__type__": "cc.UITransform", @@ -501,7 +501,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "4985waaZsBM8IruvErJDgO" + "fileId": "ibfNAtYHo27Dx465krdtNc" }, { "__type__": "cc.Sprite", @@ -593,7 +593,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "wICZtNwMBQmQ1IUuO4YOxC" + "fileId": "LtwmPzhtiabWV2lFQeAStn" }, { "__type__": "cc.UITransform", @@ -621,7 +621,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "V1sIvGdm80eZiuuM3fPpOD" + "fileId": "Lo58X2meQgI1bWIIHD541d" }, { "__type__": "cc.Sprite", @@ -713,7 +713,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "sdrZF578gfUZ756Ry4qRPm" + "fileId": "xZevOYlsVrjWJXoegMqwjL" }, { "__type__": "cc.UITransform", @@ -741,7 +741,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "TczZImeL013JObynshvy6M" + "fileId": "jscUjlpaOv0NVrkwqjp6lx" }, { "__type__": "cc.Sprite", @@ -833,7 +833,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "n71x61EOavDtjmAWefMKyI" + "fileId": "6DG5tvPBvH3guHi0g0W5d9" }, { "__type__": "cc.UITransform", @@ -861,7 +861,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "NaHkg4AjLXBkCg5XypCVjZ" + "fileId": "HcwF12P48UC7dDiyFLDU2O" }, { "__type__": "cc.Sprite", @@ -953,7 +953,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "UfCG77SvcPHhJj0JEAtYI8" + "fileId": "SzLXp5JlwDDdHTtTvOMQnX" }, { "__type__": "cc.UITransform", @@ -981,7 +981,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "fiasDLMmYsn0HVSTMfvvOR" + "fileId": "vMXfZHTC94e4SXBfBt5Wld" }, { "__type__": "cc.Sprite", @@ -1073,7 +1073,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "TfCGjDZ7iNysiixAv3cM55" + "fileId": "nXnZDT3bDumikzw6XiJk1T" }, { "__type__": "cc.UITransform", @@ -1101,7 +1101,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "SzKplohmEfhsz6QerYUW9U" + "fileId": "08T6jUk6kPzC1DtMlbpCgu" }, { "__type__": "cc.Sprite", @@ -1193,7 +1193,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "kKOrC1vxR3j9giSasbERh8" + "fileId": "bzoZS4QgXEO0VA5HRlP135" }, { "__type__": "cc.UITransform", @@ -1221,7 +1221,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "rk6XD8SECSYU1pYoBjK4qz" + "fileId": "ADo0soY2h7nweJI61WqeaK" }, { "__type__": "cc.Sprite", @@ -1313,7 +1313,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "G0EsuSeEeUExBGZCMVhjaB" + "fileId": "CnB5bvRwdD8i5Qcb78Hjwd" }, { "__type__": "cc.UITransform", @@ -1341,7 +1341,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "U8Zc2cofQHB1WQ8ZbURfqj" + "fileId": "9UR2V2eBo6VWUKxD48o1o4" }, { "__type__": "cc.Sprite", @@ -1433,7 +1433,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "D64rwPJ9EkKrqQme6Ak7Z6" + "fileId": "EKJpQSwfgn7Kx2XJR1QVSz" }, { "__type__": "cc.UITransform", @@ -1461,7 +1461,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "OYGap2BWfELlDLXH0LpZ6f" + "fileId": "YnMsw4ELoo1INt0zViq8e0" }, { "__type__": "cc.Sprite", @@ -1553,7 +1553,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "5IvXdwg6mN2hgSlvz45Ejp" + "fileId": "ZI7AgcaL9DjTCrRyTp6StU" }, { "__type__": "cc.UITransform", @@ -1581,7 +1581,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "YxO5ufGRO2P9uMnbVaH3Wl" + "fileId": "zGypZ00fwAQXhvXXltCN8S" }, { "__type__": "cc.Sprite", @@ -1673,7 +1673,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "t6YRpjT81GH9SlpH69Ztit" + "fileId": "E1V8IdrBcgZIfHPtcwP9aM" }, { "__type__": "cc.UITransform", @@ -1701,7 +1701,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "GVRlIN3F59789jHHrFEvB2" + "fileId": "R4O982shNd03jXMO6eHmuw" }, { "__type__": "cc.Sprite", @@ -1793,7 +1793,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "mUm8EBZw4nvyCmc5usQwot" + "fileId": "YQDB2psBgTrL3Rm9HkKu99" }, { "__type__": "cc.UITransform", @@ -1821,7 +1821,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "RKDZK1h7xzVmbGbnE7JiXq" + "fileId": "LFm1F1NrTHEmzmuxHjK9sn" }, { "__type__": "cc.Sprite", @@ -1913,7 +1913,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "SRHZOJs8FoWgNkn09d8GCa" + "fileId": "ZqrJZv8MxIMmQ9uSWyCRvN" }, { "__type__": "cc.UITransform", @@ -1941,7 +1941,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "6kB3B6tcCqtQFxDFfRp7fl" + "fileId": "Wx8cYsKjq6stWSFZUuF86o" }, { "__type__": "cc.Sprite", @@ -2033,7 +2033,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "NCMgdy3Wr5QIwXIINyCYTs" + "fileId": "bP7KiwMEE5QtRrh0UU07ZM" }, { "__type__": "cc.UITransform", @@ -2061,7 +2061,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "4jc8MEZLda71mPnWo4STOt" + "fileId": "SYhRupVvuZdP3HoECuPVV1" }, { "__type__": "cc.Sprite", @@ -2153,7 +2153,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "QG6opQr1lZEgIBbtaOxDFe" + "fileId": "OHGhxNj463VEXoP8enuPKF" }, { "__type__": "cc.UITransform", @@ -2181,7 +2181,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "hPO0fRhz8YEh8Iog0CLJQq" + "fileId": "JprWsAq22PxhIjFMI6sN2q" }, { "__type__": "cc.Sprite", @@ -2273,7 +2273,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "N3Xt8Hl9pOHBb8kUHD3nZa" + "fileId": "QGBqYNAb4Iji5DwcGTEXBJ" }, { "__type__": "cc.UITransform", @@ -2301,7 +2301,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "BNGtPXllvrJxugErWHqgHe" + "fileId": "v2fc8Mk63gpVcTxnilHlZs" }, { "__type__": "cc.Sprite", @@ -2393,7 +2393,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "dIWYufnSlnuzCbRe2ZP3g5" + "fileId": "tULA4IuSm4Hgg848fLpmPi" }, { "__type__": "cc.UITransform", @@ -2421,7 +2421,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "JoZBD5BWqNAg9XzOZSJAbR" + "fileId": "jJzFBgeppFwMUtmYwdQlQ3" }, { "__type__": "cc.Sprite", @@ -2513,7 +2513,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "CxwhShGoUKKDsWygP65v9r" + "fileId": "X5ijCXoPwMsNKjAmLS68hm" }, { "__type__": "cc.UITransform", @@ -2541,7 +2541,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "DgoMZnzQa9kU6y3xcBHpVc" + "fileId": "CtetjmER7uhniQXDhNDMDU" }, { "__type__": "cc.Sprite", @@ -2633,7 +2633,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "lHxpLKy3z0JJ3jh6KoNjLv" + "fileId": "JzvJDJji9Ba2mJSgebChKs" }, { "__type__": "cc.UITransform", @@ -2661,7 +2661,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "ROi5CqIrVqJmcQAQsXTO6o" + "fileId": "IHDXDnXQi4bFKKhX3bTEt8" }, { "__type__": "cc.Sprite", @@ -2753,7 +2753,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "TpBHHgdVGDLklFbbGctLS2" + "fileId": "XMp8wTqij0c6ABEHJ9n6Ab" }, { "__type__": "cc.UITransform", @@ -2781,7 +2781,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "oeJowXespHDspePcX8sDTs" + "fileId": "Un7IdJdgiVdvxNEUk8r1Qh" }, { "__type__": "cc.Sprite", @@ -2873,7 +2873,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "h0NJH2Yw3PquBpE25w5EFL" + "fileId": "jvlg06Kmof86bAx7z00rN8" }, { "__type__": "cc.UITransform", @@ -2901,7 +2901,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "XVQz4OMPFbEiwQOK6Obcxe" + "fileId": "2pAtOlZyS7pgI9dhgrJhE5" }, { "__type__": "cc.Sprite", @@ -2993,7 +2993,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "3LqnRAGkh7Uj9VDHWaBnDT" + "fileId": "rxvZf9TWxEh9Ei3aWJMFWa" }, { "__type__": "cc.UITransform", @@ -3021,7 +3021,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "YSwlobVfgMLgb67cxRjnVj" + "fileId": "bPJGSg43f88f7fwx9LkpI2" }, { "__type__": "cc.Sprite", @@ -3113,7 +3113,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "q31Aa3mDq2bQouixua9QHv" + "fileId": "FYoh1EpVMvAME6GDrLMHhG" }, { "__type__": "cc.UITransform", @@ -3141,7 +3141,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "C75Xz0WEnadalYkUr2JAXG" + "fileId": "GfYojFtsecBnDWAMUl4W9K" }, { "__type__": "cc.Sprite", @@ -3233,7 +3233,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "KYlpEcKefvoeMrucF7iyny" + "fileId": "B8AXjAtM7D1FMqPsBCyA4E" }, { "__type__": "cc.UITransform", @@ -3261,7 +3261,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "ZpYCAHx5BWnn10ObLonlrW" + "fileId": "EFjdIBpnS9u13O1YcFt22Z" }, { "__type__": "cc.Sprite", @@ -3353,7 +3353,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "8U6i7AjRqZhoOyRGdOSXq9" + "fileId": "OgYiNbeDYzRtiS8km9cxKG" }, { "__type__": "cc.UITransform", @@ -3381,7 +3381,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "rikXguuWrwn9s5GVbMlEA7" + "fileId": "AvaGS8yDH97bJ9vW4xxK6M" }, { "__type__": "cc.Sprite", @@ -3473,7 +3473,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "O37LEQqYWdIWqg65qYtgMM" + "fileId": "pVdeKbTBEtks7hijtdMH1w" }, { "__type__": "cc.UITransform", @@ -3501,7 +3501,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "eASChbmyTrKloVr5lHQHgU" + "fileId": "GLinxvMqqvM0WLUYUBpWw7" }, { "__type__": "cc.Sprite", @@ -3593,7 +3593,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "9ARokzfRaEgwdTFlpOGKp8" + "fileId": "YDuP3niBWNbHRdJirVRzeM" }, { "__type__": "cc.UITransform", @@ -3621,7 +3621,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "NiRa9dEkmaaFlgAbN2KlBy" + "fileId": "BoJRNbbXbzbVgyTq6igAtW" }, { "__type__": "cc.Sprite", @@ -3713,7 +3713,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "tt6uwUdKyz5flSS3cChTJ0" + "fileId": "6WA0x4vIySy9lg7wq1DY15" }, { "__type__": "cc.UITransform", @@ -3741,7 +3741,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "YWPJCYETBYRWl8nPjYHEwm" + "fileId": "jFiubyXncAAWho1i5DHWU9" }, { "__type__": "cc.Sprite", @@ -3833,7 +3833,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "EgsF4byxYPjviRGPil3vAF" + "fileId": "Grr3OCZB2GcmG9Gh7BNJop" }, { "__type__": "cc.UITransform", @@ -3861,7 +3861,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "zCEJSkw14RXErFEpIVo7W9" + "fileId": "awa5QnaT78dNiHKlmuz1js" }, { "__type__": "cc.Sprite", @@ -3953,7 +3953,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "UiSRPLgvZcyVXinHocAmYj" + "fileId": "AcpWpWo2ZJAZMK6MuY0s7J" }, { "__type__": "cc.UITransform", @@ -3981,7 +3981,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "bfpBS8XJmYuN5nKNLPXdfi" + "fileId": "PEPoPvWC3KpIsytQv71FMK" }, { "__type__": "cc.Sprite", @@ -4073,7 +4073,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "j6ZTrqOoyl3pHdElCik3ec" + "fileId": "KYXvM5Q3qYVL2RHptrWzM5" }, { "__type__": "cc.UITransform", @@ -4101,7 +4101,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "PYeZpklm7NV5bj0hXEXj4i" + "fileId": "YwLOIgnl4UEGvEJXZ7inC4" }, { "__type__": "cc.Sprite", @@ -4193,7 +4193,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "LcsW7UCtGCLLB8WYL3UQZO" + "fileId": "GeprRDL2UqiAGD2inkOjOb" }, { "__type__": "cc.UITransform", @@ -4221,7 +4221,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "HyhO8pwqCIc8xfp2oWrTK4" + "fileId": "Rw6tuuvjHYN4WwMvoBrMHj" }, { "__type__": "cc.Sprite", @@ -4313,7 +4313,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "877i96D9ImteSu9wvCKlOb" + "fileId": "et26Ey6JXssGbzuaBykqBW" }, { "__type__": "cc.UITransform", @@ -4341,7 +4341,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "8khE2kO9Y0zYfE5mZ56N1E" + "fileId": "51yYlYwHBMyQAAqUX1bShn" }, { "__type__": "cc.Sprite", @@ -4433,7 +4433,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "LsKm75cxzlPGFGqh9YgJsP" + "fileId": "ZBwTteY78DuFZqZJhuxFb1" }, { "__type__": "cc.UITransform", @@ -4461,7 +4461,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "mPJ0iTOnCpSZOBTz1YYVZE" + "fileId": "jb3avTvNDsE4mePvICZkQb" }, { "__type__": "cc.Sprite", @@ -4553,7 +4553,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "Hg7WmHdnJfkMChYUIqu7um" + "fileId": "0zqCaDuIukCllXFki3rrpo" }, { "__type__": "cc.UITransform", @@ -4581,7 +4581,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "MRrdx5Y67E7FxmTTUvu6OL" + "fileId": "eNxMLdGkpMYbCSZ7MA4oH8" }, { "__type__": "cc.Sprite", @@ -4673,7 +4673,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "fLStDYMH5x2H8AEkzyqw8e" + "fileId": "fqTmlhPGOA4KEO1pykbYO6" }, { "__type__": "cc.UITransform", @@ -4701,7 +4701,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "rjkJjPSayT8lw8JNlfpucK" + "fileId": "1NEAOvF6yE5HcNDJ2KjVj9" }, { "__type__": "cc.Sprite", @@ -4793,7 +4793,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "rZSuZ1mNMsmTQ71axA31yJ" + "fileId": "0kWSAjgnOQgCqqXcNZDoOz" }, { "__type__": "cc.UITransform", @@ -4821,7 +4821,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "KHrP8pTV7YV0YuQy7lNCM7" + "fileId": "0TDxqhmss4EpLr8Ihw3t6M" }, { "__type__": "cc.Sprite", @@ -4913,7 +4913,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "jO6gh86yfEeldXD56nd4iN" + "fileId": "Hgg8OSTUpx629C5Fp2wmPl" }, { "__type__": "cc.UITransform", @@ -4941,7 +4941,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "CuAUwGSDi7UW9N6NF7armp" + "fileId": "cpyJ7CvdCZfgSKPDO4CIea" }, { "__type__": "cc.Sprite", @@ -5033,7 +5033,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "z9rf1IN1eMQLihTUJp18bI" + "fileId": "ryXWvaDCCWtVo7ywjXDIIB" }, { "__type__": "cc.UITransform", @@ -5061,7 +5061,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "p7NgmlaSXr5YDvd1pMUGXL" + "fileId": "zTSgGBiU3zNbmlFMkrB9rF" }, { "__type__": "cc.Sprite", @@ -5153,7 +5153,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "Jeo6isLqRkVVLT7Og4m6cx" + "fileId": "ZermuyuVvjoa5c9TheBInJ" }, { "__type__": "cc.UITransform", @@ -5181,7 +5181,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "vUL7AjLLD6nd5DEKzaQBmC" + "fileId": "qwgWA5iLbR6P6WX544E9KI" }, { "__type__": "cc.Sprite", @@ -5273,7 +5273,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "aS341FspLeigxeRjRdDsI0" + "fileId": "wYvgTd8uYgulwkm45W8xEJ" }, { "__type__": "cc.UITransform", @@ -5301,7 +5301,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "DCZh6fLDp08cB5fN8ora8O" + "fileId": "gyXYdI4jjZqbkVyFEheKzz" }, { "__type__": "cc.Sprite", @@ -5393,7 +5393,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "Iq9SjsFcrjSGuge15j9z5R" + "fileId": "FttoOO1jdNTo4DCEMwEPOo" }, { "__type__": "cc.UITransform", @@ -5421,7 +5421,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "ZgBjgEdoa6b1t4sK5501Zg" + "fileId": "eMdfT1hVxKcP7ILG6TPOlm" }, { "__type__": "cc.Sprite", @@ -5513,7 +5513,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "zZqSISLkVfGgau1LVE8DcP" + "fileId": "UhppR4BZEBaD4qjsrSwIRr" }, { "__type__": "cc.UITransform", @@ -5541,7 +5541,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "Ax8K7EE5ywHpJmikPGXOkx" + "fileId": "92GTeJJoqE7x2PDn2ES6nc" }, { "__type__": "cc.Sprite", @@ -5633,7 +5633,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "YPhAeM9yBVKCIyO9zJgfFY" + "fileId": "sxm0B5GyFojFiv4nloGotd" }, { "__type__": "cc.UITransform", @@ -5661,7 +5661,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "xqjJNnQGZCzdY72JElFkvk" + "fileId": "iaZYXOkItyIesEM9mJS6uk" }, { "__type__": "cc.Sprite", @@ -5753,7 +5753,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "JhmXHpwnK0reLBxGIPsxNH" + "fileId": "MU4Rs2lo6GFfz3oteuDr9R" }, { "__type__": "cc.UITransform", @@ -5781,7 +5781,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "kovkzOroNahi5XGLVCIa3t" + "fileId": "cmNOBBuLp9D1sYfkh4Li1v" }, { "__type__": "cc.Sprite", @@ -5873,7 +5873,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "txtZlXsapbW4KS0ppdog2g" + "fileId": "aJy5P6Zw2ltfm7tK2I5zRm" }, { "__type__": "cc.UITransform", @@ -5901,7 +5901,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "QnKQSHGbDe8XANBLthdF1k" + "fileId": "ZoYrq1uypztaVSmIOsNxz4" }, { "__type__": "cc.Sprite", @@ -6176,7 +6176,7 @@ }, { "__type__": "cc.CompPrefabInfo", - "fileId": "pQlI3lsNW1SBOT3yLPNeKy" + "fileId": "EmEZiciOIG6scxKeCIz2jH" }, { "__type__": "d4e5fanuMlNDh8qO0xdbn+K", @@ -6190,14 +6190,14 @@ "__id__": 249 }, "levelID": 91614, - "groundJson": "{\"-2,-4\":\"Baseblock\",\"-1,-4\":\"Baseblock\",\"-2,-3\":\"Baseblock\",\"-1,-3\":\"Baseblock\",\"-2,-2\":\"Baseblock\",\"-1,-2\":\"Baseblock\",\"-3,-1\":\"Baseblock\",\"-2,-1\":\"Baseblock\",\"-1,-1\":\"Baseblock\",\"0,-1\":\"Baseblock\",\"1,-1\":\"Baseblock\",\"2,-1\":\"Baseblock\",\"3,-1\":\"Baseblock\",\"-3,0\":\"Baseblock\",\"-2,0\":\"Baseblock\",\"-1,0\":\"Baseblock\",\"-3,1\":\"Baseblock\",\"-2,1\":\"Baseblock\",\"-1,1\":\"Baseblock\",\"-3,2\":\"Baseblock\",\"-2,2\":\"Baseblock\",\"-1,2\":\"Baseblock\"}", - "borderJson": "{\"-3,-4\":true,\"0,-4\":true,\"1,-4\":true,\"2,-4\":true,\"3,-4\":true,\"-3,-3\":true,\"0,-3\":true,\"1,-3\":true,\"2,-3\":true,\"3,-3\":true,\"-3,-2\":true,\"0,-2\":true,\"1,-2\":true,\"2,-2\":true,\"3,-2\":true,\"0,0\":true,\"1,0\":true,\"2,0\":true,\"3,0\":true,\"0,1\":true,\"1,1\":true,\"2,1\":true,\"3,1\":true,\"0,2\":true,\"1,2\":true,\"2,2\":true,\"3,2\":true}", + "groundJson": "{\"-1,-1\":\"Baseblock\",\"-1,-2\":\"Baseblock\",\"-1,-3\":\"Baseblock\",\"-1,-4\":\"Baseblock\",\"-1,0\":\"Baseblock\",\"-1,1\":\"Baseblock\",\"-1,2\":\"Baseblock\",\"-2,-1\":\"Baseblock\",\"-2,-2\":\"Baseblock\",\"-2,-3\":\"Baseblock\",\"-2,-4\":\"Baseblock\",\"-2,0\":\"Baseblock\",\"-2,1\":\"Baseblock\",\"-2,2\":\"Baseblock\",\"-3,-1\":\"Baseblock\",\"-3,0\":\"Baseblock\",\"-3,1\":\"Baseblock\",\"-3,2\":\"Baseblock\",\"0,-1\":\"Baseblock\",\"1,-1\":\"Baseblock\",\"2,-1\":\"Baseblock\",\"3,-1\":\"Baseblock\"}", + "borderJson": "{\"-3,-2\":\"WallBlock\",\"-3,-3\":\"WallBlock\",\"-3,-4\":\"WallBlock\",\"0,-3\":\"WallBlock\",\"0,-4\":\"WallBlock\",\"0,2\":\"WallBlock\",\"1,-2\":\"WallBlock\",\"1,-3\":\"WallBlock\",\"1,-4\":\"WallBlock\",\"2,-2\":\"WallBlock\",\"2,-3\":\"WallBlock\",\"2,-4\":\"WallBlock\",\"2,2\":\"WallBlock\",\"3,-2\":\"WallBlock\",\"3,-3\":\"WallBlock\",\"3,-4\":\"WallBlock\",\"3,2\":\"WallBlock\",\"1,2\":\"WallBlock\",\"0,1\":\"WallBlock\",\"0,0\":\"WallBlock\",\"1,0\":\"WallBlock\",\"1,1\":\"WallBlock\",\"2,0\":\"WallBlock\",\"2,1\":\"WallBlock\",\"3,1\":\"WallBlock\",\"3,0\":\"WallBlock\",\"0,-2\":\"WallBlock\"}", "theme": "silu", "_id": "" }, { "__type__": "cc.CompPrefabInfo", - "fileId": "bSt2YwiLqRIkLUYmEK5J16" + "fileId": "vxuK9EZJbtrBCvGggM8i8J" }, { "__type__": "739b2brZKNN16CEy+hU2Yo2", @@ -6226,7 +6226,7 @@ "asset": { "__id__": 0 }, - "fileId": "wxPXa4crYVrdtrK51O3qFR" + "fileId": "n5r2ZHn6ZCCNOljqAfTWXw" }, { "__type__": "cc.PrefabInfo", @@ -6236,7 +6236,7 @@ "asset": { "__id__": 0 }, - "fileId": "0qj59ydJsB8y8S9456jH2U" + "fileId": "A4WFHCtbKp3DeOqlyrmCbp" }, { "__type__": "cc.PrefabInfo", @@ -6246,7 +6246,7 @@ "asset": { "__id__": 0 }, - "fileId": "ABWVbuU7NiceetqPkWZ3SL" + "fileId": "STnpmH8kKsBLcvjeObdnsz" }, { "__type__": "cc.PrefabInfo", @@ -6256,7 +6256,7 @@ "asset": { "__id__": 0 }, - "fileId": "BUn6uyxUZrxG3AmLLkjgil" + "fileId": "351Hy0aBG4cLTFlHJfKSqF" }, { "__type__": "cc.PrefabInfo", @@ -6266,7 +6266,7 @@ "asset": { "__id__": 0 }, - "fileId": "bcuOCwkhspXgBQTbrZVzH9" + "fileId": "7T6KMCBjaAR3dsgR9lsf5O" }, { "__type__": "cc.PrefabInfo", @@ -6276,7 +6276,7 @@ "asset": { "__id__": 0 }, - "fileId": "A931PKKAigUtAD27mG9BzV" + "fileId": "d91B8r5PRPZ8yB38y814gG" }, { "__type__": "cc.PrefabInfo", @@ -6286,7 +6286,7 @@ "asset": { "__id__": 0 }, - "fileId": "4HMYVMpSl3APJI2bKwJjS9" + "fileId": "qLvHtELkeY8KnzCPeD89La" }, { "__type__": "cc.PrefabInfo", @@ -6296,7 +6296,7 @@ "asset": { "__id__": 0 }, - "fileId": "hcC7K6q25LUKhR8IEZgCHN" + "fileId": "YKpt3neTo0ZwNY1SvH6bxD" }, { "__type__": "cc.PrefabInfo", @@ -6306,7 +6306,7 @@ "asset": { "__id__": 0 }, - "fileId": "aRkarttET19FGPWh6aHuao" + "fileId": "hdJ6eaSRYYQ5M0szdHND4V" }, { "__type__": "cc.PrefabInfo", @@ -6316,7 +6316,7 @@ "asset": { "__id__": 0 }, - "fileId": "6nnRUWr67YE9kIHKzoFiyh" + "fileId": "dNY7xxKjCQ0ZtptxQAGHXI" }, { "__type__": "cc.PrefabInfo", @@ -6326,7 +6326,7 @@ "asset": { "__id__": 0 }, - "fileId": "58Gf3hC0ZOk3KXJpMv0Iwf" + "fileId": "MSjhRC4omLD4U8XZWuGI1M" }, { "__type__": "cc.PrefabInfo", @@ -6336,7 +6336,7 @@ "asset": { "__id__": 0 }, - "fileId": "fFTRYQ2obEh4n8S9wpFZYl" + "fileId": "Lfv0cQaLFwmxPjSaquj799" }, { "__type__": "cc.PrefabInfo", @@ -6346,7 +6346,7 @@ "asset": { "__id__": 0 }, - "fileId": "HUkHpuXcjOcohVbIT4wZ1m" + "fileId": "KkrOG9oFjmE2NRWZBMjd8h" }, { "__type__": "cc.PrefabInfo", @@ -6356,7 +6356,7 @@ "asset": { "__id__": 0 }, - "fileId": "O6lFvi3hUA9eEv41Wa43N6" + "fileId": "TsJznKivRoTGyEt5ynupsX" }, { "__type__": "cc.PrefabInfo", @@ -6366,7 +6366,7 @@ "asset": { "__id__": 0 }, - "fileId": "XFXc606EL45QjD70CvZ8wy" + "fileId": "sZdiHxlrnlirnKePRBogTS" }, { "__type__": "cc.PrefabInfo", @@ -6376,7 +6376,7 @@ "asset": { "__id__": 0 }, - "fileId": "tcfREuetKHF0JrNzV9wu7q" + "fileId": "zlCXJjNdcLa7Fyqig0BWMl" }, { "__type__": "cc.PrefabInfo", @@ -6386,7 +6386,7 @@ "asset": { "__id__": 0 }, - "fileId": "DxBhrkZQGbZ1P6feGhLBKA" + "fileId": "VeIVcTKKVWdwpv6GXpgeqB" }, { "__type__": "cc.PrefabInfo", @@ -6396,7 +6396,7 @@ "asset": { "__id__": 0 }, - "fileId": "kgp1Wr3QUaJQ3E7dI8MHDP" + "fileId": "myZvPLJQyfSDOFCKb8qgB8" }, { "__type__": "cc.PrefabInfo", @@ -6406,7 +6406,7 @@ "asset": { "__id__": 0 }, - "fileId": "mD11MFT3ghnEnwqBppE6Ls" + "fileId": "hWzOugkLNDbrfM8y7NW9FA" }, { "__type__": "cc.PrefabInfo", @@ -6416,7 +6416,7 @@ "asset": { "__id__": 0 }, - "fileId": "ycWhlHZlfdjIncNrCujRFm" + "fileId": "VY98Wd1I0fxq0X8zvrFBxE" }, { "__type__": "cc.PrefabInfo", @@ -6426,7 +6426,7 @@ "asset": { "__id__": 0 }, - "fileId": "w1enPKIzjGLcgpriXS5sXA" + "fileId": "2vQcX3graNTPvCYQqBYMLW" }, { "__type__": "cc.PrefabInfo", @@ -6436,7 +6436,7 @@ "asset": { "__id__": 0 }, - "fileId": "JZeoYRQ1TS3StTthpB8aBc" + "fileId": "jQyXeq84eGtmxFdX4SRqHL" }, { "__type__": "cc.PrefabInfo", @@ -6446,7 +6446,7 @@ "asset": { "__id__": 0 }, - "fileId": "saQKBvOQxLZWWN5u9VhfGc" + "fileId": "4frJW4SXZzAQMSwk6HczB3" }, { "__type__": "cc.PrefabInfo", @@ -6456,7 +6456,7 @@ "asset": { "__id__": 0 }, - "fileId": "JWHaY6lclMMTHFDqPRxx6f" + "fileId": "XRwDPdc5U9pXDlLOpqle1z" }, { "__type__": "cc.PrefabInfo", @@ -6466,7 +6466,7 @@ "asset": { "__id__": 0 }, - "fileId": "xc7Zxtyv2HNpzCI3veUq4p" + "fileId": "reDf1ojLA17pv75f7TuHZD" }, { "__type__": "cc.PrefabInfo", @@ -6476,7 +6476,7 @@ "asset": { "__id__": 0 }, - "fileId": "B04heTWOzeC92whC1TDLVd" + "fileId": "00JaOGWpDBkgRyhw7e9HQQ" }, { "__type__": "cc.PrefabInfo", @@ -6486,7 +6486,7 @@ "asset": { "__id__": 0 }, - "fileId": "KzERXFyutLFQICO5iYsAhT" + "fileId": "FfiQAMTwb6ayuirhmNVlla" }, { "__type__": "cc.PrefabInfo", @@ -6496,7 +6496,7 @@ "asset": { "__id__": 0 }, - "fileId": "HBwiKX9joRYGD4MrnmC5PO" + "fileId": "pJglYe6ciuJe7IoBTVp2YB" }, { "__type__": "cc.PrefabInfo", @@ -6506,7 +6506,7 @@ "asset": { "__id__": 0 }, - "fileId": "gQBWMgJvSMLRLSpJBLLdUV" + "fileId": "Npqub3EUVDcsJwzlY2GwLV" }, { "__type__": "cc.PrefabInfo", @@ -6516,7 +6516,7 @@ "asset": { "__id__": 0 }, - "fileId": "lf8voy0RVINXNfgmQEhRYx" + "fileId": "MRC9qKOK1SgVQgONEWzdLO" }, { "__type__": "cc.PrefabInfo", @@ -6526,7 +6526,7 @@ "asset": { "__id__": 0 }, - "fileId": "Yon5es7H39XgK6ARupZeNt" + "fileId": "yndvDYFW966JMk6QsrBvgJ" }, { "__type__": "cc.PrefabInfo", @@ -6536,7 +6536,7 @@ "asset": { "__id__": 0 }, - "fileId": "yuAY0YVWlFcoKV4U69EFuR" + "fileId": "gmchuTAAup9hyyht5OBMda" }, { "__type__": "cc.PrefabInfo", @@ -6546,7 +6546,7 @@ "asset": { "__id__": 0 }, - "fileId": "ciSBx2ATLrNb7kVXHaPC3I" + "fileId": "QwUaLGRvXyl3mDQGBVAFjD" }, { "__type__": "cc.PrefabInfo", @@ -6556,7 +6556,7 @@ "asset": { "__id__": 0 }, - "fileId": "bhGfPZS4LfnDG7rATgnj00" + "fileId": "g7HDfebQ5KDP2a5Z3AqPdp" }, { "__type__": "cc.PrefabInfo", @@ -6566,7 +6566,7 @@ "asset": { "__id__": 0 }, - "fileId": "46Lk0DrJBHm2e0gfe0RFYe" + "fileId": "SiUME40T5RT2fn2FFF61HJ" }, { "__type__": "cc.PrefabInfo", @@ -6576,7 +6576,7 @@ "asset": { "__id__": 0 }, - "fileId": "HvXgqan2vWFoLJvITFG5fC" + "fileId": "D4BxVJ4261CwPJpMlOWHNe" }, { "__type__": "cc.PrefabInfo", @@ -6586,7 +6586,7 @@ "asset": { "__id__": 0 }, - "fileId": "E3qaNuTtWZA0KvkJrfpwbI" + "fileId": "aIu3pXs9ShlZ1SH2Ga2IaE" }, { "__type__": "cc.PrefabInfo", @@ -6596,7 +6596,7 @@ "asset": { "__id__": 0 }, - "fileId": "zuIWodKzLeJbh7eZyJW0FX" + "fileId": "xuVhV0CgLl0yYcMSGbfyCx" }, { "__type__": "cc.PrefabInfo", @@ -6606,7 +6606,7 @@ "asset": { "__id__": 0 }, - "fileId": "ekJLx20R1jvhzbQn0UPBcD" + "fileId": "fObghH4bzJEcRd9W9mHzAE" }, { "__type__": "cc.PrefabInfo", @@ -6616,7 +6616,7 @@ "asset": { "__id__": 0 }, - "fileId": "qL8Q6kiACETejsneWWVcFK" + "fileId": "GS4Bex82XhumrEjNZMhQxc" }, { "__type__": "cc.PrefabInfo", @@ -6626,7 +6626,7 @@ "asset": { "__id__": 0 }, - "fileId": "VmevnfTuJUFsmSyxZDHtUs" + "fileId": "VvtE180D8eMjuYjzVJ5aMP" }, { "__type__": "cc.PrefabInfo", @@ -6636,7 +6636,7 @@ "asset": { "__id__": 0 }, - "fileId": "C6g1tI2QuTI48MpDne1l84" + "fileId": "GRAQw0zVHtewsLAXA8XyXX" }, { "__type__": "cc.PrefabInfo", @@ -6646,7 +6646,7 @@ "asset": { "__id__": 0 }, - "fileId": "Ub0AoFiEk4E3NxreHkD4y6" + "fileId": "Qxj294Nc8N2ymTGuw15Pru" }, { "__type__": "cc.PrefabInfo", @@ -6656,7 +6656,7 @@ "asset": { "__id__": 0 }, - "fileId": "sprY3YiHVDvY3rzCYv3P2Q" + "fileId": "3tF0ylwn8RQ4Y1qesY02JB" }, { "__type__": "cc.PrefabInfo", @@ -6666,7 +6666,7 @@ "asset": { "__id__": 0 }, - "fileId": "kZOrY1DAxtO2UYEiS3tMox" + "fileId": "x8V4oe13ZsnZssJ3oETaUL" }, { "__type__": "cc.PrefabInfo", @@ -6676,7 +6676,7 @@ "asset": { "__id__": 0 }, - "fileId": "yow4uDwtPdXmdWeiScRJQ5" + "fileId": "88j5xc28jMsndCxlIgRc5X" }, { "__type__": "cc.PrefabInfo", @@ -6686,7 +6686,7 @@ "asset": { "__id__": 0 }, - "fileId": "VJ4b3tJ0YHqAmQ3yvAMVSE" + "fileId": "SZHmlcO9spo3AIbRyxl3WM" }, { "__type__": "cc.PrefabInfo", @@ -6696,7 +6696,7 @@ "asset": { "__id__": 0 }, - "fileId": "dbqTAyVzjbqYZIMoO07dQL" + "fileId": "1EumN8jjZ35QIwuhW6jyXN" }, { "__type__": "cc.PrefabInfo", @@ -6706,7 +6706,7 @@ "asset": { "__id__": 0 }, - "fileId": "qAsTINC5C9iCgeXns6XSb0" + "fileId": "hU0jMkJyKUMAsF6ye90WkX" }, { "__type__": "cc.PrefabInfo", @@ -6716,7 +6716,7 @@ "asset": { "__id__": 0 }, - "fileId": "oLAAelZBSEr6qGmmJ1Qw5r" + "fileId": "Dbv2SfqGt6YAhmmu7pSDbv" }, { "__type__": "cc.PrefabInfo", @@ -6726,7 +6726,7 @@ "asset": { "__id__": 0 }, - "fileId": "2hMLAJw6VquDMl36eRNBAj" + "fileId": "qnHOxICYlwDrabyJyfmqSR" }, { "__type__": "cc.PrefabInfo", @@ -6736,6 +6736,6 @@ "asset": { "__id__": 0 }, - "fileId": "IWxBPuiLxsjzTXKJ9yOso1" + "fileId": "DD84IeW73Jkvhis1qUixnn" } ] \ No newline at end of file diff --git a/assets/level-data/level-prefab-uuids.json b/assets/level-data/level-prefab-uuids.json index e98f3e9..314e97e 100644 --- a/assets/level-data/level-prefab-uuids.json +++ b/assets/level-data/level-prefab-uuids.json @@ -1,4 +1,5 @@ { + "132536": "da966895-698a-4c63-b46f-159ea2d26660", "91601": "18396660-9a51-4503-8d42-c52d4bfb51e6", "91602": "6c0fe2aa-0b6f-4582-b3bf-f021d2ad32b2", "91603": "9157606c-1248-4878-b61b-d7d74030fdc6", diff --git a/assets/level-data/levels-database.json b/assets/level-data/levels-database.json index 35c0c15..249bf8e 100644 --- a/assets/level-data/levels-database.json +++ b/assets/level-data/levels-database.json @@ -1,6 +1,6 @@ { "version": 2, - "generatedAt": "2026-06-15T14:45:03.186359+00:00", + "generatedAt": "2026-06-30T07:29:45.699756+00:00", "source": "Unity Levels91601.cs + prefab maps (91600-91609 import) | levelIdBase=91601 (Unity aligned)", "levelIdBase": 91601, "stats": { @@ -598,30 +598,30 @@ "-3,-2": "WallBlock", "-3,-3": "WallBlock", "-3,-4": "WallBlock", - "0,-2": "WallBlock", "0,-3": "WallBlock", "0,-4": "WallBlock", - "0,0": "WallBlock", - "0,1": "WallBlock", "0,2": "WallBlock", "1,-2": "WallBlock", "1,-3": "WallBlock", "1,-4": "WallBlock", - "1,0": "WallBlock", - "1,1": "WallBlock", - "1,2": "WallBlock", "2,-2": "WallBlock", "2,-3": "WallBlock", "2,-4": "WallBlock", - "2,0": "WallBlock", - "2,1": "WallBlock", "2,2": "WallBlock", "3,-2": "WallBlock", "3,-3": "WallBlock", "3,-4": "WallBlock", - "3,0": "WallBlock", + "3,2": "WallBlock", + "1,2": "WallBlock", + "0,1": "WallBlock", + "0,0": "WallBlock", + "1,0": "WallBlock", + "1,1": "WallBlock", + "2,0": "WallBlock", + "2,1": "WallBlock", "3,1": "WallBlock", - "3,2": "WallBlock" + "3,0": "WallBlock", + "0,-2": "WallBlock" }, "theme": "silu" }, @@ -422356,7 +422356,10 @@ } ], "cocosPrefab": "level-prefabs/Level132536", - "unityPrefab": "Assets/Prefabs/Level/Level40936.prefab" + "unityPrefab": "Assets/Prefabs/Level/Level132536.prefab", + "ground": {}, + "border": {}, + "theme": "silu" } } } \ No newline at end of file diff --git a/assets/resources/level-prefabs.meta b/assets/resources/level-prefabs.meta new file mode 100644 index 0000000..eb34135 --- /dev/null +++ b/assets/resources/level-prefabs.meta @@ -0,0 +1,9 @@ +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "582480fc-2689-4db8-ad14-eb68b592174b", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/resources/level-prefabs/Level91614.prefab b/assets/resources/level-prefabs/Level91614.prefab new file mode 100644 index 0000000..1d7572e --- /dev/null +++ b/assets/resources/level-prefabs/Level91614.prefab @@ -0,0 +1,7539 @@ +[ + { + "__type__": "cc.Prefab", + "_name": "Level91614", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "persistent": false + }, + { + "__type__": "cc.Node", + "_name": "Level91614", + "_objFlags": 0, + "_parent": null, + "_children": [ + { + "__id__": 278 + }, + { + "__id__": 277 + } + ], + "_active": true, + "_components": [ + { + "__id__": 280 + }, + { + "__id__": 282 + } + ], + "_prefab": { + "__id__": 283 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_-1_-1", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 4 + }, + { + "__id__": 6 + } + ], + "_prefab": { + "__id__": 284 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0.0, + "y": -25.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "zcdqP5Si0BvBt7O4fqZ3FU" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 3 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 113.0859375 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.67 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "MEfr3ubAe82zGr7BTO7hTV" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 5 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "dc25051f-c338-4bfe-a17e-9cab4481d645@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_-2_-2", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 9 + }, + { + "__id__": 11 + } + ], + "_prefab": { + "__id__": 285 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0.0, + "y": -75.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "7NcbgKuwUm5TmdhpHKs7LX" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 7 + }, + "_enabled": true, + "__prefab": { + "__id__": 8 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 113.0859375 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.67 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "N8os2zImhHKp3vkIHsFnfk" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 7 + }, + "_enabled": true, + "__prefab": { + "__id__": 10 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "dc25051f-c338-4bfe-a17e-9cab4481d645@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_-3_-2", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 14 + }, + { + "__id__": 16 + } + ], + "_prefab": { + "__id__": 286 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -50.0, + "y": -100.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "bAi3VWbBC8WlPoeRC4LP3U" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 12 + }, + "_enabled": true, + "__prefab": { + "__id__": 13 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 113.0859375 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.67 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "hB3vW76c7Jx1nI2EmT3hhr" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 12 + }, + "_enabled": true, + "__prefab": { + "__id__": 15 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "dc25051f-c338-4bfe-a17e-9cab4481d645@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_-3_-3", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 19 + }, + { + "__id__": 21 + } + ], + "_prefab": { + "__id__": 287 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0.0, + "y": -125.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "58jP0U3LKH256wUWYJb83Q" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 17 + }, + "_enabled": true, + "__prefab": { + "__id__": 18 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 113.0859375 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.67 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "4fdLUE6081JSSOx4cKrSc4" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 17 + }, + "_enabled": true, + "__prefab": { + "__id__": 20 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "dc25051f-c338-4bfe-a17e-9cab4481d645@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_-3_-4", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 24 + }, + { + "__id__": 26 + } + ], + "_prefab": { + "__id__": 288 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 50.0, + "y": -150.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "Ia6e4twccVGHoc0zQBiW5A" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 22 + }, + "_enabled": true, + "__prefab": { + "__id__": 23 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 113.0859375 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.67 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "j6uTmqepLRwKMIXooMeikV" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 22 + }, + "_enabled": true, + "__prefab": { + "__id__": 25 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "dc25051f-c338-4bfe-a17e-9cab4481d645@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_0_-1", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 29 + }, + { + "__id__": 31 + } + ], + "_prefab": { + "__id__": 289 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 50.0, + "y": 0.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "GfxE2OTX8L1ROqOuA7Wwt5" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 27 + }, + "_enabled": true, + "__prefab": { + "__id__": 28 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 113.0859375 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.67 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "9QaihPnhvyr3HiQAf7U4SC" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 27 + }, + "_enabled": true, + "__prefab": { + "__id__": 30 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "dc25051f-c338-4bfe-a17e-9cab4481d645@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_0_-2", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 34 + }, + { + "__id__": 36 + } + ], + "_prefab": { + "__id__": 290 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 100.0, + "y": -25.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "tN2LeraA1caV3DGt0wnFPi" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 32 + }, + "_enabled": true, + "__prefab": { + "__id__": 33 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 113.0859375 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.67 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "PWeqx7vLvu4XPGJ7ElqfMd" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 32 + }, + "_enabled": true, + "__prefab": { + "__id__": 35 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "dc25051f-c338-4bfe-a17e-9cab4481d645@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_0_-3", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 39 + }, + { + "__id__": 41 + } + ], + "_prefab": { + "__id__": 291 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 150.0, + "y": -50.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "OD1s20mg37TfXn0f08iU7d" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 37 + }, + "_enabled": true, + "__prefab": { + "__id__": 38 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "gpbuXuC4rf0V5ws6xXMDc7" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 37 + }, + "_enabled": true, + "__prefab": { + "__id__": 40 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_0_-4", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 44 + }, + { + "__id__": 46 + } + ], + "_prefab": { + "__id__": 292 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 200.0, + "y": -75.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "DyS55t0b9NoUsSUN4tJIpQ" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 42 + }, + "_enabled": true, + "__prefab": { + "__id__": 43 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "Xe2xqMsWeo43t821khO22W" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 42 + }, + "_enabled": true, + "__prefab": { + "__id__": 45 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_0_0", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 49 + }, + { + "__id__": 51 + } + ], + "_prefab": { + "__id__": 293 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0.0, + "y": 25.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "iFdepsCe2E0OucvFfmDhPL" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 47 + }, + "_enabled": true, + "__prefab": { + "__id__": 48 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "d6MKBGGKRI10qcr0ihD4ym" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 47 + }, + "_enabled": true, + "__prefab": { + "__id__": 50 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_0_1", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 54 + }, + { + "__id__": 56 + } + ], + "_prefab": { + "__id__": 294 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -50.0, + "y": 50.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "lRpOFi49LjXDj2rDueWjDu" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 52 + }, + "_enabled": true, + "__prefab": { + "__id__": 53 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "QMTE5mgv72EpTh5HadnJRJ" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 52 + }, + "_enabled": true, + "__prefab": { + "__id__": 55 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_0_2", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 59 + }, + { + "__id__": 61 + } + ], + "_prefab": { + "__id__": 295 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -100.0, + "y": 75.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "gNC2oZrOm5ZjOHKhJdwklo" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 57 + }, + "_enabled": true, + "__prefab": { + "__id__": 58 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "doAs31iFbh3bwqiqz0P0Ca" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 57 + }, + "_enabled": true, + "__prefab": { + "__id__": 60 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_1_-1", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 64 + }, + { + "__id__": 66 + } + ], + "_prefab": { + "__id__": 296 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 100.0, + "y": 25.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "ZszOmlR2GFBPwBL7MPu8nA" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 62 + }, + "_enabled": true, + "__prefab": { + "__id__": 63 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 113.0859375 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.67 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "ebzAkffh2YXGUHleXhkxZA" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 62 + }, + "_enabled": true, + "__prefab": { + "__id__": 65 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "dc25051f-c338-4bfe-a17e-9cab4481d645@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_1_-2", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 69 + }, + { + "__id__": 71 + } + ], + "_prefab": { + "__id__": 297 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 150.0, + "y": 0.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "lmu9OFDcJghbI0XL5JNT7N" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 67 + }, + "_enabled": true, + "__prefab": { + "__id__": 68 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "Cxbq8IWvuPhttI1tkt1KdL" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 67 + }, + "_enabled": true, + "__prefab": { + "__id__": 70 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_1_-3", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 74 + }, + { + "__id__": 76 + } + ], + "_prefab": { + "__id__": 298 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 200.0, + "y": -25.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "pDgfFz7crii2Mqo470dq0E" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 72 + }, + "_enabled": true, + "__prefab": { + "__id__": 73 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "UitLJRgZIsOPr4PqtnsHpR" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 72 + }, + "_enabled": true, + "__prefab": { + "__id__": 75 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_1_-4", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 79 + }, + { + "__id__": 81 + } + ], + "_prefab": { + "__id__": 299 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 250.0, + "y": -50.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "azx8ej0wi9qdfwTFkrFrdR" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 77 + }, + "_enabled": true, + "__prefab": { + "__id__": 78 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "1hj7KHJiYPd0on9K5TFGvv" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 77 + }, + "_enabled": true, + "__prefab": { + "__id__": 80 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_1_0", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 84 + }, + { + "__id__": 86 + } + ], + "_prefab": { + "__id__": 300 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 50.0, + "y": 50.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "cNh3WDOH4fSy17p8kFr4tt" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 82 + }, + "_enabled": true, + "__prefab": { + "__id__": 83 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "0oWzAIhEZ4HYy744OHK6ig" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 82 + }, + "_enabled": true, + "__prefab": { + "__id__": 85 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_1_1", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 89 + }, + { + "__id__": 91 + } + ], + "_prefab": { + "__id__": 301 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0.0, + "y": 75.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "VIXJf2OADF47bBKalK05J1" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 87 + }, + "_enabled": true, + "__prefab": { + "__id__": 88 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "UUjuxhDy6NWP3l5dzXeTtZ" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 87 + }, + "_enabled": true, + "__prefab": { + "__id__": 90 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_1_2", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 94 + }, + { + "__id__": 96 + } + ], + "_prefab": { + "__id__": 302 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -50.0, + "y": 100.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "JJp37HH9TBuZwbVNAOWIVD" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 92 + }, + "_enabled": true, + "__prefab": { + "__id__": 93 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "DjbvZthTTV4VTPyGlfu74Y" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 92 + }, + "_enabled": true, + "__prefab": { + "__id__": 95 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_2_-1", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 99 + }, + { + "__id__": 101 + } + ], + "_prefab": { + "__id__": 303 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 150.0, + "y": 50.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "he3abECgB9v1WjAg8HZBHg" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 97 + }, + "_enabled": true, + "__prefab": { + "__id__": 98 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 113.0859375 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.67 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "ZM6Qr2znV3pWHk2EM8b11V" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 97 + }, + "_enabled": true, + "__prefab": { + "__id__": 100 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "dc25051f-c338-4bfe-a17e-9cab4481d645@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_2_-2", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 104 + }, + { + "__id__": 106 + } + ], + "_prefab": { + "__id__": 304 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 200.0, + "y": 25.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "BpBIQbwNw4Ko28at24nZe5" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 102 + }, + "_enabled": true, + "__prefab": { + "__id__": 103 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "JhreqIyUAonzmic4KO9tT2" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 102 + }, + "_enabled": true, + "__prefab": { + "__id__": 105 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_2_-3", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 109 + }, + { + "__id__": 111 + } + ], + "_prefab": { + "__id__": 305 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 250.0, + "y": 0.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "exEaryaFL3FHu69qM8I0b8" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 107 + }, + "_enabled": true, + "__prefab": { + "__id__": 108 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "6bvFlBFtON6YklJcNoKNWR" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 107 + }, + "_enabled": true, + "__prefab": { + "__id__": 110 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_2_-4", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 114 + }, + { + "__id__": 116 + } + ], + "_prefab": { + "__id__": 306 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 300.0, + "y": -25.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "JFe88164RtYJlFrzDlOfze" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 112 + }, + "_enabled": true, + "__prefab": { + "__id__": 113 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "b620mlvfjDQFkMhetOpWLu" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 112 + }, + "_enabled": true, + "__prefab": { + "__id__": 115 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_2_0", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 119 + }, + { + "__id__": 121 + } + ], + "_prefab": { + "__id__": 307 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 100.0, + "y": 75.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "4x3NLmqvTOAVpf42S9mdNW" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 117 + }, + "_enabled": true, + "__prefab": { + "__id__": 118 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "wmuQDxyghEZLSuk3iU8c3g" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 117 + }, + "_enabled": true, + "__prefab": { + "__id__": 120 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_2_1", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 124 + }, + { + "__id__": 126 + } + ], + "_prefab": { + "__id__": 308 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 50.0, + "y": 100.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "qRJX6FADMAeac8DGadFumL" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 122 + }, + "_enabled": true, + "__prefab": { + "__id__": 123 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "8Y9mzISWJxVOf0gWF7Ypf4" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 122 + }, + "_enabled": true, + "__prefab": { + "__id__": 125 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_2_2", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 129 + }, + { + "__id__": 131 + } + ], + "_prefab": { + "__id__": 309 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0.0, + "y": 125.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "tr7Bi8bvspCgqWO2nCTCfG" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 127 + }, + "_enabled": true, + "__prefab": { + "__id__": 128 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "TVN8li3aWI246umtsIfbaj" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 127 + }, + "_enabled": true, + "__prefab": { + "__id__": 130 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_3_-1", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 134 + }, + { + "__id__": 136 + } + ], + "_prefab": { + "__id__": 310 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 200.0, + "y": 75.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "nYS1jcH3BDTmsRNAo4Hw1E" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 132 + }, + "_enabled": true, + "__prefab": { + "__id__": 133 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 113.0859375 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.67 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "saPwTPJzC2ZY29cR0w4sov" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 132 + }, + "_enabled": true, + "__prefab": { + "__id__": 135 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "dc25051f-c338-4bfe-a17e-9cab4481d645@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_3_-2", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 139 + }, + { + "__id__": 141 + } + ], + "_prefab": { + "__id__": 311 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 250.0, + "y": 50.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "yTPakHq7kdLsV84kQkqq2u" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 137 + }, + "_enabled": true, + "__prefab": { + "__id__": 138 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "JJAYwiGM8LKKA8bSAqfOb7" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 137 + }, + "_enabled": true, + "__prefab": { + "__id__": 140 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_3_-3", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 144 + }, + { + "__id__": 146 + } + ], + "_prefab": { + "__id__": 312 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 300.0, + "y": 25.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "M9FDpT2ldmjoM9MYA8zJAv" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 142 + }, + "_enabled": true, + "__prefab": { + "__id__": 143 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "MMhmirTXlJ7Cc41dU8oknm" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 142 + }, + "_enabled": true, + "__prefab": { + "__id__": 145 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_3_-4", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 149 + }, + { + "__id__": 151 + } + ], + "_prefab": { + "__id__": 313 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 350.0, + "y": 0.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "j5cLLPgdRd6iUglPtUuHTU" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 147 + }, + "_enabled": true, + "__prefab": { + "__id__": 148 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "dMyimvtaFBrPmny8twKwMA" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 147 + }, + "_enabled": true, + "__prefab": { + "__id__": 150 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_3_0", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 154 + }, + { + "__id__": 156 + } + ], + "_prefab": { + "__id__": 314 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 150.0, + "y": 100.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "nMaqKyHVDisD6glSLoR9JM" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 152 + }, + "_enabled": true, + "__prefab": { + "__id__": 153 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "41V86GPOV9aPpx0Lq6A5xr" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 152 + }, + "_enabled": true, + "__prefab": { + "__id__": 155 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_3_1", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 159 + }, + { + "__id__": 161 + } + ], + "_prefab": { + "__id__": 315 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 100.0, + "y": 125.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "LVUILeKFqYZ6obrRd3MCz4" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 157 + }, + "_enabled": true, + "__prefab": { + "__id__": 158 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "UqC5J5hOaFyP2mKIm2zVOA" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 157 + }, + "_enabled": true, + "__prefab": { + "__id__": 160 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "b_3_2", + "_objFlags": 0, + "_parent": { + "__id__": 277 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 164 + }, + { + "__id__": 166 + } + ], + "_prefab": { + "__id__": 316 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 50.0, + "y": 150.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "q9FqIIq0K8e7ELhNlBVxdR" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 162 + }, + "_enabled": true, + "__prefab": { + "__id__": 163 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 80.078125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1.01 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "wc8xAH0LAxLmSqGKFVZ1qJ" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 162 + }, + "_enabled": true, + "__prefab": { + "__id__": 165 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "54d22fb5-9bb8-4f02-acbf-5f333e91a76b@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-1_-1", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 169 + }, + { + "__id__": 171 + } + ], + "_prefab": { + "__id__": 317 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0.0, + "y": -25.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "jDK64w2N8BuyYJEof3ePSm" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 167 + }, + "_enabled": true, + "__prefab": { + "__id__": 168 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "MpXeIQBC8mpYS092kz8PRd" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 167 + }, + "_enabled": true, + "__prefab": { + "__id__": 170 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-1_-2", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 174 + }, + { + "__id__": 176 + } + ], + "_prefab": { + "__id__": 318 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 50.0, + "y": -50.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "tDUNdEvrt7veVEL8WMeo6C" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 172 + }, + "_enabled": true, + "__prefab": { + "__id__": 173 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "WfAAE0SkTOwqI9WjbwYTC9" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 172 + }, + "_enabled": true, + "__prefab": { + "__id__": 175 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-1_-3", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 179 + }, + { + "__id__": 181 + } + ], + "_prefab": { + "__id__": 319 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 100.0, + "y": -75.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "34LRW5Cu3SExZhNh9wj4TX" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 177 + }, + "_enabled": true, + "__prefab": { + "__id__": 178 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "pJLcmZZzJfhg6HWTNMHSUW" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 177 + }, + "_enabled": true, + "__prefab": { + "__id__": 180 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-1_-4", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 184 + }, + { + "__id__": 186 + } + ], + "_prefab": { + "__id__": 320 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 150.0, + "y": -100.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "qH0xo4IfudpfNeLIe9C5YH" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 182 + }, + "_enabled": true, + "__prefab": { + "__id__": 183 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "EfnDA2ZB1BWgiPN0S21du4" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 182 + }, + "_enabled": true, + "__prefab": { + "__id__": 185 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-1_0", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 189 + }, + { + "__id__": 191 + } + ], + "_prefab": { + "__id__": 321 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -50.0, + "y": 0.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "65AiLCmlLf1Nh7qPoKyFbr" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 187 + }, + "_enabled": true, + "__prefab": { + "__id__": 188 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "CKOTGQmvEYUSawYpG2RtNY" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 187 + }, + "_enabled": true, + "__prefab": { + "__id__": 190 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-1_1", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 194 + }, + { + "__id__": 196 + } + ], + "_prefab": { + "__id__": 322 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -100.0, + "y": 25.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "dWy7shut34bcVRPDW1OBIc" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 192 + }, + "_enabled": true, + "__prefab": { + "__id__": 193 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "US1a3A4KLCdMQcjllg56JT" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 192 + }, + "_enabled": true, + "__prefab": { + "__id__": 195 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-1_2", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 199 + }, + { + "__id__": 201 + } + ], + "_prefab": { + "__id__": 323 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -150.0, + "y": 50.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "XIRtTtSrakK2WpdA62RH3c" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 197 + }, + "_enabled": true, + "__prefab": { + "__id__": 198 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "sY4ITZODnFVUajNAnQ4Mcv" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 197 + }, + "_enabled": true, + "__prefab": { + "__id__": 200 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-2_-1", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 204 + }, + { + "__id__": 206 + } + ], + "_prefab": { + "__id__": 324 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -50.0, + "y": -50.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "VhbIRLRyaLKqf4VoSvV1IW" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 202 + }, + "_enabled": true, + "__prefab": { + "__id__": 203 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "pBJswPpHSgBYarFZVpMjKb" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 202 + }, + "_enabled": true, + "__prefab": { + "__id__": 205 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-2_-2", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 209 + }, + { + "__id__": 211 + } + ], + "_prefab": { + "__id__": 325 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0.0, + "y": -75.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "sXU8jkkQnx0mJgLUSrJt6A" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 207 + }, + "_enabled": true, + "__prefab": { + "__id__": 208 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "h7xSHl3p4VGJqV6roO5zCs" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 207 + }, + "_enabled": true, + "__prefab": { + "__id__": 210 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-2_-3", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 214 + }, + { + "__id__": 216 + } + ], + "_prefab": { + "__id__": 326 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 50.0, + "y": -100.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "VysgSCSwLpAKhDPnpeVqv1" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 212 + }, + "_enabled": true, + "__prefab": { + "__id__": 213 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "7fdR8A8g7GuphECrzCz2yH" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 212 + }, + "_enabled": true, + "__prefab": { + "__id__": 215 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-2_-4", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 219 + }, + { + "__id__": 221 + } + ], + "_prefab": { + "__id__": 327 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 100.0, + "y": -125.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "4JSs4dWPrGdH2bHw2wOvZ7" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 217 + }, + "_enabled": true, + "__prefab": { + "__id__": 218 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "NuN5E01ERhAVIb2UWzX1U4" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 217 + }, + "_enabled": true, + "__prefab": { + "__id__": 220 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-2_0", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 224 + }, + { + "__id__": 226 + } + ], + "_prefab": { + "__id__": 328 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -100.0, + "y": -25.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "E39XpyC0lZRmR113RE8ivS" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 222 + }, + "_enabled": true, + "__prefab": { + "__id__": 223 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "y5fEAAyXXTHqazeZ0S9TKE" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 222 + }, + "_enabled": true, + "__prefab": { + "__id__": 225 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-2_1", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 229 + }, + { + "__id__": 231 + } + ], + "_prefab": { + "__id__": 329 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -150.0, + "y": 0.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "miUahpnfZUE5NAbL6Xoxwd" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 227 + }, + "_enabled": true, + "__prefab": { + "__id__": 228 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "mHqFpCZbkRXA9otuMAmV59" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 227 + }, + "_enabled": true, + "__prefab": { + "__id__": 230 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-2_2", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 234 + }, + { + "__id__": 236 + } + ], + "_prefab": { + "__id__": 330 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -200.0, + "y": 25.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "xW20JiU8pPR3IzVL1dSNhi" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 232 + }, + "_enabled": true, + "__prefab": { + "__id__": 233 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "xpxwIAlPwp2KZbr7dTLrUM" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 232 + }, + "_enabled": true, + "__prefab": { + "__id__": 235 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-3_-1", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 239 + }, + { + "__id__": 241 + } + ], + "_prefab": { + "__id__": 331 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -100.0, + "y": -75.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "rZUQcfBYA9o391EHMPTvH9" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 237 + }, + "_enabled": true, + "__prefab": { + "__id__": 238 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "IHS6VpB1IBGkveUQfA8XeZ" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 237 + }, + "_enabled": true, + "__prefab": { + "__id__": 240 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-3_0", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 244 + }, + { + "__id__": 246 + } + ], + "_prefab": { + "__id__": 332 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -150.0, + "y": -50.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "2hqeR2sMYxGh0V1jLtcO7Z" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 242 + }, + "_enabled": true, + "__prefab": { + "__id__": 243 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "BQtB3DwpN1e1skpaGWx45l" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 242 + }, + "_enabled": true, + "__prefab": { + "__id__": 245 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-3_1", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 249 + }, + { + "__id__": 251 + } + ], + "_prefab": { + "__id__": 333 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -200.0, + "y": -25.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "51GVi0AXyeYI5INnXmkqEu" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 247 + }, + "_enabled": true, + "__prefab": { + "__id__": 248 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "dE6oa17hs5g1O5TEdrSwew" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 247 + }, + "_enabled": true, + "__prefab": { + "__id__": 250 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_-3_2", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 254 + }, + { + "__id__": 256 + } + ], + "_prefab": { + "__id__": 334 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -250.0, + "y": 0.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "jjXmCWg9oZfH0DA58JyQOp" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 252 + }, + "_enabled": true, + "__prefab": { + "__id__": 253 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "Y0OEC6ny9TPJO6jEo2Ehr0" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 252 + }, + "_enabled": true, + "__prefab": { + "__id__": 255 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_0_-1", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 259 + }, + { + "__id__": 261 + } + ], + "_prefab": { + "__id__": 335 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 50.0, + "y": 0.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "nmBzZs0El7iPm32ZNJbuGu" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 257 + }, + "_enabled": true, + "__prefab": { + "__id__": 258 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "77aIlg6x4kOOE9SmMg5kZM" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 257 + }, + "_enabled": true, + "__prefab": { + "__id__": 260 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_1_-1", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 264 + }, + { + "__id__": 266 + } + ], + "_prefab": { + "__id__": 336 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 100.0, + "y": 25.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "201AFOnSvbKNQk57c6AXSI" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 262 + }, + "_enabled": true, + "__prefab": { + "__id__": 263 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "g5Z7VIZzJwYQGGb4kHqExr" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 262 + }, + "_enabled": true, + "__prefab": { + "__id__": 265 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_2_-1", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 269 + }, + { + "__id__": 271 + } + ], + "_prefab": { + "__id__": 337 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 150.0, + "y": 50.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "Efhm95UBSr434UhBIfCUNP" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 267 + }, + "_enabled": true, + "__prefab": { + "__id__": 268 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "I6d6Ct3WyUsDuQel8BZcyS" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 267 + }, + "_enabled": true, + "__prefab": { + "__id__": 270 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "g_3_-1", + "_objFlags": 0, + "_parent": { + "__id__": 278 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 274 + }, + { + "__id__": 276 + } + ], + "_prefab": { + "__id__": 338 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 200.0, + "y": 75.0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "DPXgWUAAEDFp3BGHf65GIa" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 272 + }, + "_enabled": true, + "__prefab": { + "__id__": 273 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 100.0, + "height": 81.4453125 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.92 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "ObBwgepbh9uGzij5ZkVgRn" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 272 + }, + "_enabled": true, + "__prefab": { + "__id__": 275 + }, + "_visFlags": 0, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "5625da25-9915-416f-be60-c6decb355672@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Border", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 2 + }, + { + "__id__": 7 + }, + { + "__id__": 12 + }, + { + "__id__": 17 + }, + { + "__id__": 22 + }, + { + "__id__": 27 + }, + { + "__id__": 32 + }, + { + "__id__": 37 + }, + { + "__id__": 42 + }, + { + "__id__": 47 + }, + { + "__id__": 52 + }, + { + "__id__": 57 + }, + { + "__id__": 62 + }, + { + "__id__": 67 + }, + { + "__id__": 72 + }, + { + "__id__": 77 + }, + { + "__id__": 82 + }, + { + "__id__": 87 + }, + { + "__id__": 92 + }, + { + "__id__": 97 + }, + { + "__id__": 102 + }, + { + "__id__": 107 + }, + { + "__id__": 112 + }, + { + "__id__": 117 + }, + { + "__id__": 122 + }, + { + "__id__": 127 + }, + { + "__id__": 132 + }, + { + "__id__": 137 + }, + { + "__id__": 142 + }, + { + "__id__": 147 + }, + { + "__id__": 152 + }, + { + "__id__": 157 + }, + { + "__id__": 162 + } + ], + "_active": true, + "_components": [], + "_prefab": { + "__id__": 339 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Ground", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 167 + }, + { + "__id__": 172 + }, + { + "__id__": 177 + }, + { + "__id__": 182 + }, + { + "__id__": 187 + }, + { + "__id__": 192 + }, + { + "__id__": 197 + }, + { + "__id__": 202 + }, + { + "__id__": 207 + }, + { + "__id__": 212 + }, + { + "__id__": 217 + }, + { + "__id__": 222 + }, + { + "__id__": 227 + }, + { + "__id__": 232 + }, + { + "__id__": 237 + }, + { + "__id__": 242 + }, + { + "__id__": 247 + }, + { + "__id__": 252 + }, + { + "__id__": 257 + }, + { + "__id__": 262 + }, + { + "__id__": 267 + }, + { + "__id__": 272 + } + ], + "_active": true, + "_components": [], + "_prefab": { + "__id__": 340 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "mOJ0S1GLmCsiuU8IbE9Zel" + }, + { + "__type__": "d4e5fanuMlNDh8qO0xdbn+K", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 279 + }, + "levelID": 91614, + "groundJson": "{\"-1,-1\":\"Baseblock\",\"-1,-2\":\"Baseblock\",\"-1,-3\":\"Baseblock\",\"-1,-4\":\"Baseblock\",\"-1,0\":\"Baseblock\",\"-1,1\":\"Baseblock\",\"-1,2\":\"Baseblock\",\"-2,-1\":\"Baseblock\",\"-2,-2\":\"Baseblock\",\"-2,-3\":\"Baseblock\",\"-2,-4\":\"Baseblock\",\"-2,0\":\"Baseblock\",\"-2,1\":\"Baseblock\",\"-2,2\":\"Baseblock\",\"-3,-1\":\"Baseblock\",\"-3,0\":\"Baseblock\",\"-3,1\":\"Baseblock\",\"-3,2\":\"Baseblock\",\"0,-1\":\"Baseblock\",\"1,-1\":\"Baseblock\",\"2,-1\":\"Baseblock\",\"3,-1\":\"Baseblock\"}", + "borderJson": "{\"0,-3\":\"kuai11\",\"0,-4\":\"kuai11\",\"0,1\":\"kuai11\",\"0,2\":\"kuai11\",\"1,-3\":\"kuai11\",\"1,-4\":\"kuai11\",\"1,1\":\"kuai11\",\"1,2\":\"kuai11\",\"2,-3\":\"kuai11\",\"2,-4\":\"kuai11\",\"2,1\":\"kuai11\",\"2,2\":\"kuai11\",\"3,-3\":\"kuai11\",\"3,-4\":\"kuai11\",\"3,1\":\"kuai11\",\"3,2\":\"kuai11\",\"0,0\":\"kuai11\",\"1,0\":\"kuai11\",\"2,0\":\"kuai11\",\"3,0\":\"kuai11\",\"0,-2\":\"WallBlock\",\"1,-2\":\"kuai11\",\"2,-2\":\"kuai11\",\"3,-2\":\"kuai11\",\"-3,-2\":\"WallBlock\",\"-3,-3\":\"WallBlock\",\"-3,-4\":\"WallBlock\",\"-2,-2\":\"WallBlock\",\"-1,-1\":\"WallBlock\",\"0,-1\":\"WallBlock\",\"1,-1\":\"WallBlock\",\"2,-1\":\"WallBlock\",\"3,-1\":\"WallBlock\"}", + "theme": "silu", + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "5JNyy2Df5bpanSuQOlFRmo" + }, + { + "__type__": "739b2brZKNN16CEy+hU2Yo2", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 281 + }, + "snapEnabled": true, + "showGrid": true, + "gridRadius": 12, + "gridPadding": 2, + "highlightOccupied": true, + "syncNodeNames": true, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "d4otvsTAa0gcyVjmjoFz5J" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "nJHmTeLN3z0waFWfJXSQ7n" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "Ln9jYcv2wo0p7UozXDS1wf" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "bSGocWIYahGJ8bdbJuZzFK" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "J4JbwcHBrB4SZ2FL3m8qjh" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "hJKd1x5VDuAdfg5XsTCvsT" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "Bjf4uYvSbvzqmRSBhBBZNJ" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "2a6Ukeu7QfcO5xxhBbqzkJ" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "N3KufTZrSCdwzStTuV92EL" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "om2uwFtCCnbP2Ibkr8rEob" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "K4KTdRnisii6De96fiaNqt" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "fifjgLjR89IJYyGb0erhmP" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "a6ascQCNmkwQESrKwW9OwF" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "DE1HiEKb99UepfpftYsWko" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "twbxkyJBU6eeKuitDjr2fO" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "j4ibJk9s7IntPHyaDQHcWP" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "iSYgqEn4hb1ZijIwW0BUQr" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "gFSVxiU1AYbnpra6GeaQHS" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "Kb3EhQpfYzI7E36miZWgOp" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "pDMmVdsWOfuoQPBZMRc293" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "QgSBniSMqd21upzzKWYaGc" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "fjZ5BFXexKlqIs8BEPvKTe" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "pIGlVLxxewvtzDpGS4ifHd" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "l5QcpYPJetF2JS3jWnD9YP" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "IvignJNxCBKOd9LHvldkvA" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "GiVJ5BBGiblJx48X5unhJ9" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "rYdCoXlKwYDz4YtvlMBOk0" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "3oh63QVwVmB8OelAgPwdWb" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "gh1BywY5MnsG24nzNZsEpW" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "GfZY4v3DerhQa5zIAW1avp" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "olOk6k7JOPLtnDwveyNYkw" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "JfJB6UN26EV7DA7goVgOAB" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "UYeRjksN3bbXZR5tNHjEQL" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "xkdIU9svQJLfVo8cmb7CsG" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "eMdqScSVUYj8lqBilaBqkw" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "7fKrzQAuQpFIyNQqBzYtg8" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "lqsRVYNhul6whi31ZBIkol" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "GoRCMRAIKP2c2j8Yx7KnGT" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "PyNYoyBARFuh1cdy8WF1Vk" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "NiT14PwbEZj9WDidGuTn6n" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "eED5X4itjW9b6QYVXcgmQk" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "7cBYfw8HJhp1ucGy7F6VhL" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "2yDJP6oQgXTupaltOwbBS1" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "O3MtmOoA6WTiCIm28vofBn" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "oWBTMEXbRsd7J9B4xKvqRM" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "sDhb0aRQd0lUfninXCOqPt" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "rHFGrBIcAJphlPbzJmRQMt" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "OZkpQ5RmyPaAux5ywAkIDw" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "Zso7TmYc9L9jG22zR17KpL" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "zbZMztGuutmDJan6Ea30Ra" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "AHc63Zdg74zYoAXq3ddQsU" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "37VbwKZxbLRftWExzVChf7" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "c9xVxxi4oeRvVoxlTNgjJG" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "MVSD7D8N5FlIyxTkZlUAL9" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "kvrysHGiu1FXtSZlH3PHiw" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "8ENuAtDs0J7BKZryT7vcHL" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "qEtJiywONLsN8Xg8cN5GYR" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "bkx2v6G1hiamqQ9OLcVx3X" + } +] \ No newline at end of file diff --git a/assets/resources/level-prefabs/Level91614.prefab.meta b/assets/resources/level-prefabs/Level91614.prefab.meta new file mode 100644 index 0000000..c2daf06 --- /dev/null +++ b/assets/resources/level-prefabs/Level91614.prefab.meta @@ -0,0 +1,13 @@ +{ + "ver": "1.1.50", + "importer": "prefab", + "imported": true, + "uuid": "a0722d2d-f054-4cf7-93f5-c6c65880e140", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": { + "syncNodeName": "Level91614" + } +} \ No newline at end of file diff --git a/assets/scripts/controller/PlayerController.ts b/assets/scripts/controller/PlayerController.ts index 49643f4..7ba7930 100644 --- a/assets/scripts/controller/PlayerController.ts +++ b/assets/scripts/controller/PlayerController.ts @@ -19,7 +19,7 @@ import { moverLogicalGridPositionForRole, worldToMoverCellForRole, } from '../level/EntitySpawnPlacement'; -import { forEachLevelEntityNode } from '../level/TileLayout'; +import { forEachLevelEntityNode, resolveLevelDrawRoot, sortIsoTiles } from '../level/TileLayout'; const { ccclass } = _decorator; @@ -583,6 +583,9 @@ export class PlayerController extends Movement { externalCallResult(isWin: boolean) { const gm = GameManager.instance!; + if (gm.gameState === GameState.Run) { + gm.setGameState(isWin ? GameState.ResultWin : GameState.ResultFail); + } if (this.node.name === 'Player') { if (isWin) { GameAudio.playSfx('success', this.node); @@ -601,7 +604,7 @@ export class PlayerController extends Movement { } satisfies ExternalResult)); this.sendFinally = true; } - if (gm.gameState !== GameState.Run) return; - gm.setGameState(isWin ? GameState.ResultWin : GameState.ResultFail); + const root = resolveLevelDrawRoot(this.node); + if (root) sortIsoTiles(root); } } diff --git a/assets/scripts/core/Define.ts b/assets/scripts/core/Define.ts index 3e4c00d..95e6d25 100644 --- a/assets/scripts/core/Define.ts +++ b/assets/scripts/core/Define.ts @@ -76,6 +76,8 @@ export const CommonDefine = { Vehicle: 'Vehicle', BlockBase: 'Baseblock', BlockJump: 'JumpBlock', + /** 墙砖贴图 key(Border 默认瓦片;仅此类参与墙遮挡) */ + BlockWall: 'WallBlock', }; export function addDirection(dir: Direction, delta: number): Direction { diff --git a/assets/scripts/core/GridCoords.ts b/assets/scripts/core/GridCoords.ts index b699860..e683868 100644 --- a/assets/scripts/core/GridCoords.ts +++ b/assets/scripts/core/GridCoords.ts @@ -80,7 +80,7 @@ export function getHalfCellSize(): { halfW: number; halfH: number } { return { halfW: HALF_W, halfH: HALF_H }; } -/** 等距绘制深度(连续值,移动插值用;与 compareIsoDrawOrder 配套) */ +/** 等距绘制深度(连续值;关卡 sibling 排序已改用底边 Y + pivot) */ export function isoDrawDepthFromWorld(world: Vec3): { x: number; y: number } { const cx = (world.y / HALF_H + world.x / HALF_W) * 0.5; const cy = (world.y / HALF_H - world.x / HALF_W) * 0.5; diff --git a/assets/scripts/gameplay/Movement.ts b/assets/scripts/gameplay/Movement.ts index 8d36bea..0a6f53b 100644 --- a/assets/scripts/gameplay/Movement.ts +++ b/assets/scripts/gameplay/Movement.ts @@ -3,6 +3,7 @@ import { Direction, GameState, GridType, MoveState, MoverRole, addDirection, } from '../core/Define'; import { GameManager } from '../manager/GameManager'; +import { markIsoDrawOrderDirty, resolveLevelDrawRoot } from '../level/TileLayout'; import { scaledMoveSpeed, UNITY_VEHICLE_MOVE_SPEED } from '../core/GridConstants'; import { cellToWorldCenter } from '../core/GridCoords'; import { @@ -199,6 +200,7 @@ export class Movement extends Component { /** 主题 entityDisplay 变更后重算站立 Y(缩放刷新不会自动更新节点坐标) */ reapplyCellStandPosition() { this.snapMoverToCellStand(); + this.markDrawOrderDirty(); } resetMoveRuntime() { @@ -216,15 +218,22 @@ export class Movement extends Component { Vec3.moveTowards(next, pos, this.targetPosition, this.moveSpeed * dt * speedMul); this.node.setPosition(next); this.onMoving(); + this.markDrawOrderDirty(); this.syncRideAfterMoveStep(); if (Vec3.distance(next, this.targetPosition) < 0.005) { this.node.setPosition(this.targetPosition); this.moveState = MoveState.Idle; this.moveWait = false; this.onMoveToTarget(); + this.markDrawOrderDirty(); } } + private markDrawOrderDirty() { + const root = resolveLevelDrawRoot(this.node); + if (root) markIsoDrawOrderDirty(root); + } + protected syncRideAfterMoveStep() {} setDirection(dir: Direction) { diff --git a/assets/scripts/level/LevelTileSync.ts b/assets/scripts/level/LevelTileSync.ts index 947c854..ff83a9c 100644 --- a/assets/scripts/level/LevelTileSync.ts +++ b/assets/scripts/level/LevelTileSync.ts @@ -16,16 +16,29 @@ function ensureLayer(root: Node, name: 'Ground' | 'Border'): Node { return layer; } -function ensureTile(layer: Node, layerKind: 'ground' | 'border', x: number, y: number): Node { +/** 砖块可能在 Tiles(排序合并后);优先 Tiles 避免在 Ground/Border 重复创建 */ +function findTileNode(levelRoot: Node, layerKind: 'ground' | 'border', x: number, y: number): Node | null { const nodeName = tileNodeName(layerKind, x, y); - let node = layer.getChildByName(nodeName); - if (!node) { - node = new Node(nodeName); - node.parent = layer; - node.layer = UI_LAYER; - node.addComponent(UITransform); - node.addComponent(Sprite); + for (const parentName of ['Tiles', 'Ground', 'Border'] as const) { + const parent = levelRoot.getChildByName(parentName); + const node = parent?.getChildByName(nodeName) ?? null; + if (node?.isValid) return node; } + return null; +} + +function ensureTile(levelRoot: Node, layer: Node, layerKind: 'ground' | 'border', x: number, y: number): Node { + const existing = findTileNode(levelRoot, layerKind, x, y); + if (existing) { + existing.active = true; + return existing; + } + const nodeName = tileNodeName(layerKind, x, y); + const node = new Node(nodeName); + node.parent = layer; + node.layer = UI_LAYER; + node.addComponent(UITransform); + node.addComponent(Sprite); node.active = true; return node; } @@ -41,13 +54,13 @@ export function syncTileNodesFromConfig(levelRoot: Node, config: LevelConfig): n for (const key of wantGround) { const p = parseCellKey(key); if (!p) continue; - ensureTile(ground, 'ground', p.x, p.y); + ensureTile(levelRoot, ground, 'ground', p.x, p.y); n++; } for (const key of wantBorder) { const p = parseCellKey(key); if (!p) continue; - ensureTile(border, 'border', p.x, p.y); + ensureTile(levelRoot, border, 'border', p.x, p.y); n++; } diff --git a/assets/scripts/level/TileLayout.ts b/assets/scripts/level/TileLayout.ts index 73e750f..a26f0c5 100644 --- a/assets/scripts/level/TileLayout.ts +++ b/assets/scripts/level/TileLayout.ts @@ -1,42 +1,52 @@ -import { Node, UITransform, Vec3, Layers, Sprite } from 'cc'; +import { _decorator, Component, Node, UITransform, Vec3, Layers, Sprite } from 'cc'; import { cellToWorldCenter, parseTileNodeName } from '../core/GridCoords'; -import { CommonDefine } from '../core/Define'; +import { CommonDefine, MoverRole, GameState } from '../core/Define'; import { GameManager } from '../manager/GameManager'; import { getTilePivot } from '../visual/TilePivots'; import { getTileDrawSize, resolveTilePixelSize } from '../visual/TileSizes'; import { LevelConfig } from './LevelTypes'; import { getLevelRuntimeContext } from './LevelRuntimeContext'; +import { worldToMoverCellForRole, entityWorldPositionForRole } from './EntitySpawnPlacement'; +import { Movement } from '../gameplay/Movement'; +import { DEFAULT_PLAYER_ANCHOR_Y, DEFAULT_VEHICLE_ANCHOR_Y, getEntityDisplaySizes } from '../visual/EntityDisplayRefs'; +import { cellHasTile } from './EntitySpawnPlacement'; +import { + compareUnityEntityToEntity, + compareUnityEntityToTile, + compareUnityTileToTile, + compareIsoDrawOrder, + UNITY_SORTING_ORDER, + type UnitySortableEntity, + type UnitySortableTile, +} from './UnityDrawSort'; + +const { ccclass } = _decorator; const UI_LAYER = Layers.Enum.UI_2D; - /** - * 遮挡分类(仅在关卡加载时按格子坐标排序一次) - * - walkable : Baseblock / JumpBlock,永不在 actor 之上 - * - wall : Border / WallBlock,与 actor 按 iso 深度比较 - * - actor : 角色 / 载具 - * - pickable : 可拾取物(Prop),永不在墙砖/路径砖之下;玩家仍在其上 - * - scenery : 其它 + * Cocos 用 siblingIndex 模拟 Unity SortingOrder + CustomAxis 深度。 + * 逻辑见 UnityDrawSort.ts(对齐 GraphicsSettings + TilemapRenderer Individual)。 */ +export const DRAW_SORT_Y_SCALE = 100; type DrawKind = 'walkable' | 'wall' | 'actor' | 'pickable' | 'scenery'; -const DRAW_RANK = { - groundProp: 10, - groundTile: 20, - borderTile: 22, - vehicle: 28, - coin: 30, - propDecor: 30, - player: 40, -} as const; - -interface DrawEntry { +interface TileDrawEntry { + node: Node; + x: number; + y: number; + kind: DrawKind; + tileName: string; +} + +interface EntityDrawEntry { node: Node; x: number; y: number; - rank: number; kind: DrawKind; } +type DrawEntry = TileDrawEntry | EntityDrawEntry; + function safeNodeName(node: Node | null | undefined): string { return (node?.isValid ? node.name : '') || ''; } @@ -80,21 +90,30 @@ function isWalkablePathTile(tileName: string): boolean { } function isWallTileName(tileName: string): boolean { - return tileName === 'WallBlock' || tileName === 'kuai11'; + return tileName === CommonDefine.BlockWall; } -function resolveGroundTileName(cellX: number, cellY: number, config?: LevelConfig): string { - return config?.ground?.[`${cellX},${cellY}`] ?? CommonDefine.BlockBase; +function resolveTileName( + parsed: { layer: 'ground' | 'border'; x: number; y: number }, + config?: LevelConfig, +): string { + const key = `${parsed.x},${parsed.y}`; + if (parsed.layer === 'border') { + const v = config?.border?.[key]; + if (v === true || v === undefined) return CommonDefine.BlockWall; + if (typeof v === 'string') return v; + return CommonDefine.BlockWall; + } + return config?.ground?.[key] ?? CommonDefine.BlockBase; } function classifyTileKind( parsed: { layer: 'ground' | 'border'; x: number; y: number }, config?: LevelConfig, ): DrawKind { - if (parsed.layer === 'border') return 'wall'; - const name = resolveGroundTileName(parsed.x, parsed.y, config); - if (isWalkablePathTile(name)) return 'walkable'; + const name = resolveTileName(parsed, config); if (isWallTileName(name)) return 'wall'; + if (isWalkablePathTile(name)) return 'walkable'; return 'scenery'; } @@ -109,69 +128,254 @@ export interface EntityDrawOrderOptions { preferVehicleOverPlayer?: boolean; } -function entityRank(node: Node): number { +function unityEntitySortingOrder(node: Node): number { const n = safeNodeName(node); - if (isPlayerEntityName(n)) return DRAW_RANK.player; - if (isVehicleEntityName(n)) return DRAW_RANK.vehicle; - if (isCoinEntityName(n)) return DRAW_RANK.coin; - if (n === 'PropDecor' || n.startsWith('PropDecor_')) return DRAW_RANK.propDecor; - return DRAW_RANK.groundProp; + if (isPlayerEntityName(n)) return UNITY_SORTING_ORDER.player; + if (isVehicleEntityName(n)) return UNITY_SORTING_ORDER.vehicle; + if (isPickableProp(node)) { + const prop = node.getComponent('PropController') as { getSpawnCell?: () => Vec3 | null } | null; + const cell = prop?.getSpawnCell?.(); + const config = resolveLevelConfig(); + if (cell && !cellHasTile(cell.x, cell.y, config)) { + return UNITY_SORTING_ORDER.nProp; + } + return UNITY_SORTING_ORDER.prop; + } + if (n === 'PropDecor' || n.startsWith('PropDecor_')) return UNITY_SORTING_ORDER.prop; + return UNITY_SORTING_ORDER.nProp; } -function tileRank(kind: DrawKind, layer: 'ground' | 'border'): number { - if (kind === 'walkable') return DRAW_RANK.groundTile; - if (kind === 'wall') return DRAW_RANK.borderTile; - return layer === 'border' ? DRAW_RANK.borderTile : DRAW_RANK.groundTile; +function toUnitySortableTile(tile: TileDrawEntry): UnitySortableTile { + const centerY = tile.node.position.y; + let depthY = getNodeBottomY(tile.node); + if (isWallTileName(tile.tileName)) { + depthY = getWallSortFrontY(tile); + } else if (isWalkablePathTile(tile.tileName)) { + depthY = Math.max(depthY, centerY); + } else { + depthY = centerY; + } + return { + cellX: tile.x, + cellY: tile.y, + tileName: tile.tileName, + centerY, + depthY, + }; +} + +function toUnitySortableEntity(entity: EntityDrawEntry): UnitySortableEntity { + const node = entity.node; + const cell = entity.kind === 'actor' + ? getActorWallSampleCell(entity, node) + : { x: entity.x, y: entity.y }; + const depthY = entity.kind === 'actor' + ? getEntitySortBottomY(node) + : getNodeBottomY(node); + return { + sortingOrder: unityEntitySortingOrder(node), + cellX: cell.x, + cellY: cell.y, + centerY: node.position.y, + depthY, + isPlayer: isPlayerEntityName(safeNodeName(node)), + isPickable: entity.kind === 'pickable', + }; } /** 等距深度:返回值 > 0 表示 a 应排在 b 之后(更靠前) */ -export function compareIsoDrawOrder(cellX: number, cellY: number, otherX: number, otherY: number): number { - const ka = cellX + cellY; - const kb = otherX + otherY; - if (ka !== kb) return kb - ka; - return otherX - cellX; +export { compareIsoDrawOrder }; + +function buildSortedDrawOrder(tiles: TileDrawEntry[], entities: EntityDrawEntry[]): DrawEntry[] { + const all: DrawEntry[] = [...tiles, ...entities]; + return all.sort((a, b) => { + const aEntity = isEntityDrawNode(a.node); + const bEntity = isEntityDrawNode(b.node); + if (!aEntity && !bEntity) { + return compareUnityTileToTile( + toUnitySortableTile(a as TileDrawEntry), + toUnitySortableTile(b as TileDrawEntry), + ); + } + if (aEntity && bEntity) { + return compareUnityEntityToEntity( + toUnitySortableEntity(a as EntityDrawEntry), + toUnitySortableEntity(b as EntityDrawEntry), + ); + } + const entity = (aEntity ? a : b) as EntityDrawEntry; + const tile = (aEntity ? b : a) as TileDrawEntry; + const cmp = compareUnityEntityToTile( + toUnitySortableEntity(entity), + toUnitySortableTile(tile), + ); + return aEntity ? cmp : -cmp; + }); } -function wallFaceSamples(wallX: number, wallY: number): { x: number; y: number }[] { - return [{ x: wallX, y: wallY - 1 }, { x: wallX - 1, y: wallY }]; +/** 精灵顶边 Y(Tiles 本地) */ +function getNodeTopY(node: Node): number { + if (!node?.isValid) return 0; + const ui = resolveSortTransform(node); + const pos = node.position; + if (!ui || ui.contentSize.height <= 0) return pos.y; + const h = ui.contentSize.height * Math.abs(node.scale.y); + return pos.y + (1 - ui.anchorPoint.y) * h; } -function compareWallActorIso(actor: DrawEntry, wall: DrawEntry): number { - let actorAhead = 0; - for (const face of wallFaceSamples(wall.x, wall.y)) { - const iso = compareIsoDrawOrder(actor.x, actor.y, face.x, face.y); - if (iso < 0) return iso; - if (iso > actorAhead) actorAhead = iso; - } - return actorAhead; +/** 墙砖立面顶边 Y(WallBlock pivot 偏低,取格心与顶边较大值) */ +function getWallSortFrontY(tile: TileDrawEntry): number { + const centerY = cellToWorldCenter(new Vec3(tile.x, tile.y, 0)).y; + return Math.max(centerY, getNodeTopY(tile.node)); } -function compareDrawEntries(a: DrawEntry, b: DrawEntry): number { - if (a.kind === 'walkable' && b.kind === 'actor') return -1; - if (b.kind === 'walkable' && a.kind === 'actor') return 1; +function resolveActorSortAnchorY(node: Node): number { + return isVehicleEntityName(safeNodeName(node)) ? DEFAULT_VEHICLE_ANCHOR_Y : DEFAULT_PLAYER_ANCHOR_Y; +} - // 可拾取物:永远在墙砖/路径砖/载具之上;玩家仍在其上 - if (a.kind === 'pickable' && b.kind === 'actor') { - return isPlayerEntityName(safeNodeName(b.node)) ? -1 : 1; +function resolveActorSortDisplayHeight(node: Node, role: MoverRole, theme?: string): number { + const ui = resolveSortTransform(node); + if (ui && ui.contentSize.height > 0) { + return ui.contentSize.height * Math.abs(node.scale.y); } - if (a.kind === 'actor' && b.kind === 'pickable') { - return isPlayerEntityName(safeNodeName(a.node)) ? 1 : -1; - } - if (a.kind === 'pickable' && b.kind !== 'pickable') return 1; - if (b.kind === 'pickable' && a.kind !== 'pickable') return -1; + const sizes = getEntityDisplaySizes(theme); + return role === 'vehicle' ? sizes.vehicle.height : sizes.player.height; +} - if (a.kind === 'actor' && b.kind === 'wall') { - const wallIso = compareWallActorIso(a, b); - if (wallIso !== 0) return wallIso; +/** 逻辑格站立点 + 固定参考锚点 → 排序底边 Y */ +function getActorStandBottomY( + cell: Vec3, + node: Node, + role: MoverRole, + config?: LevelConfig, + theme?: string, +): number { + const stand = entityWorldPositionForRole(cell, config, theme, role); + const h = resolveActorSortDisplayHeight(node, role, theme); + return stand.y - resolveActorSortAnchorY(node) * h; +} + +/** 移动中反推逻辑格 */ +function getEntitySortCell(node: Node): { x: number; y: number } { + const gm = GameManager.instance; + if (!gm) return { x: 0, y: 0 }; + const config = resolveLevelConfig(); + const theme = config?.theme ?? gm.uiStyle; + const n = safeNodeName(node); + let role: MoverRole = 'player'; + if (isVehicleEntityName(n)) role = 'vehicle'; + const cell = worldToMoverCellForRole(node.position, config, theme, role); + return { x: cell.x, y: cell.y }; +} + +/** 关卡内所有砖块/实体并入 Tiles(避免 Ground/Border 在 BFS 中整块早于 Tiles 绘制) */ +function pullDrawablesIntoTiles(levelRoot: Node, tilesRoot: Node) { + const worldPos = new Vec3(); + const pending: Node[] = []; + const walk = (parent: Node) => { + for (const ch of parent.children) { + if (!ch?.isValid || !ch.active) continue; + if (parseTileNodeName(ch.name) || isEntityDrawNode(ch)) { + pending.push(ch); + continue; + } + if (ch.name === 'Ground' || ch.name === 'Border' || ch.name === 'Tiles') { + walk(ch); + } + } + }; + walk(levelRoot); + for (const node of pending) { + if (node.parent === tilesRoot) continue; + node.getWorldPosition(worldPos); + node.parent = tilesRoot; + node.setWorldPosition(worldPos); } - if (a.kind === 'wall' && b.kind === 'actor') { - const wallIso = compareWallActorIso(b, a); - if (wallIso !== 0) return -wallIso; +} +function dedupeLayerTileDuplicates(levelRoot: Node, tilesRoot: Node) { + for (const layerName of ['Ground', 'Border'] as const) { + const layer = levelRoot.getChildByName(layerName); + if (!layer) continue; + for (const ch of [...layer.children]) { + if (!ch?.isValid) continue; + if (!parseTileNodeName(ch.name)) continue; + const canon = tilesRoot.getChildByName(ch.name); + if (canon?.isValid && canon !== ch) { + ch.destroy(); + } + } + } +} + +function getActorWallSampleCell(entity: EntityDrawEntry, node: Node): { x: number; y: number } { + const mov = node.getComponent(Movement); + if (!mov) return { x: entity.x, y: entity.y }; + const committed = mov.getCommittedCell(); + if (!mov.isMoving()) { + if (committed) return { x: committed.x, y: committed.y }; + const spawn = mov.getSpawnCell(); + if (spawn) return { x: spawn.x, y: spawn.y }; + return { x: entity.x, y: entity.y }; + } + if (!committed) return getEntitySortCell(node); + const landing = mov.getLandingCell(); + if (!landing) return { x: committed.x, y: committed.y }; + if (mov.getMoveStepProgress() >= 0.5) return { x: landing.x, y: landing.y }; + return { x: committed.x, y: committed.y }; +} + +function resolveSortTransform(node: Node): UITransform | null { + const rootUi = node.getComponent(UITransform); + if (rootUi && rootUi.contentSize.height > 0) return rootUi; + for (const ch of node.children) { + if (!ch?.isValid) continue; + const ui = ch.getComponent(UITransform); + if (ui && ui.contentSize.height > 0) return ui; + } + return rootUi; +} + +/** 足底中心 Y(Tiles 本地);排序依据底边而非锚点/中心 */ +export function getNodeBottomY(node: Node): number { + if (!node?.isValid) return 0; + const ui = resolveSortTransform(node); + const pos = node.position; + if (!ui || ui.contentSize.height <= 0) return pos.y; + const h = ui.contentSize.height * Math.abs(node.scale.y); + return pos.y - ui.anchorPoint.y * h; +} + +/** 画家算法 Order:round(底边Y × DRAW_SORT_Y_SCALE) */ +export function getNodeSortOrder(node: Node): number { + return Math.round(getNodeBottomY(node) * DRAW_SORT_Y_SCALE); +} + +/** + * 人物/载具排序底边 Y:始终按逻辑格站立点 + 固定参考锚点; + * 移动中在起止格底边 Y 之间插值(忽略跳跃弧与序列帧 anchor 抖动)。 + */ +function getEntitySortBottomY(node: Node): number { + if (!isActorEntity(node)) return getNodeBottomY(node); + const mov = node.getComponent(Movement); + const gm = GameManager.instance; + const config = resolveLevelConfig(); + const theme = config?.theme ?? gm?.uiStyle; + const role: MoverRole = isVehicleEntityName(safeNodeName(node)) ? 'vehicle' : 'player'; + + if (mov?.isMoving()) { + const from = mov.getCommittedCell(); + const to = mov.getLandingCell(); + if (from && to) { + const t = mov.getMoveStepProgress(); + const fromY = getActorStandBottomY(from, node, role, config, theme); + const toY = getActorStandBottomY(to, node, role, config, theme); + return fromY + (toY - fromY) * t; + } } - const iso = compareIsoDrawOrder(a.x, a.y, b.x, b.y); - if (iso !== 0) return iso; - return a.rank - b.rank; + const cell = mov?.getCommittedCell() ?? mov?.getSpawnCell(); + if (!cell) return getNodeBottomY(node); + return getActorStandBottomY(cell, node, role, config, theme); } /** 实体所在关卡根(Ground/Border/Tiles 的父节点,不是 Tiles 容器本身) */ @@ -187,7 +391,7 @@ export function resolveLevelDrawRoot(from: Node): Node | null { return null; } -/** 实体逻辑格(仅 spawn / committed,移动中不重算) */ +/** 实体逻辑格(spawn / committed;实体互排序用,与砖块比较用底边 Y) */ function getEntityLogicCell(node: Node): { x: number; y: number } { const propCtrl = node.getComponent('PropController') as { getSpawnCell?: () => Vec3 | null } | null; const propCell = propCtrl?.getSpawnCell?.(); @@ -205,10 +409,7 @@ function getEntityLogicCell(node: Node): { x: number; y: number } { if (riderCell) return { x: riderCell.x, y: riderCell.y }; } - const mov = node.getComponent('Movement') as { - getCommittedCell?: () => Vec3 | null; - getSpawnCell?: () => Vec3 | null; - } | null; + const mov = node.getComponent(Movement); if (mov) { const cell = mov.getCommittedCell?.() ?? mov.getSpawnCell?.(); if (cell) return { x: cell.x, y: cell.y }; @@ -248,19 +449,20 @@ function resolveLevelConfig(): LevelConfig | undefined { ?? undefined; } -function collectTileEntries(levelRoot: Node, tilesRoot: Node, seen: Set): DrawEntry[] { +function collectTileEntries(levelRoot: Node, tilesRoot: Node, seen: Set): TileDrawEntry[] { const config = resolveLevelConfig(); - const entries: DrawEntry[] = []; + const entries: TileDrawEntry[] = []; const pushTile = (node: Node, parsed: { layer: 'ground' | 'border'; x: number; y: number }) => { if (seen.has(node)) return; seen.add(node); + const tileName = resolveTileName(parsed, config); const kind = classifyTileKind(parsed, config); entries.push({ node, x: parsed.x, y: parsed.y, - rank: tileRank(kind, parsed.layer), kind, + tileName, }); }; @@ -273,8 +475,8 @@ function collectTileEntries(levelRoot: Node, tilesRoot: Node, seen: Set): return entries; } -function collectEntityEntries(levelRoot: Node, tilesRoot: Node, seen: Set): DrawEntry[] { - const entries: DrawEntry[] = []; +function collectEntityEntries(levelRoot: Node, tilesRoot: Node, seen: Set): EntityDrawEntry[] { + const entries: EntityDrawEntry[] = []; const pushEntity = (node: Node | null | undefined) => { if (!node?.isValid || seen.has(node) || !isEntityDrawNode(node)) return; seen.add(node); @@ -283,64 +485,86 @@ function collectEntityEntries(levelRoot: Node, tilesRoot: Node, seen: Set) node, x: cell.x, y: cell.y, - rank: entityRank(node), kind: classifyEntityKind(node), }); }; - for (const ch of levelRoot.children) pushEntity(ch); - for (const ch of tilesRoot.children) pushEntity(ch); + const walkEntities = (parent: Node) => { + for (const ch of parent.children) { + if (!ch?.isValid) continue; + if (isEntityDrawNode(ch)) { + pushEntity(ch); + continue; + } + if (ch.name === 'Ground' || ch.name === 'Border' || ch.name === 'Tiles') { + walkEntities(ch); + } + } + }; + walkEntities(levelRoot); return entries; } function applyDrawOrder(tilesRoot: Node, entries: DrawEntry[]) { - const sorted = entries.slice().sort(compareDrawEntries); const inSort = new Set(); + const worldPos = new Vec3(); - for (const { node } of sorted) { + for (const { node } of entries) { if (!node.isValid) continue; inSort.add(node); if (isEntityDrawNode(node)) ensureEntityUILayer(node); if (node.parent !== tilesRoot) { - const lp = node.position.clone(); + node.getWorldPosition(worldPos); node.parent = tilesRoot; - node.setPosition(lp); + node.setWorldPosition(worldPos); } } - for (let i = 0; i < sorted.length; i++) { - const node = sorted[i].node; - if (!node.isValid) continue; - if (node.getSiblingIndex() !== i) node.setSiblingIndex(i); - } - - let tail = sorted.length; + // 未参与排序的节点保持在最底层,避免盖住角色 + let head = 0; for (const ch of [...tilesRoot.children]) { if (!ch.isValid || inSort.has(ch)) continue; - if (ch.getSiblingIndex() !== tail) ch.setSiblingIndex(tail); - tail++; + if (ch.getSiblingIndex() !== head) ch.setSiblingIndex(head); + head++; + } + + // 从高索引往低索引写入,避免 setSiblingIndex 互相覆盖 + for (let i = entries.length - 1; i >= 0; i--) { + const node = entries[i].node; + if (!node.isValid) continue; + const idx = head + i; + if (node.getSiblingIndex() !== idx) node.setSiblingIndex(idx); + const p = node.position; + const z = -idx * 0.001; + if (Math.abs(p.z - z) > 1e-6) node.setPosition(p.x, p.y, z); } } function finalizeLevelRootOrder(levelRoot: Node, tilesRoot: Node) { for (const name of ['Ground', 'Border'] as const) { const layer = levelRoot.getChildByName(name); - if (layer && layer.children.length === 0) { + if (!layer) continue; + layer.active = layer.children.length > 0; + if (layer.children.length === 0) { layer.setSiblingIndex(0); } } tilesRoot.setSiblingIndex(levelRoot.children.length - 1); + tilesRoot.active = true; } /** - * 关卡加载 / 重置时按格子坐标排序一次;移动过程中不再改 sibling。 + * 砖块按格子深度排序,人物/载具/金币按底边 Y 插入砖块序列;移动中可重排。 */ export function sortIsoTiles(levelRoot: Node) { if (!levelRoot?.isValid) return; + ensureDrawOrderUpdater(levelRoot); const tilesRoot = ensureTilesRoot(levelRoot); + pullDrawablesIntoTiles(levelRoot, tilesRoot); + dedupeLayerTileDuplicates(levelRoot, tilesRoot); const seen = new Set(); const tileEntries = collectTileEntries(levelRoot, tilesRoot, seen); const entityEntries = collectEntityEntries(levelRoot, tilesRoot, seen); - applyDrawOrder(tilesRoot, [...tileEntries, ...entityEntries]); + applyDrawOrder(tilesRoot, buildSortedDrawOrder(tileEntries, entityEntries)); finalizeLevelRootOrder(levelRoot, tilesRoot); } @@ -383,7 +607,7 @@ function ensureTilesRoot(levelRoot: Node): Node { return tilesRoot; } -const TILE_LAYER_NAMES = ['Ground', 'Border', 'Tiles'] as const; +const TILE_LAYER_NAMES = ['Tiles', 'Ground', 'Border'] as const; function forEachTileChild(levelRoot: Node, fn: (node: Node, parsed: { layer: 'ground' | 'border'; x: number; y: number }) => void) { for (const layerName of TILE_LAYER_NAMES) { @@ -429,9 +653,9 @@ function tileNameFromConfig( return config.ground?.[key] ?? CommonDefine.BlockBase; } let v = config.border?.[key]; - if (v === true || v === undefined) return 'WallBlock'; + if (v === true || v === undefined) return CommonDefine.BlockWall; if (typeof v === 'string') return v; - return 'WallBlock'; + return CommonDefine.BlockWall; } export function layoutLevelTiles(levelRoot: Node, config: LevelConfig) { @@ -470,3 +694,26 @@ export function layoutLevelTiles(levelRoot: Node, config: LevelConfig) { } sortIsoTiles(levelRoot); } + +@ccclass('IsoDrawOrderUpdater') +class IsoDrawOrderUpdater extends Component { + /** 每帧 lateUpdate 重排(先移动、后排序,与 Update→LateUpdate 一致) */ + lateUpdate() { + if (!this.node?.isValid) return; + const st = GameManager.instance?.gameState; + if (st === GameState.ResultWin || st === GameState.ResultFail) return; + sortIsoTiles(this.node); + } +} + +function ensureDrawOrderUpdater(levelRoot: Node) { + if (!levelRoot.getComponent(IsoDrawOrderUpdater)) { + levelRoot.addComponent(IsoDrawOrderUpdater); + } +} + +/** @deprecated 关卡加载后 Updater 每帧自动重排;保留 API 兼容 */ +export function markIsoDrawOrderDirty(levelRoot: Node) { + if (!levelRoot?.isValid) return; + ensureDrawOrderUpdater(levelRoot); +} diff --git a/assets/scripts/level/UnityDrawSort.ts b/assets/scripts/level/UnityDrawSort.ts new file mode 100644 index 0000000..c83c155 --- /dev/null +++ b/assets/scripts/level/UnityDrawSort.ts @@ -0,0 +1,182 @@ +/** + * Unity 2D 绘制排序(对齐主站 GraphicsSettings + 预制体 SortingOrder + TilemapRenderer Individual) + * + * - GraphicsSettings: TransparencySortMode=CustomAxis, axis=(0, 1, -0.26) + * - TilemapRenderer: SortingOrder=2, Mode=Individual, SortOrder=TopRight → 每格 -(cellX+cellY) + * - nProp=1, Tilemap/Vehicle=2, Prop=3, Player=4 + * - 仅贴图 WallBlock 可遮挡实体;可行走砖永在实体之下 + * - 砖↔砖:格子深度(南 y 小 → 前,同 y 东 x 大 → 前)→ JumpBlock 抬高 Y → Individual order + */ + +import { Vec3 } from 'cc'; +import { CommonDefine } from '../core/Define'; +import { cellToWorldCenter } from '../core/GridCoords'; + +/** Unity GraphicsSettings.asset m_TransparencySortAxis */ +export const UNITY_TRANSPARENCY_AXIS = { x: 0, y: 1, z: -0.26 } as const; + +/** Unity SpriteRenderer / TilemapRenderer m_SortingOrder */ +export const UNITY_SORTING_ORDER = { + nProp: 1, + tilemap: 2, + vehicle: 2, + prop: 3, + player: 4, +} as const; + +const ORDER_SCALE = 10_000; +const DEPTH_SCALE = 100; +/** JumpBlock 行走面比 Baseblock 抬高的最小 Y 差(px),超过则优先比 depthY */ +const TILE_ELEVATION_Y_THRESHOLD = 12; + +export function isWallBlockTileName(tileName: string): boolean { + return tileName === CommonDefine.BlockWall; +} + +export function isWalkableTileName(tileName: string): boolean { + return tileName === CommonDefine.BlockBase || tileName === CommonDefine.BlockJump; +} + +/** Unity TilemapRenderer Individual + TopRight:baseOrder - (cellX+cellY) */ +export function unityTileIndividualSortingOrder(cellX: number, cellY: number): number { + return UNITY_SORTING_ORDER.tilemap - cellX - cellY; +} + +export function unityTransparencyDepth(worldX: number, worldY: number, worldZ = 0): number { + return worldX * UNITY_TRANSPARENCY_AXIS.x + + worldY * UNITY_TRANSPARENCY_AXIS.y + + worldZ * UNITY_TRANSPARENCY_AXIS.z; +} + +export function unityCompositeSortKey( + sortingOrder: number, + depthWorldY: number, + depthWorldZ = 0, + bias = 0, +): number { + const depth = unityTransparencyDepth(0, depthWorldY, depthWorldZ); + return sortingOrder * ORDER_SCALE + depth * DEPTH_SCALE + bias; +} + +export function unityCellCenterY(cellX: number, cellY: number): number { + return cellToWorldCenter(new Vec3(cellX, cellY, 0)).y; +} + +export interface UnitySortableTile { + cellX: number; + cellY: number; + tileName: string; + centerY: number; + depthY: number; +} + +export interface UnitySortableEntity { + sortingOrder: number; + cellX: number; + cellY: number; + centerY: number; + depthY: number; + isPlayer: boolean; + isPickable: boolean; +} + +/** 返回值 > 0 表示 (ax,ay) 应排在 (bx,by) 之后(更靠前) */ +export function compareIsoDrawOrder(ax: number, ay: number, bx: number, by: number): number { + const ka = ax + ay; + const kb = bx + by; + if (ka !== kb) return kb - ka; + return ax - bx; +} + +function wallFaceSamples(wallX: number, wallY: number): { x: number; y: number }[] { + return [{ x: wallX, y: wallY - 1 }, { x: wallX - 1, y: wallY }]; +} + +function compareWallActorIso( + actor: { x: number; y: number }, + wallX: number, + wallY: number, +): number { + let actorAhead = 0; + for (const face of wallFaceSamples(wallX, wallY)) { + const iso = compareIsoDrawOrder(actor.x, actor.y, face.x, face.y); + if (iso < 0) return iso; + if (iso > actorAhead) actorAhead = iso; + } + return actorAhead; +} + +/** 返回值 > 0 实体更靠前;< 0 墙应挡住 */ +function compareUnityEntityToWall( + entity: UnitySortableEntity, + tile: UnitySortableTile, +): number { + const cell = { x: entity.cellX, y: entity.cellY }; + for (const face of wallFaceSamples(tile.cellX, tile.cellY)) { + if (face.x === cell.x && face.y === cell.y) return 1; + } + + const tileOrder = unityTileIndividualSortingOrder(tile.cellX, tile.cellY); + if (tileOrder > entity.sortingOrder) return -1; + + const wallIso = compareWallActorIso(cell, tile.cellX, tile.cellY); + if (wallIso < 0) { + if (tile.cellX === cell.x && tile.cellY === cell.y - 1) return -1; + if (tile.cellY < cell.y) return 1; + return -1; + } + + const tileAhead = (tile.cellX + tile.cellY) - (cell.x + cell.y); + if (wallIso > 0 && tileAhead > 0) return -1; + if (wallIso > 0) return wallIso; + + const yCmp = Math.round(entity.depthY * DEPTH_SCALE) - Math.round(tile.depthY * DEPTH_SCALE); + if (yCmp !== 0) return yCmp; + if (tileAhead !== 0) return -tileAhead; + return compareIsoDrawOrder(tile.cellX, tile.cellY, cell.x, cell.y); +} + +/** 砖块格子深度:南侧(cellY 小)更靠前;同行西侧(cellX 小)更靠前 */ +export function compareTileCellDepth(ax: number, ay: number, bx: number, by: number): number { + if (ay !== by) return by - ay; + return bx - ax; +} + +/** + * 砖↔砖:格子深度优先(下方砖挡上方砖),JumpBlock 抬高再比 depthY。 + */ +export function compareUnityTileToTile(a: UnitySortableTile, b: UnitySortableTile): number { + const cellCmp = compareTileCellDepth(a.cellX, a.cellY, b.cellX, b.cellY); + if (cellCmp !== 0) return cellCmp; + + const yCmp = Math.round(a.depthY * DEPTH_SCALE) - Math.round(b.depthY * DEPTH_SCALE); + if (Math.abs(yCmp) >= TILE_ELEVATION_Y_THRESHOLD) return yCmp; + + return unityTileIndividualSortingOrder(a.cellX, a.cellY) + - unityTileIndividualSortingOrder(b.cellX, b.cellY); +} + +/** + * 实体 vs 砖块 + * 非 WallBlock 永在实体之下;仅墙砖可遮挡。 + */ +export function compareUnityEntityToTile( + entity: UnitySortableEntity, + tile: UnitySortableTile, +): number { + if (!isWallBlockTileName(tile.tileName)) { + return 1; + } + return compareUnityEntityToWall(entity, tile); +} + +export function compareUnityEntityToEntity(a: UnitySortableEntity, b: UnitySortableEntity): number { + const keyA = unityCompositeSortKey(a.sortingOrder, a.depthY); + const keyB = unityCompositeSortKey(b.sortingOrder, b.depthY); + if (keyA !== keyB) return keyA - keyB; + const iso = (a.cellX + a.cellY) - (b.cellX + b.cellY); + if (iso !== 0) return iso; + if (a.isPlayer && !b.isPlayer) return 1; + if (b.isPlayer && !a.isPlayer) return -1; + return 0; +} diff --git a/assets/scripts/level/UnityDrawSort.ts.meta b/assets/scripts/level/UnityDrawSort.ts.meta new file mode 100644 index 0000000..b1fad8c --- /dev/null +++ b/assets/scripts/level/UnityDrawSort.ts.meta @@ -0,0 +1,9 @@ +{ + "ver": "4.0.24", + "importer": "typescript", + "imported": true, + "uuid": "150bb469-a447-44ff-b4c8-3c02cd2fb949", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/scripts/visual/PlayerActionAnimator.ts b/assets/scripts/visual/PlayerActionAnimator.ts index 9abac37..0241d90 100644 --- a/assets/scripts/visual/PlayerActionAnimator.ts +++ b/assets/scripts/visual/PlayerActionAnimator.ts @@ -10,6 +10,7 @@ import { import { VisualAssets } from './VisualAssets'; import { GameManager } from '../manager/GameManager'; import { Movement } from '../gameplay/Movement'; +import { resolveLevelDrawRoot, sortIsoTiles } from '../level/TileLayout'; import { resolveThemeId } from '../theme/ThemeDatabase'; import { PlayerAction, PlayerAnimPaths, actionFolder, resolvePlayerAnimPaths, @@ -205,6 +206,7 @@ export class PlayerActionAnimator extends Component { setAction(action: PlayerAction, force = false) { if (!force && this.action === action && this.useSequence && this.frames.length > 0) return; + const actionChanged = this.action !== action; this.action = action; this.frameIdx = 0; this.frameTimer = 0; @@ -212,9 +214,12 @@ export class PlayerActionAnimator extends Component { VisualAssets.applyPlayerSprite( this.spriteNode, this.direction, { theme: this.theme }, this.scaleMul, ); + if (actionChanged && (action === PlayerAction.Win || action === PlayerAction.Fail)) { + this.refreshResultDrawOrder(); + } return; } - void this.applyActionFrames(action); + void this.applyActionFrames(action, actionChanged); } getAction(): PlayerAction { @@ -279,7 +284,12 @@ export class PlayerActionAnimator extends Component { return this.displayLockPromise; } - private async applyActionFrames(action: PlayerAction) { + private refreshResultDrawOrder() { + const root = resolveLevelDrawRoot(this.node); + if (root) sortIsoTiles(root); + } + + private async applyActionFrames(action: PlayerAction, sortOnLoad = false) { if (!this.animPaths) return; const gen = ++this.loadingGen; const isFront = this.direction === Direction.South || this.direction === Direction.East; @@ -305,6 +315,9 @@ export class PlayerActionAnimator extends Component { this.frameIdx = 0; this.frameTimer = 0; this.showFrame(frames[0]!); + if (sortOnLoad && (action === PlayerAction.Win || action === PlayerAction.Fail)) { + this.refreshResultDrawOrder(); + } } private showFrame(sf: SpriteFrame) { diff --git a/extensions/level-map-editor/dist/panels/level-map-editor.js b/extensions/level-map-editor/dist/panels/level-map-editor.js index cf63268..3d25d0a 100644 --- a/extensions/level-map-editor/dist/panels/level-map-editor.js +++ b/extensions/level-map-editor/dist/panels/level-map-editor.js @@ -70,8 +70,7 @@ exports.template = ` 下一关 加载 新建 - 保存 JSON - 烘焙预制体 + 保存地图 从预制体同步 打开 Level 预制体 场景选中吸附 @@ -118,7 +117,7 @@ exports.template = `
-
地图/出生点编辑 · 自动保存 JSON 并烘焙 · 60×60 网格 · 滚轮缩放 · 长按右键拖动
+
地图/出生点编辑 · 绘制后自动暂存 · 点「保存地图」写入 JSON 并烘焙预制体 · 滚轮缩放 · 长按右键拖动

平铺调色板

@@ -135,7 +134,6 @@ exports.$ = { btnLoad: '#btn-load', btnNew: '#btn-new', btnSave: '#btn-save', - btnBake: '#btn-bake', btnImportPrefab: '#btn-import-prefab', btnOpenPrefab: '#btn-open-prefab', btnSceneSnap: '#btn-scene-snap', @@ -561,11 +559,12 @@ exports.ready = function () { persistMapChanges({ quiet: true, skipBake: true }); try { bakeIgnore.markBakePending(state.levelId); + const outDir = prefabSync.resolvePrefabDirRel(projectPath()); execSync( - `python3 tools/bake_cocos_level_prefabs.py --db ${DB_REL} --out-dir assets/resources/level-prefabs --level-id ${state.levelId} --theme ${state.theme}`, + `python3 tools/bake_cocos_level_prefabs.py --db ${DB_REL} --out-dir ${outDir} --level-id ${state.levelId} --theme ${state.theme}`, { cwd: projectPath(), stdio: 'pipe' }, ); - const prefabUrl = `db://assets/resources/level-prefabs/Level${state.levelId}.prefab`; + const prefabUrl = prefabSync.prefabDbUrl(state.levelId, projectPath()); try { Editor.Message.request('asset-db', 'refresh-asset', prefabUrl); } catch (e) { @@ -574,7 +573,8 @@ exports.ready = function () { if (options.auto) { setStatus(`关卡 ${state.levelId} 已自动保存并烘焙 → Level${state.levelId}.prefab`); } else { - setStatus(`关卡 ${state.levelId} 已烘焙(主题 ${state.theme})→ level-prefabs/Level${state.levelId}.prefab`); + const outDir = prefabSync.resolvePrefabDirRel(projectPath()); + setStatus(`关卡 ${state.levelId} 已保存地图 → JSON + ${outDir}/Level${state.levelId}.prefab`); } console.log(`[level-map-editor] baked Level${state.levelId}.prefab`); } catch (e) { @@ -587,25 +587,25 @@ exports.ready = function () { } }; - const saveLevel = () => { + /** 保存 JSON + 烘焙预制体(运行时分包 bundle-level-prefabs) */ + const saveMapLevel = () => { cancelAutoBake(); - persistMapChanges({ quiet: true, skipBake: true }); - setStatus(`已保存关卡 ${state.levelId}(主题 ${state.theme})`); + if (!state.config || !state.db) { + setStatus('请先加载或新建关卡'); + return; + } + if (!persistMapChanges({ quiet: true, skipBake: true })) return; + runBake.call(this, { auto: false }); }; - /** 每次改地图立即写 JSON */ + /** 绘制时暂存 JSON,延迟自动烘焙 */ const scheduleMapPersist = () => { persistMapChanges(); }; - const bakeLevel = () => { - cancelAutoBake(); - runBake.call(this, { auto: false }); - }; - const openLevelPrefab = async () => { const id = state.levelId; - const uuid = await Editor.Message.request('asset-db', 'query-uuid', `db://assets/resources/level-prefabs/Level${id}.prefab`); + const uuid = await Editor.Message.request('asset-db', 'query-uuid', prefabSync.prefabDbUrl(id, projectPath())); if (uuid) { await Editor.Message.request('asset-db', 'open-asset', uuid); setStatus(`已打开 Level${id}.prefab(Ground / Border 子节点,贴图主题 ${state.theme})`); @@ -952,8 +952,7 @@ exports.ready = function () { } }); bindOnce(this.$.btnNew, 'click', () => createNewLevel.call(this)); - bindOnce(this.$.btnSave, 'click', () => saveLevel.call(this)); - bindOnce(this.$.btnBake, 'click', () => bakeLevel.call(this)); + bindOnce(this.$.btnSave, 'click', () => saveMapLevel.call(this)); bindOnce(this.$.btnImportPrefab, 'click', () => importFromPrefab.call(this)); bindOnce(this.$.btnOpenPrefab, 'click', () => openLevelPrefab.call(this)); @@ -991,7 +990,7 @@ exports.ready = function () { const prefabUuid = await Editor.Message.request( 'asset-db', 'query-uuid', - `db://assets/resources/level-prefabs/Level${state.levelId}.prefab`, + prefabSync.prefabDbUrl(state.levelId, projectPath()), ); if (prefabUuid) uuids = [prefabUuid]; } diff --git a/extensions/level-map-editor/dist/prefab-sync.js b/extensions/level-map-editor/dist/prefab-sync.js index 44e9156..7234c79 100644 --- a/extensions/level-map-editor/dist/prefab-sync.js +++ b/extensions/level-map-editor/dist/prefab-sync.js @@ -6,7 +6,10 @@ const levelIdUtil = require('./level-id'); const LEVEL_MAP_TYPE = 'd4e5fanuMlNDh8qO0xdbn+K'; const DB_REL = 'assets/level-data/levels-database.json'; -const PREFAB_DIR_REL = 'assets/resources/level-prefabs'; +const PREFAB_BUNDLE_REL = 'assets/bundle-level-prefabs/level-prefabs'; +const PREFAB_LEGACY_REL = 'assets/resources/level-prefabs'; +/** @deprecated 使用 resolvePrefabDirRel */ +const PREFAB_DIR_REL = PREFAB_LEGACY_REL; const PREFAB_NAME_RE = /^Level(\d+)\.prefab$/i; const TILE_NODE_RE = /^([gb])_(-?\d+)_(-?\d+)$/; @@ -20,8 +23,18 @@ function dbPath(projectPath) { return path.join(projectRoot(projectPath), DB_REL); } +function resolvePrefabDirRel(projectPath) { + const root = projectRoot(projectPath); + if (fs.existsSync(path.join(root, PREFAB_BUNDLE_REL))) return PREFAB_BUNDLE_REL; + return PREFAB_LEGACY_REL; +} + function prefabDir(projectPath) { - return path.join(projectRoot(projectPath), PREFAB_DIR_REL); + return path.join(projectRoot(projectPath), resolvePrefabDirRel(projectPath)); +} + +function prefabDbUrl(levelId, projectPath) { + return `db://${resolvePrefabDirRel(projectPath)}/Level${levelId}.prefab`; } function prefabPath(levelId, projectPath) { @@ -258,6 +271,10 @@ function extractLevelIdFromFilename(name) { module.exports = { DB_REL, PREFAB_DIR_REL, + PREFAB_BUNDLE_REL, + PREFAB_LEGACY_REL, + resolvePrefabDirRel, + prefabDbUrl, prefabPath, dbPath, parsePrefabFile, diff --git a/extensions/level-map-editor/package.json b/extensions/level-map-editor/package.json index fbb9f11..838d623 100644 --- a/extensions/level-map-editor/package.json +++ b/extensions/level-map-editor/package.json @@ -1,7 +1,7 @@ { "package_version": 2, "name": "level-map-editor", - "version": "1.7.1", + "version": "1.7.2", "description": "关卡地图编辑(对齐 Unity Tile Palette:中间关卡、右侧地图模块)", "author": "tfrh", "editor": ">=3.8.0", diff --git a/tools/level-prefab-index.json b/tools/level-prefab-index.json index e99e0f7..01a46e0 100644 --- a/tools/level-prefab-index.json +++ b/tools/level-prefab-index.json @@ -1,4 +1,5 @@ { + "132536": "level-prefabs/Level132536", "91601": "level-prefabs/Level91601", "91602": "level-prefabs/Level91602", "91603": "level-prefabs/Level91603", diff --git a/tools/verify-unity-draw-sort.mjs b/tools/verify-unity-draw-sort.mjs new file mode 100644 index 0000000..779c65e --- /dev/null +++ b/tools/verify-unity-draw-sort.mjs @@ -0,0 +1,167 @@ +#!/usr/bin/env node +/** + * 自测 Unity 绘制排序(与 UnityDrawSort.ts 对齐) + * 运行: node tools/verify-unity-draw-sort.mjs + */ + +const UNITY_SORTING_ORDER = { nProp: 1, tilemap: 2, vehicle: 2, prop: 3, player: 4 }; +const ORDER_SCALE = 10_000; +const DEPTH_SCALE = 100; +const TILE_ELEVATION_Y_THRESHOLD = 12; +const HALF_W = 50; +const HALF_H = 25; + +function cellToWorldCenter(x, y) { + const wx = (x - y) * HALF_W; + const wy = (x + y) * HALF_H + HALF_H; + return { x: wx, y: wy }; +} + +function unityTileIndividualSortingOrder(cellX, cellY) { + return UNITY_SORTING_ORDER.tilemap - cellX - cellY; +} + +function compareTileCellDepth(ax, ay, bx, by) { + if (ay !== by) return by - ay; + return bx - ax; +} + +function compareUnityTileToTile(a, b) { + const cellCmp = compareTileCellDepth(a.cellX, a.cellY, b.cellX, b.cellY); + if (cellCmp !== 0) return cellCmp; + const yCmp = Math.round(a.depthY * DEPTH_SCALE) - Math.round(b.depthY * DEPTH_SCALE); + if (Math.abs(yCmp) >= TILE_ELEVATION_Y_THRESHOLD) return yCmp; + return unityTileIndividualSortingOrder(a.cellX, a.cellY) + - unityTileIndividualSortingOrder(b.cellX, b.cellY); +} + +function tileInFrontOfTile(front, back, depthFront = 0, depthBack = 0) { + const a = { cellX: front.x, cellY: front.y, depthY: depthFront }; + const b = { cellX: back.x, cellY: back.y, depthY: depthBack }; + return compareUnityTileToTile(a, b) > 0; +} + +function compareIsoDrawOrder(ax, ay, bx, by) { + const ka = ax + ay; + const kb = bx + by; + if (ka !== kb) return kb - ka; + return ax - bx; +} + +function wallFaceSamples(wallX, wallY) { + return [{ x: wallX, y: wallY - 1 }, { x: wallX - 1, y: wallY }]; +} + +function compareWallActorIso(actor, wallX, wallY) { + let actorAhead = 0; + for (const face of wallFaceSamples(wallX, wallY)) { + const iso = compareIsoDrawOrder(actor.x, actor.y, face.x, face.y); + if (iso < 0) return iso; + if (iso > actorAhead) actorAhead = iso; + } + return actorAhead; +} + +function compareUnityEntityToWall(entity, tile) { + const cell = { x: entity.cellX, y: entity.cellY }; + for (const face of wallFaceSamples(tile.cellX, tile.cellY)) { + if (face.x === cell.x && face.y === cell.y) return 1; + } + const tileOrder = unityTileIndividualSortingOrder(tile.cellX, tile.cellY); + if (tileOrder > entity.sortingOrder) return -1; + const wallIso = compareWallActorIso(cell, tile.cellX, tile.cellY); + if (wallIso < 0) { + if (tile.cellX === cell.x && tile.cellY === cell.y - 1) return -1; + if (tile.cellY < cell.y) return 1; + return -1; + } + const tileAhead = (tile.cellX + tile.cellY) - (cell.x + cell.y); + if (wallIso > 0 && tileAhead > 0) return -1; + if (wallIso > 0) return wallIso; + const yCmp = Math.round(entity.depthY * DEPTH_SCALE) - Math.round(tile.depthY * DEPTH_SCALE); + if (yCmp !== 0) return yCmp; + if (tileAhead !== 0) return -tileAhead; + return compareIsoDrawOrder(tile.cellX, tile.cellY, cell.x, cell.y); +} + +function compareUnityEntityToTile(entity, tile) { + if (tile.tileName !== 'WallBlock') return 1; + return compareUnityEntityToWall(entity, tile); +} + +function entityInFrontOfTile(entity, tile) { + return compareUnityEntityToTile(entity, tile) > 0; +} + +function walkableUnderPlayer(playerCell, tileCell) { + return entityInFrontOfTile( + { sortingOrder: 4, cellX: playerCell.x, cellY: playerCell.y, centerY: 0, depthY: 0 }, + { cellX: tileCell.x, cellY: tileCell.y, tileName: 'Baseblock', centerY: 0, depthY: 0 }, + ); +} + +function playerBottomY(cellX, cellY) { + return cellToWorldCenter(cellX, cellY).y - 0.35 * 90; +} + +function wallFrontY(cellX, cellY) { + const c = cellToWorldCenter(cellX, cellY); + return Math.max(c.y, c.y + (1 - 0.67) * 115); +} + +const cases = [ + { + name: '砖↔砖:斜向路径 (0,-2)→(0,-1)→(0,0)→(1,0) 下方逐格遮挡', + pass: tileInFrontOfTile({ x: 0, y: -2 }, { x: 0, y: -1 }) + && tileInFrontOfTile({ x: 0, y: -1 }, { x: 0, y: 0 }) + && tileInFrontOfTile({ x: 0, y: 0 }, { x: 1, y: 0 }), + }, + { + name: '砖↔砖:对角路径 (0,-3)→(1,-2)→(2,-1)→(3,0) 下方逐格遮挡', + pass: tileInFrontOfTile({ x: 0, y: -3 }, { x: 1, y: -2 }) + && tileInFrontOfTile({ x: 1, y: -2 }, { x: 2, y: -1 }) + && tileInFrontOfTile({ x: 2, y: -1 }, { x: 3, y: 0 }), + }, + { + name: '砖↔砖:南侧 (0,-1) 挡住北侧 (0,0)', + pass: tileInFrontOfTile({ x: 0, y: -1 }, { x: 0, y: 0 }), + }, + { + name: '砖↔砖:东南 (2,-2) 挡住西北 (0,-1)', + pass: tileInFrontOfTile({ x: 2, y: -2 }, { x: 0, y: -1 }), + }, + { + name: '91614 出生 (0,-1) 不被北侧墙 (0,0) 挡住', + pass: entityInFrontOfTile( + { sortingOrder: 4, cellX: 0, cellY: -1, centerY: 0, depthY: 0 }, + { cellX: 0, cellY: 0, tileName: 'WallBlock', centerY: 0, depthY: 0 }, + ), + }, + { + name: '跨格路径砖:南侧 (0,-2) 不挡北侧角色 (0,-1)', + pass: entityInFrontOfTile( + { sortingOrder: 4, cellX: 0, cellY: -1, centerY: 0, depthY: 0 }, + { cellX: 0, cellY: -2, tileName: 'Baseblock', centerY: 0, depthY: 100 }, + ), + }, + { + name: '91614 真实Y:出生 (0,-1) 在 (0,0) 墙前', + pass: entityInFrontOfTile( + { sortingOrder: 4, cellX: 0, cellY: -1, centerY: 0, depthY: playerBottomY(0, -1) }, + { cellX: 0, cellY: 0, tileName: 'WallBlock', centerY: 0, depthY: wallFrontY(0, 0) }, + ), + }, +]; + +let failed = 0; +for (const c of cases) { + const ok = !!c.pass; + console.log(`${ok ? '✓' : '✗'} ${c.name}`); + if (!ok) failed++; +} + +if (failed > 0) { + console.error(`\n${failed} case(s) failed`); + process.exit(1); +} +console.log(`\nAll ${cases.length} cases passed.`);