diff --git a/Assets/AddressableAssetsData/Windows/addressables_content_state.bin b/Assets/AddressableAssetsData/Windows/addressables_content_state.bin index 87b4de43b..35306f0fc 100644 Binary files a/Assets/AddressableAssetsData/Windows/addressables_content_state.bin and b/Assets/AddressableAssetsData/Windows/addressables_content_state.bin differ diff --git a/Assets/MyGame/Scripts/Manager/CreateFishManager.cs b/Assets/MyGame/Scripts/Manager/CreateFishManager.cs index cef2c479c..7f4de7dca 100644 --- a/Assets/MyGame/Scripts/Manager/CreateFishManager.cs +++ b/Assets/MyGame/Scripts/Manager/CreateFishManager.cs @@ -244,12 +244,6 @@ public class CreateFishManager : MonoSingleton /// 每条鱼阵路线最近一次被鱼阵占用的时刻(Time.time),用于同线撞车延迟 private readonly Dictionary _lineBusyTime = new Dictionary(); - /// - /// 鱼阵实例全局计数器,每次 SpawnFishArray 递增。 - /// 用于生成全局唯一 guid,防止 pathList 重复 pathId 或同 fishId 多次推送导致 guid 冲突。 - /// guid 格式: baseGuid_arraySeq_i (如 16501_3_1),arraySeq 每次鱼阵递增,确保唯一。 - /// - private int _fishArraySeq = 0; // ================================================================ // 懒加载属性 // ================================================================ diff --git a/Assets/MyGame/aa/Game/XJMH/GameMoveLine/新星际迷航鱼阵.txt b/Assets/MyGame/aa/Game/XJMH/GameMoveLine/新星际迷航鱼阵.txt index 1c3c50caa..789a6948a 100644 --- a/Assets/MyGame/aa/Game/XJMH/GameMoveLine/新星际迷航鱼阵.txt +++ b/Assets/MyGame/aa/Game/XJMH/GameMoveLine/新星际迷航鱼阵.txt @@ -9,17 +9,17 @@ 鱼阵9;-991.5191,-186.7481;-945.954,-186.7481;-903.64355,-188.37543;-862.96045,-190.00275;-808.87695,-187.33098;-770.86365,-189.7068;-728.09875,-189.7068;-684.1459,-192.08264;-633.06555,-194.45847;-574.8577,-198.02222;-510.71033,-199.21013;-444.34625,-208.99576;-412.15942,-191.59747;-365.7847,-163.57268;-355.09344,-117.243996;-351.52972,-61.411995;-382.4155,-10.33165;-437.05957,16.990387;-508.33447,20.554138;-564.1665,-18.647064;-587.9248,-55.47242;-592.67645,-111.30442;-573.6698,-158.82101;-530.90485,-198.02222;-477.4487,-206.33762;-414.76917,-206.38602;-367.7938,-200.2966;-303.42014,-202.90636;-259.0545,-198.5568;-209.46939,-194.20721;-162.49403,-193.3373;-112.08925,-187.33617;-28.189156,-180.06653;7.6845894,-167.51071;42.66149,-141.50224;61.49521,-100.247444;65.08258,-51.817886;50.733086,-7.872551;14.859339,25.310669;-37.15759,41.45385;-90.968216,25.310669;-130.42934,0.19904327;-150.1599,-39.262074;-150.64322,-86.23916;-137.60408,-123.56538;-107.111404,-160.33597;-67.65027,-179.16968;-13.562519,-181.3389;51.62993,-171.99493;123.37741,-170.20125;185.25963,-171.99493;239.96709,-170.20125;300.05563,-169.3044;359.93073,-166.14081;459.98776,-171.24576;500.4113,-142.89761;534.70355,-91.87169;529.0021,-46.26018;515.15576,-11.237064;480.9471,23.786057;430.31058,31.814945;381.7793,18.873272;344.03278,-23.18716;331.0911,-65.24759;340.79736,-119.17122;377.4654,-149.36845;427.07516,-167.70248;475.97986,-164.50256;498.34207,-165.50386;535.7237,-164.50256;564.7612,-163.83505;603.8117,-163.16751;635.853,-163.50128;670.5645,-164.50256;702.6059,-164.50256;743.32513,-164.83633;787.7158,-165.1701;828.43506,-165.1701;876.6498,-162.33824;933.6062,-163.96556;985.68054,-165.59288;1029.6184,-163.96556 鱼阵10;-232.1092,-74.58392;-241.0712,-37.45563;-271.79807,-4.1681976;-308.28622,14.395943;-349.25537,20.79737;-403.02734,11.195229;-443.99652,-17.611198;-471.29004,-56.46317;-479.3141,-107.47302;-464.98547,-155.044;-440.9134,-192.29839;-400.7933,-215.22415;-345.1983,-220.9556;-291.32272,-211.7853;-252.92204,-181.40865;-236.13043,-144.5199;-231.32094,-107.96778;-213.52583,-79.5918;-193.80693,-56.02531;-149.07869,-56.02531;-103.86953,-59.391945;-56.73655,-62.277634;-10.084511,-62.758583;34.16278,-62.758583;88.48624,-64.6382;139.88074,-63.52093;194.62704,-61.28639;246.02155,-63.52093;300.76785,-66.87275;353.27963,-67.99002;412.49503,-67.99001;476.1795,-70.224556;533.1604,-71.34183;589.0239,-72.45911;651.5912,-72.45911;726.44836,-75.81091;781.1947,-74.69365;829.2374,-75.81091;874.6974,-75.73594;926.5516,-77.30728;979.9772,-77.30728;1030.26,-80.44996 鱼阵11;232.1092,74.58392;241.0712,37.45563;271.79807,4.1681976;308.28622,-14.395943;349.25537,-20.79737;403.02734,-11.195229;443.99652,17.611198;471.29004,56.46317;479.3141,107.47302;464.98547,155.044;440.9134,192.29839;400.7933,215.22415;345.1983,220.9556;291.32272,211.7853;252.92204,181.40865;236.13043,144.5199;231.32094,107.96778;213.52583,79.5918;193.80693,56.02531;149.07869,56.02531;103.86953,59.391945;56.73655,62.277634;10.084511,62.758583;-34.16278,62.758583;-88.48624,64.6382;-139.88074,63.52093;-194.62704,61.28639;-246.02155,63.52093;-300.76785,66.87275;-353.27963,67.99002;-412.49503,67.99001;-476.1795,70.224556;-533.1604,71.34183;-589.0239,72.45911;-651.5912,72.45911;-726.44836,75.81091;-781.1947,74.69365;-829.2374,75.81091;-853.8174,75.81091;-900.91736,75.112755;-949.6289,76.6841;-999.9118,73.54141 -鱼阵12;-514.0376,-560.3905;-342.4539,-320.32922;-447.82025,-56.9133;-269.70093,229.08112;-377.576,434.7964;-289.7707,587.8285 -鱼阵13;-111.65138,562.7413;-217.01773,314.3777;-119.17755,126.223465;-239.59624,-124.64882;-176.87817,-347.92517;-222.03519,-538.58813 +鱼阵12;-436.96716,-450.55704;-296.88678,-243.5726;-422.33188,-28.225151;-234.16422,157.85178;-386.78912,369.01773;-289.7707,587.8285 +鱼阵13;-319.88504,555.09467;-45.996544,203.84831;-50.178047,-256.11713;-315.70355,-594.8189 鱼阵14;280.31644,565.74054;278.4989,522.11926;274.86377,485.76822;274.86377,440.3294;278.2854,385.7688;279.31238,350.85095;279.31238,313.8791;279.31238,282.0422;279.31238,245.07036;279.31238,207.0715;278.0053,169.14143;278.0053,139.91626;279.44263,110.212;279.92172,82.903244;294.77386,57.510887;312.50058,38.346848;335.97653,27.327522;361.3689,25.411118;388.19855,25.411118;413.5909,27.806625;439.94147,32.11853;464.85474,46.012463;478.26956,69.48841;484.49786,102.54639;485.93518,133.68796;485.93518,161.95493;485.93518,189.74278;486.41428,218.00975;485.45605,247.23492;484.97696,274.06458;484.01874,303.76886;485.45605,331.0776;485.54602,358.37903;485.54602,394.8239;480.0508,418.95428;478.4297,469.41025;483.88232,523.9368;483.88232,571.19324 鱼阵15;992.5532,-40.4803;964.4487,-39.588097;934.55975,-40.0342;905.56305,-40.4803;877.9046,-40.926407;851.13837,-40.0342;832.40204,-40.926407;815.00397,-40.0342;795.82153,-40.4803;774.40857,-40.4803;754.3339,-38.249786;735.1514,-37.80368;718.6456,-37.357574;700.5337,-37.17712;683.91956,-37.17712;664.1906,-36.42115;644.3211,-37.61811;628.7606,-37.37872;610.8062,-37.139328;586.9379,-37.95098;565.55255,-37.49597;543.7121,-38.40599;519.14166,-37.040966;495.02625,-36.585957;469.09076,-39.771015;448.30966,-44.278168;427.562,-61.11117;415.81805,-79.51004;409.9395,-98.012085;407.20944,-118.942474;409.02948,-146.24298;419.03967,-166.26334;430.86987,-184.00867;453.6203,-197.20392;477.73575,-204.02904;502.7612,-207.2141;525.9666,-201.754;552.048,-188.72885;568.881,-169.54704;577.88464,-149.97379;580.23346,-132.35785;579.842,-111.61019;577.88464,-92.03693;564.9663,-70.11487;554.3967,-57.587982;537.9552,-46.62696;520.7307,-38.014725;502.33185,-36.840324;484.7159,-37.23179;461.61948,-41.146446;444.39502,-47.801353;433.82544,-56.805054;416.99243,-75.20392;407.05777,-111.15677;408.0689,-134.41275;407.05777,-175.36351;408.0689,-196.59723;409.08002,-219.85321;409.58563,-236.53683;408.57452,-257.26498;408.57452,-280.0154;408.06894,-302.26025;407.0578,-328.04407;407.0578,-347.25555;407.0578,-367.47815;406.05292,-387.85052;405.35944,-403.10764;405.1,-421.18533;404.47867,-446.0389;401.99332,-473.3778;401.37198,-504.44473 鱼阵155;398.26526,-501.9593;401.9933,-479.5911;402.61462,-451.63086;403.23596,-423.6706;405.35944,-403.10764;406.05292,-387.85052;407.0578,-367.47815;407.0578,-347.25555;407.0578,-328.04407;408.06894,-302.26025;408.57452,-280.0154;408.57452,-257.26498;409.58563,-236.53683;409.08002,-219.85321;408.0689,-196.59723;407.05777,-175.36351;408.0689,-134.41275;407.05777,-111.15677;416.99243,-75.20392;433.82544,-56.805054;444.39502,-47.801353;461.61948,-41.146446;484.7159,-37.23179;502.33185,-36.840324;520.7307,-38.014725;537.9552,-46.62696;554.3967,-57.587982;564.9663,-70.11487;577.88464,-92.03693;579.842,-111.61019;580.23346,-132.35785;577.88464,-149.97379;568.881,-169.54704;552.048,-188.72885;525.9666,-201.754;502.7612,-207.2141;477.73575,-204.02904;453.6203,-197.20392;430.86987,-184.00867;419.03967,-166.26334;409.02948,-146.24298;407.20944,-118.942474;409.9395,-98.012085;415.81805,-79.51004;427.562,-61.11117;448.30966,-44.278168;469.09076,-39.771015;495.02625,-36.585957;519.14166,-37.040966;543.7121,-38.40599;565.55255,-37.49597;586.9379,-37.95098;610.8062,-37.139328;628.7606,-37.37872;644.3211,-37.61811;664.1906,-36.42115;683.91956,-37.17712;700.5337,-37.17712;720.5193,-37.959816;738.988,-37.15683;757.0552,-38.36131;775.1224,-39.56579;793.1896,-39.56579;813.2642,-38.36131;840.1643,-39.1643;865.4584,-39.56579;893.1614,-39.1643;918.054,-37.959816;950.57495,-37.15683;973.0586,-36.755337;999.9586,-36.353844 鱼阵16;-989.006,37.93033;-953.36816,37.93033;-908.4909,38.590286;-868.23334,35.950447;-842.49493,35.29049;-822.69617,35.950447;-804.6852,37.051598;-789.93243,36.484184;-773.4623,37.774475;-756.4551,37.051598;-737.73047,37.051598;-719.1616,37.17712;-700.5337,37.17712;-683.91956,37.17712;-664.1906,36.42115;-644.3211,37.61811;-628.7606,37.37872;-610.8062,37.139328;-586.9379,37.95098;-565.55255,37.49597;-543.7121,38.40599;-519.14166,37.040966;-495.02625,36.585957;-469.09076,39.771015;-448.30966,44.278168;-427.562,61.11117;-415.81805,79.51004;-409.9395,98.012085;-407.20944,118.942474;-409.02948,146.24298;-419.03967,166.26334;-430.86987,184.00867;-453.6203,197.20392;-477.73575,204.02904;-502.7612,207.2141;-525.9666,201.754;-552.048,188.72885;-568.881,169.54704;-577.88464,149.97379;-580.23346,132.35785;-579.842,111.61019;-577.88464,92.03693;-564.9663,70.11487;-554.3967,57.587982;-537.9552,46.62696;-520.7307,38.014725;-502.33185,36.840324;-484.7159,37.23179;-461.61948,41.146446;-444.39502,47.801353;-433.82544,56.805054;-416.99243,75.20392;-407.05777,111.15677;-408.0689,134.41275;-407.05777,175.36351;-408.0689,196.59723;-409.08002,219.85321;-409.58563,236.53683;-408.57452,257.26498;-408.57452,280.0154;-408.06894,302.26025;-407.0578,328.04407;-407.0578,347.25555;-407.0578,367.47815;-406.05292,387.85052;-405.35944,403.10764;-405.60162,422.02682;-406.26157,449.74512;-405.60162,480.10327;-404.94165,513.10126;-408.24146,545.4393 鱼阵166;-405.3282,535.386;-405.3282,504.17667;-404.02777,469.71637;-405.3282,436.5565;-405.3282,408.59814;-406.05292,387.85052;-407.0578,367.47815;-407.0578,347.25555;-407.0578,328.04407;-408.06894,302.26025;-408.57452,280.0154;-408.57452,257.26498;-409.58563,236.53683;-409.08002,219.85321;-408.0689,196.59723;-407.05777,175.36351;-408.0689,134.41275;-407.05777,111.15677;-416.99243,75.20392;-433.82544,56.805054;-444.39502,47.801353;-461.61948,41.146446;-484.7159,37.23179;-502.33185,36.840324;-520.7307,38.014725;-537.9552,46.62696;-554.3967,57.587982;-564.9663,70.11487;-577.88464,92.03693;-579.842,111.61019;-580.23346,132.35785;-577.88464,149.97379;-568.881,169.54704;-552.048,188.72885;-525.9666,201.754;-502.7612,207.2141;-477.73575,204.02904;-453.6203,197.20392;-430.86987,184.00867;-419.03967,166.26334;-409.02948,146.24298;-407.20944,118.942474;-409.9395,98.012085;-415.81805,79.51004;-427.562,61.11117;-448.30966,44.278168;-469.09076,39.771015;-495.02625,36.585957;-519.14166,37.040966;-543.7121,38.40599;-565.55255,37.49597;-586.9379,37.95098;-610.8062,37.139328;-628.7606,37.37872;-644.3211,37.61811;-664.1906,36.42115;-683.91956,37.17712;-700.5337,37.17712;-719.1616,37.17712;-736.59564,35.91677;-751.9158,37.051598;-766.6685,37.051598;-779.719,36.484184;-796.174,37.051598;-820.7516,37.241558;-849.4108,35.386734;-879.97,36.03693;-914.43024,36.687122;-960.594,34.73654;-990.5029,37.33732 -鱼阵17;643.92285,560.1147;522.9208,394.90024;667.1925,185.47351;471.72757,-19.299294;629.9612,-291.55405;469.40067,-540.5392 +鱼阵17;643.92285,560.1147;520.5972,318.83966;687.85736,90.94771;497.59897,-118.12749;681.58514,-325.11194;491.32672,-534.18713 鱼阵18;-1000.9641,-128.48486;-908.4238,-132.50835;-846.0597,-128.48486;-798.59485,-130.52393;-763.16394,-127.30294;-710.06415,-128.99052;-666.5343,-127.30294;-618.2194,-127.30294;-553.7997,-127.30294;-505.4848,-130.52393;-447.1065,-141.01144;-391.50974,-147.02191;-344.92865,-168.05852;-295.34238,-208.62912;-235.23776,-228.16312;-187.15408,-195.10559;-146.58347,-147.02191;-104.510254,-115.466995;-60.934357,-86.9173;-12.85067,-68.88592;32.227783,-46.346687;80.735275,-27.45227;125.82913,-4.905342;177.36496,4.7576256;245.00574,7.978615;290.0996,14.420593;328.75146,14.420593;379.33188,22.773605;428.91818,31.789291;483.35895,43.4095;534.8948,49.85148;573.1692,55.83113;618.6405,56.293457;664.82874,37.79976;690.37317,-7.278702;692.72327,-59.662163;667.834,-104.94868;621.8615,-133.74492;579.98865,-146.62888;540.1117,-157.5402;486.57996,-172.39679;431.9234,-178.57681;367.40332,-185.28075;305.70374,-184.58728;245.00574,-198.1647;186.99713,-217.6448;134.40561,-216.1422;83.95627,-211.04866;38.862415,-217.49065;-6.2314377,-214.26965;-57.767273,-227.15361;-89.97716,-243.25856;-138.292,-269.0265;-202.7118,-281.91043;-280.01556,-294.79437;-337.99335,-285.1314;-387.00183,-271.73895;-437.84406,-285.1314;-479.71692,-314.1203;-518.3688,-355.99316;-557.0206,-401.08704;-579.56757,-442.9599;-592.5797,-504.6813;-600.6267,-565.0337 鱼阵19;1020.84033,129.0186;958.4762,133.04208;894.10034,133.04208;841.795,127.00685;798.59485,130.52393;763.16394,127.30294;710.06415,128.99052;666.5343,127.30294;618.2194,127.30294;553.7997,127.30294;505.4848,130.52393;447.1065,141.01144;391.50974,147.02191;344.92865,168.05852;295.34238,208.62912;235.23776,228.16312;187.15408,195.10559;146.58347,147.02191;104.510254,115.466995;60.934357,86.9173;12.85067,68.88592;-32.227783,46.346687;-80.735275,27.45227;-125.82913,4.905342;-177.36496,-4.7576256;-245.00574,-7.978615;-290.0996,-14.420593;-328.75146,-14.420593;-379.33188,-22.773605;-428.91818,-31.789291;-483.35895,-43.4095;-534.8948,-49.85148;-573.1692,-55.83113;-618.6405,-56.293457;-664.82874,-37.79976;-690.37317,7.278702;-692.72327,59.662163;-667.834,104.94868;-621.8615,133.74492;-579.98865,146.62888;-540.1117,157.5402;-486.57996,172.39679;-431.9234,178.57681;-367.40332,185.28075;-305.70374,184.58728;-245.00574,198.1647;-186.99713,217.6448;-134.40561,216.1422;-83.95627,211.04866;-38.862415,217.49065;6.2314377,214.26965;57.767273,227.15361;89.97716,243.25856;138.292,269.0265;202.7118,281.91043;280.01556,294.79437;337.99335,285.1314;387.00183,271.73895;437.84406,285.1314;479.71692,314.1203;518.3688,355.99316;557.0206,401.08704;579.56757,442.9599;604.409,509.23853;612.456,579.64966 -鱼阵20;476.26135,-536.58435;476.26135,-428.77032;480.09064,-322.9043;426.0891,-227.60748;372.08762,-75.13263;482.30536,73.29963;530.5195,203.4776;510.02844,348.11978;449.76086,459.01212;368.44733,556.354 +鱼阵20;468.32843,-550.91315;493.41745,-431.74026;476.69144,-304.2044;428.60416,-176.66853;424.42264,-49.13267;482.30536,73.29963;530.5195,203.4776;510.02844,348.11978;449.76086,459.01212;368.44733,556.354 鱼阵21;-546.9665,555.73804;-188.189,137.15216;-192.014,-176.49893;-563.01697,-599.3468 鱼阵22;537.2172,590.4077;192.014,176.49893;188.189,-137.15216;531.4418,-535.8163 鱼阵23;1033.9109,165.90794;944.3905,157.24467;875.0845,160.13243;775.4109,161.8459;706.51416,164.44577;642.8172,165.74571;584.32,165.74571;520.62305,167.04565;459.5259,165.74571;391.92914,168.3456;316.5327,168.3456;242.43623,173.54535;178.73926,176.14522;91.6434,180.04503;11.047241,178.7451;-63.049255,178.7451;-143.64542,177.44516;-225.54152,178.7451;-312.6374,176.14522;-394.5335,172.2454;-484.22925,176.14522;-566.12537,170.94547;-649.3214,169.64554;-737.71716,156.64615;-843.0122,124.1477;-895.00977,94.249115;-919.70856,40.95165;-927.5082,-24.045263;-932.7079,-92.941986;-878.11053,-147.5394;-833.9126,-186.53754;-772.81555,-225.53568;-692.21936,-237.23514;-612.9231,-245.03476;-551.82605,-246.33469;-481.62936,-242.43488;-390.6337,-241.13495;-307.43762,-234.63525;-221.64172,-228.13556;-146.2453,-224.23575;-65.64914,-219.03601;16.246979,-209.93643;95.54315,-209.93643;174.83939,-208.6365;256.73547,-208.6365;342.5314,-208.6365;428.32733,-207.33655;515.4232,-203.43674;599.91907,-207.33655;671.4157,-204.73668;739.01245,-206.03662;788.41016,-204.73668;835.2079,-203.43674;915.51306,-212.38782;996.3701,-221.05109;1065.6761,-226.82657 diff --git a/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs b/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs index 4bd81e1b3..8f45cb27a 100644 --- a/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs +++ b/Assets/MyGame/aa/UI/Game/GameMainPanel_FishBase.cs @@ -3893,35 +3893,48 @@ public class GameMainPanel_FishBase : GameMainPanel_Base } /// - /// ⭐ SuoDing 面板关闭时应用勾选结果(由 SuoDingPanel.OnHide 回调): - /// 1. 打开锁定开关(toggle_Lock) - /// 2. 直接激活自动锁定(跳过"先手动锁定一条鱼"的前提) - /// 3. 有勾选 → 进入"图鉴锁定"模式:之后的锁定只从勾选的鱼里选目标 - /// ⭐ 一个都没勾 → 不进入图鉴模式(白名单不生效),等同于正常锁定,不会干扰正常玩法。 - /// 白名单(selectedSet)由面板 Toggle 实时同步;自动锁定仍按原有优先级 + /// ⭐ 图鉴/锁定面板关闭时应用勾选结果: + /// 1. 一条都没勾选 → **不开启锁定功能**(锁定开关/图鉴模式/自动锁定全部保持原样,直接返回) + /// 2. 有勾选 → 打开锁定开关 + 激活自动锁定 + 进入"图鉴锁定"模式(之后只锁勾选的鱼) + /// 白名单由面板勾选列表实时同步;自动锁定仍按原有优先级 /// (特殊Boss > Boss鱼 > 特殊鱼 > 黄金鱼)只从选中的鱼里选目标,选中的鱼死光则不锁定。 /// public void ApplySuoDingSelection() { + // ⭐ 一条都没勾选 → 不开启锁定功能:不碰锁定开关、不进图鉴模式、不激活自动锁定 + if (!HasSuoDingSelection()) + { + _suoDingMode = false; + return; + } + // 打开锁定开关(已打开则不变;关闭时 onValueChanged 的重置逻辑只在 !on 分支,不受影响) if (toggle_Lock != null && !toggle_Lock.isOn) toggle_Lock.isOn = true; - // ⭐ 有勾选才算"图鉴锁定"模式(默认全不选 → 保持正常锁定) - var panel = subUIManager.Get(UIPanel.GameSuoDing); - _suoDingMode = panel != null && panel.HasSelection; + // ⭐ 有勾选 → 进入"图鉴锁定"模式:之后的锁定只从勾选的鱼里选目标 + _suoDingMode = true; // ⭐ 面板选完即应用:自动锁定立即开始找目标 _autoLockActivated = true; // ⭐ 三发模式:退出"等手动点击"状态,允许重新按勾选建位 _tripleLockWaitManual = false; - // ⭐ 只有进入图鉴模式时,才把当前手动锁定的目标转为自动锁定(交给白名单筛选); - // 正常锁定(没勾选)保持手动锁定不动,避免把玩家点的鱼放掉 - if (_suoDingMode && currSitData != null && currSitData.isManualLock) + // ⭐ 进入图鉴模式后,把当前手动锁定的目标转为自动锁定(交给白名单筛选) + if (currSitData != null && currSitData.isManualLock) currSitData.isManualLock = false; } + /// + /// ⭐ 图鉴/锁定面板当前是否勾选了至少一条鱼(决定关闭面板时是否开启锁定功能)。 + /// 通用 = 通用 SuoDing 面板的勾选;XJMH 覆写为原版 PW_SetLock 面板的勾选列表。 + /// + protected virtual bool HasSuoDingSelection() + { + var panel = subUIManager.Get(UIPanel.GameSuoDing); + return panel != null && panel.HasSelection; + } + private void HandleAutoLock() { // ⭐ 退出倒计时期间屏蔽本地玩家自动锁定,其他玩家和机器人不受影响 diff --git a/Assets/MyGame/aa/UI/Game/Sub/SuoDingPanel.cs b/Assets/MyGame/aa/UI/Game/Sub/SuoDingPanel.cs index 4c858723d..268037d23 100644 --- a/Assets/MyGame/aa/UI/Game/Sub/SuoDingPanel.cs +++ b/Assets/MyGame/aa/UI/Game/Sub/SuoDingPanel.cs @@ -8,7 +8,8 @@ using UnityEngine.UI; /// 单独锁定面板(SuoDing.prefab)。 /// ⭐ 本阶段只做界面: /// - 单列表不分类,只显示 黄金鱼/特殊鱼/Boss鱼/特殊Boss(不含普通鱼) -/// - 每个 item 带 Toggle(勾选=作为锁定目标),按锁定优先级排序显示 +/// - 每个 item 带 Toggle(勾选=作为锁定目标) +/// - 两层排序:①鱼类型 特殊Boss > Boss鱼 > 特殊鱼 > 黄金鱼;②同类型内按最大爆奖倍数(与 item 显示同源)从大到小 /// - 全选/取消全选 两个按钮 /// - GetSelectedFishNumbers() 暴露选中列表,后续锁定功能从这里对接 /// @@ -100,29 +101,77 @@ public class SuoDingPanel : SubUIBase } // ② 过滤:只保留 黄金鱼/特殊鱼/Boss鱼/特殊Boss(不显示普通鱼) - var filtered = new List<(string fishNumber, FishTypeEnum fishType)>(); + // 同时带上"最大爆奖倍数"(与 item 上显示的数字同源,第二层排序用) + var filtered = new List<(string fishNumber, FishTypeEnum fishType, double multiple)>(); foreach (var fn in fishNumbers) { if (!GameManager.Instance.dic_fishTypeConfigs.TryGetValue(fn, out var cfg)) continue; var t = (FishTypeEnum)cfg.fishType; if (t == FishTypeEnum.普通鱼) continue; - filtered.Add((fn, t)); + filtered.Add((fn, t, GetShowMultiple(cfg.fishMultipleDesc, cfg.fishScore))); } - // ③ 排序:与自动锁定优先级一致 特殊Boss > Boss鱼 > 特殊鱼 > 黄金鱼,同类型按编号 + // ③ 两层排序(与 XJMH 锁定面板同口径): + // 第一层:鱼类型 特殊Boss > Boss鱼 > 特殊鱼 > 黄金鱼 + // 第二层:同类型内按"最大爆奖倍数"从大到小;倍数相同再按鱼号 filtered.Sort((a, b) => { int pa = GetTypeSortOrder(a.fishType); int pb = GetTypeSortOrder(b.fishType); if (pa != pb) return pa.CompareTo(pb); + int sc = b.multiple.CompareTo(a.multiple); // ⭐ 从大到小 + if (sc != 0) return sc; return CompareFishNumber(a.fishNumber, b.fishNumber); }); // ④ 实例化条目 - foreach (var (fishNumber, fishType) in filtered) + foreach (var (fishNumber, fishType, _) in filtered) CreateItem(fishNumber, fishType); } + /// + /// 取 item 上显示给玩家的"最大爆奖倍数"(排序用,保证顺序和 item 上的数字一致): + /// 优先解析服务端文案 fishMultipleDesc(如"最高500倍"、"1.5万倍"), + /// 解析不到数字时回退用 fishScore。 + /// ⭐ public static:XJMH 锁定面板(PW_SetLock)也用同一份口径排序。 + /// + public static double GetShowMultiple(string fishMultipleDesc, long fishScore) + { + double v = ParseNumber(fishMultipleDesc); + return v > 0 ? v : fishScore; + } + + /// 从文案里解析第一个数字(支持小数与"万/亿"单位;解析不到返回 0) + private static double ParseNumber(string s) + { + if (string.IsNullOrEmpty(s)) return 0; + + int i = 0; + while (i < s.Length && (s[i] < '0' || s[i] > '9')) i++; // 跳过前缀(如"最高") + if (i >= s.Length) return 0; + + int start = i; + bool dot = false; + while (i < s.Length && ((s[i] >= '0' && s[i] <= '9') || (s[i] == '.' && !dot))) + { + if (s[i] == '.') dot = true; + i++; + } + + double v; + if (!double.TryParse(s.Substring(start, i - start), + System.Globalization.NumberStyles.Float, + System.Globalization.CultureInfo.InvariantCulture, out v)) + return 0; + + if (i < s.Length) + { + if (s[i] == '万') v *= 10000; + else if (s[i] == '亿') v *= 100000000; + } + return v; + } + private void TryAddFishNumber(HashSet set, string fishNumber) { if (!string.IsNullOrEmpty(fishNumber)) diff --git a/Assets/MyGame/aa/UI/Game/XJMH/GameMainPanelXJMH.prefab b/Assets/MyGame/aa/UI/Game/XJMH/GameMainPanelXJMH.prefab index 24cbe8121..84cc537eb 100644 --- a/Assets/MyGame/aa/UI/Game/XJMH/GameMainPanelXJMH.prefab +++ b/Assets/MyGame/aa/UI/Game/XJMH/GameMainPanelXJMH.prefab @@ -16660,7 +16660,7 @@ PrefabInstance: - target: {fileID: 3429558903206714841, guid: 6c8512965de208f498306fbdfeb8eb5b, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 3783151213167614958, guid: 6c8512965de208f498306fbdfeb8eb5b, type: 3} @@ -16670,7 +16670,7 @@ PrefabInstance: - target: {fileID: 3783151213167614958, guid: 6c8512965de208f498306fbdfeb8eb5b, type: 3} propertyPath: m_IsActive - value: 0 + value: 1 objectReference: {fileID: 0} - target: {fileID: 6114408877341087527, guid: 6c8512965de208f498306fbdfeb8eb5b, type: 3} @@ -16805,7 +16805,7 @@ PrefabInstance: - target: {fileID: 7125234996501131867, guid: 6c8512965de208f498306fbdfeb8eb5b, type: 3} propertyPath: m_AnchorMax.y - value: 1 + value: 0 objectReference: {fileID: 0} - target: {fileID: 7125234996501131867, guid: 6c8512965de208f498306fbdfeb8eb5b, type: 3} diff --git a/Assets/MyGame/aa/UI/Game/XJMH/GameMainPanel_XJMH.cs b/Assets/MyGame/aa/UI/Game/XJMH/GameMainPanel_XJMH.cs index 519dcb813..4ed9d0171 100644 --- a/Assets/MyGame/aa/UI/Game/XJMH/GameMainPanel_XJMH.cs +++ b/Assets/MyGame/aa/UI/Game/XJMH/GameMainPanel_XJMH.cs @@ -2532,7 +2532,8 @@ public class GameMainPanel_XJMH : GameMainPanel_FishBase /// 收集锁定条目(与"帮助-图鉴"同一份数据源): /// 房间出鱼(spawnList + 鱼阵解析 + 按鱼号去重)→ 图鉴分类过滤; /// 去掉普通鱼(保留 黄金/特殊/Boss/特殊Boss,与通用锁定面板 SuoDing 口径一致); - /// 排序按锁定优先级(特殊Boss→Boss→特殊→黄金,同类按分值升序,与通用锁定面板一致)。 + /// 排序两层:①锁定优先级(特殊Boss→Boss→特殊→黄金);②同类按"最大爆奖倍数"从大到小, +/// 倍数取 item 上显示的数字(优先 fishMultipleDesc,回退 fishScore),与通用锁定面板 SuoDing 完全一致)。 /// private List CollectLockFishCfgs() { @@ -2561,11 +2562,32 @@ public class GameMainPanel_XJMH : GameMainPanel_FishBase } } - // ② 按锁定优先级排序 → 过滤普通鱼(rank 0) → 生成展示文本(与图鉴条目同口径) - foreach (var e in entries.OrderByDescending(e => e.rank).ThenBy(e => e.score)) + // ② 两层排序 → 过滤普通鱼(rank 0) → 生成展示文本(与图鉴条目同口径) + // ⭐ 第一层:锁定优先级 特殊Boss > Boss鱼 > 特殊鱼 > 黄金鱼 + // ⭐ 第二层:同类内按"最大爆奖倍数"从大到小 + // 倍数取 item 上显示的那个数字(优先 fishMultipleDesc,回退 fishScore), + // 与通用锁定面板 SuoDing 共用 SuoDingPanel.GetShowMultiple,保证两块面板顺序一致 + var ordered = new List<(HelpTuJianEntry entry, double multiple)>(); + foreach (var e in entries) { if (e.rank == 0) continue; + string fn0 = e.detail != null ? e.detail.fishNumber : null; + if (string.IsNullOrEmpty(fn0)) continue; + if (!GameManager.Instance.dic_fishTypeConfigs.TryGetValue(fn0, out var cfg0)) continue; + + ordered.Add((e, SuoDingPanel.GetShowMultiple(cfg0.fishMultipleDesc, cfg0.fishScore))); + } + + ordered.Sort((a, b) => + { + int r = b.entry.rank.CompareTo(a.entry.rank); // 特殊Boss(4) 排最前 + if (r != 0) return r; + return b.multiple.CompareTo(a.multiple); // ⭐ 最大爆奖倍数从大到小 + }); + + foreach (var (e, _) in ordered) + { string fn = e.detail != null ? e.detail.fishNumber : null; if (string.IsNullOrEmpty(fn)) continue; if (!GameManager.Instance.dic_fishTypeConfigs.TryGetValue(fn, out var fishCfg)) continue; @@ -2751,6 +2773,12 @@ public class GameMainPanel_XJMH : GameMainPanel_FishBase return _xjLockSelected.Contains(m.monsterData?.fishTypeConfig?.fishNumber); } + /// + /// ⭐ 覆写父类:XJMH 用的是原版 PW_SetLock 面板,没有通用 SuoDingPanel。 + /// 一条都没勾选 → 关闭面板时不开启锁定功能(父类 ApplySuoDingSelection 会直接返回)。 + /// + protected override bool HasSuoDingSelection() => _xjLockWhiteOn; + /// /// ⭐ 覆写父类:XJMH 的锁定规则与通用玩法不同(不自动换目标): /// - 直接点锁定(手动点鱼)→ 不激活自动换目标:锁定的鱼死亡/消失后就空着,等玩家重新点;