UEBattleView.ts 36 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108
  1. import { ActFightStart, ActionType, fightLogList, fightLogOne } from "../../common/Xys";
  2. import { BattleTeamId, FightType } from "../../data/const/TypeConst";
  3. import GameDataCenter from "../../data/GameDataCenter";
  4. import UEBase from "../../frameWork/compment/UEBase";
  5. import { eg } from "../../frameWork/eg";
  6. import AssetMgr from "../../utils/AssetMgr";
  7. import UEBattleRole from "./UEBattleRole";
  8. const { ccclass, property } = cc._decorator;
  9. @ccclass
  10. export default class UEBattleView extends UEBase {
  11. @property(cc.Prefab)
  12. rolePrefab: cc.Prefab = null;
  13. @property(cc.Prefab)
  14. subHpPrefab: cc.Prefab = null;
  15. @property(cc.Node)
  16. roleContent: cc.Node = null;
  17. @property(cc.Node)
  18. hpLayer: cc.Node = null
  19. fightStart: ActFightStart;
  20. fightLogList: fightLogList;
  21. static readonly BundleKey: string = "battle";
  22. static readonly PrefabUrl: string = "UEBattleView";
  23. static readonly CLS: string = "UEBattleView";
  24. type: FightType;
  25. huihe: number;
  26. curIndex: number;
  27. static s_ins: UEBattleView;
  28. TxtRound: cc.Label;
  29. static getInstance() {
  30. return this.s_ins
  31. }
  32. Init() {
  33. UEBattleView.s_ins = this;
  34. this.fightStart = {
  35. "from": "pve",
  36. "seed": 29576,
  37. "teams": {
  38. "10": {
  39. "fid": "106364",
  40. "zhanwei": 0,
  41. "level": 0,
  42. },
  43. "20": {
  44. "fid": "1022",
  45. "zhanwei": 0,
  46. "level": 0,
  47. }
  48. }
  49. };
  50. this.fightLogList = {
  51. "win": 1,
  52. "log": {
  53. "1": [{
  54. "aType": ActionType.round,
  55. "atker": {
  56. "fid": "",
  57. "iid": "",
  58. "hp": 0,
  59. "nuqi": 0,
  60. "buff": [],
  61. "effect": [],
  62. "status": 0
  63. },
  64. "target": [{
  65. "fid": "106364",
  66. "iid": "10",
  67. "hp": 943267,
  68. "nuqi": 0,
  69. "buff": [],
  70. "effect": [
  71. [
  72. "huifu",
  73. 2100
  74. ]
  75. ],
  76. "status": 0
  77. }],
  78. },
  79. {
  80. "aType": ActionType.buff,
  81. "atker": {
  82. "fid": "1022",
  83. "iid": "20",
  84. "hp": 707156,
  85. "nuqi": 0,
  86. "buff": [],
  87. "effect": [],
  88. "status": 0
  89. },
  90. "target": []
  91. },
  92. {
  93. "aType": ActionType.atk,
  94. "atker": {
  95. "fid": "1022",
  96. "iid": "20",
  97. "hp": 707156,
  98. "nuqi": 1819,
  99. "buff": [],
  100. "effect": [
  101. [
  102. "xixue",
  103. 11400
  104. ]
  105. ],
  106. "status": 0
  107. },
  108. "target": [{
  109. "fid": "106364",
  110. "iid": "10",
  111. "hp": 883267,
  112. "nuqi": 659,
  113. "buff": [
  114. [
  115. "jiyun",
  116. 1
  117. ]
  118. ],
  119. "effect": [
  120. [
  121. "hp", -60000
  122. ]
  123. ],
  124. "status": 0
  125. }]
  126. },
  127. {
  128. "aType": ActionType.over,
  129. "atker": {
  130. "fid": "1022",
  131. "iid": "20",
  132. "hp": 707156,
  133. "nuqi": 1819,
  134. "buff": [],
  135. "effect": [],
  136. "status": 0
  137. },
  138. "target": []
  139. },
  140. {
  141. "aType": ActionType.buff,
  142. "atker": {
  143. "fid": "106364",
  144. "iid": "10",
  145. "hp": 883267,
  146. "nuqi": 659,
  147. "buff": [
  148. [
  149. "jiyun",
  150. 1
  151. ]
  152. ],
  153. "effect": [
  154. [
  155. "jiyun",
  156. 1
  157. ]
  158. ],
  159. "status": 0
  160. },
  161. "target": []
  162. },
  163. {
  164. "aType": ActionType.over,
  165. "atker": {
  166. "fid": "106364",
  167. "iid": "10",
  168. "hp": 883267,
  169. "nuqi": 659,
  170. "buff": [],
  171. "effect": [],
  172. "status": 0
  173. },
  174. "target": []
  175. }
  176. ],
  177. "2": [{
  178. "aType": ActionType.round,
  179. "atker": {
  180. "fid": "",
  181. "iid": "",
  182. "hp": 0,
  183. "nuqi": 0,
  184. "buff": [],
  185. "effect": [],
  186. "status": 0
  187. },
  188. "target": [{
  189. "fid": "106364",
  190. "iid": "10",
  191. "hp": 885367,
  192. "nuqi": 659,
  193. "buff": [],
  194. "effect": [
  195. [
  196. "huifu",
  197. 2100
  198. ]
  199. ],
  200. "status": 0
  201. }]
  202. },
  203. {
  204. "aType": ActionType.buff,
  205. "atker": {
  206. "fid": "1022",
  207. "iid": "20",
  208. "hp": 707156,
  209. "nuqi": 1819,
  210. "buff": [],
  211. "effect": [],
  212. "status": 0
  213. },
  214. "target": []
  215. },
  216. {
  217. "aType": ActionType.atk,
  218. "atker": {
  219. "fid": "1022",
  220. "iid": "20",
  221. "hp": 707156,
  222. "nuqi": 3733,
  223. "buff": [],
  224. "effect": [
  225. [
  226. "xixue",
  227. 22121
  228. ]
  229. ],
  230. "status": 0
  231. },
  232. "target": [{
  233. "fid": "106364",
  234. "iid": "10",
  235. "hp": 768942,
  236. "nuqi": 1355,
  237. "buff": [],
  238. "effect": [
  239. [
  240. "baoji", -116425
  241. ]
  242. ],
  243. "status": 0
  244. }]
  245. },
  246. {
  247. "aType": ActionType.over,
  248. "atker": {
  249. "fid": "1022",
  250. "iid": "20",
  251. "hp": 707156,
  252. "nuqi": 3733,
  253. "buff": [],
  254. "effect": [],
  255. "status": 0
  256. },
  257. "target": []
  258. },
  259. {
  260. "aType": ActionType.buff,
  261. "atker": {
  262. "fid": "106364",
  263. "iid": "10",
  264. "hp": 768942,
  265. "nuqi": 1355,
  266. "buff": [],
  267. "effect": [],
  268. "status": 0
  269. },
  270. "target": []
  271. },
  272. {
  273. "aType": ActionType.atk,
  274. "atker": {
  275. "fid": "106364",
  276. "iid": "10",
  277. "hp": 768942,
  278. "nuqi": 3227,
  279. "buff": [],
  280. "effect": [],
  281. "status": 0
  282. },
  283. "target": [{
  284. "fid": "1022",
  285. "iid": "20",
  286. "hp": 605306,
  287. "nuqi": 4474,
  288. "buff": [],
  289. "effect": [
  290. [
  291. "hp", -101850
  292. ]
  293. ],
  294. "status": 0
  295. }]
  296. },
  297. {
  298. "aType": ActionType.atk,
  299. "atker": {
  300. "fid": "106364",
  301. "iid": "10",
  302. "hp": 832958,
  303. "nuqi": 3227,
  304. "buff": [],
  305. "effect": [
  306. [
  307. "huifu",
  308. 64016
  309. ]
  310. ],
  311. "status": 0
  312. },
  313. "target": [{
  314. "fid": "1022",
  315. "iid": "20",
  316. "hp": 507489,
  317. "nuqi": 4474,
  318. "buff": [],
  319. "effect": [
  320. [
  321. "lianji", -97817
  322. ]
  323. ],
  324. "status": 0
  325. }]
  326. },
  327. {
  328. "aType": ActionType.over,
  329. "atker": {
  330. "fid": "106364",
  331. "iid": "10",
  332. "hp": 832958,
  333. "nuqi": 3227,
  334. "buff": [],
  335. "effect": [],
  336. "status": 0
  337. },
  338. "target": []
  339. }
  340. ],
  341. "3": [{
  342. "aType": ActionType.round,
  343. "atker": {
  344. "fid": "",
  345. "iid": "",
  346. "hp": 0,
  347. "nuqi": 0,
  348. "buff": [],
  349. "effect": [],
  350. "status": 0
  351. },
  352. "target": [{
  353. "fid": "106364",
  354. "iid": "10",
  355. "hp": 835058,
  356. "nuqi": 3227,
  357. "buff": [],
  358. "effect": [
  359. [
  360. "huifu",
  361. 2100
  362. ]
  363. ],
  364. "status": 0
  365. }]
  366. },
  367. {
  368. "aType": ActionType.buff,
  369. "atker": {
  370. "fid": "1022",
  371. "iid": "20",
  372. "hp": 507489,
  373. "nuqi": 4474,
  374. "buff": [],
  375. "effect": [],
  376. "status": 0
  377. },
  378. "target": []
  379. },
  380. {
  381. "aType": ActionType.atk,
  382. "atker": {
  383. "fid": "1022",
  384. "iid": "20",
  385. "hp": 518778,
  386. "nuqi": 6374,
  387. "buff": [],
  388. "effect": [
  389. [
  390. "xixue",
  391. 11289
  392. ]
  393. ],
  394. "status": 0
  395. },
  396. "target": [{
  397. "fid": "106364",
  398. "iid": "10",
  399. "hp": 775646,
  400. "nuqi": 3916,
  401. "buff": [],
  402. "effect": [
  403. [
  404. "hp", -59412
  405. ]
  406. ],
  407. "status": 0
  408. }]
  409. },
  410. {
  411. "aType": ActionType.over,
  412. "atker": {
  413. "fid": "1022",
  414. "iid": "20",
  415. "hp": 518778,
  416. "nuqi": 6374,
  417. "buff": [],
  418. "effect": [],
  419. "status": 0
  420. },
  421. "target": []
  422. },
  423. {
  424. "aType": ActionType.buff,
  425. "atker": {
  426. "fid": "106364",
  427. "iid": "10",
  428. "hp": 775646,
  429. "nuqi": 3916,
  430. "buff": [],
  431. "effect": [],
  432. "status": 0
  433. },
  434. "target": []
  435. },
  436. {
  437. "aType": ActionType.atk,
  438. "atker": {
  439. "fid": "106364",
  440. "iid": "10",
  441. "hp": 775646,
  442. "nuqi": 5767,
  443. "buff": [],
  444. "effect": [],
  445. "status": 0
  446. },
  447. "target": [{
  448. "fid": "1022",
  449. "iid": "20",
  450. "hp": 415919,
  451. "nuqi": 7039,
  452. "buff": [],
  453. "effect": [
  454. [
  455. "hp", -102859
  456. ]
  457. ],
  458. "status": 0
  459. }]
  460. },
  461. {
  462. "aType": ActionType.over,
  463. "atker": {
  464. "fid": "106364",
  465. "iid": "10",
  466. "hp": 775646,
  467. "nuqi": 5767,
  468. "buff": [],
  469. "effect": [],
  470. "status": 0
  471. },
  472. "target": []
  473. }
  474. ],
  475. "4": [{
  476. "aType": ActionType.round,
  477. "atker": {
  478. "fid": "",
  479. "iid": "",
  480. "hp": 0,
  481. "nuqi": 0,
  482. "buff": [],
  483. "effect": [],
  484. "status": 0
  485. },
  486. "target": [{
  487. "fid": "106364",
  488. "iid": "10",
  489. "hp": 777746,
  490. "nuqi": 5767,
  491. "buff": [],
  492. "effect": [
  493. [
  494. "huifu",
  495. 2100
  496. ]
  497. ],
  498. "status": 0
  499. }]
  500. },
  501. {
  502. "aType": ActionType.buff,
  503. "atker": {
  504. "fid": "1022",
  505. "iid": "20",
  506. "hp": 415919,
  507. "nuqi": 7039,
  508. "buff": [],
  509. "effect": [],
  510. "status": 0
  511. },
  512. "target": []
  513. },
  514. {
  515. "aType": ActionType.atk,
  516. "atker": {
  517. "fid": "1022",
  518. "iid": "20",
  519. "hp": 427319,
  520. "nuqi": 8850,
  521. "buff": [],
  522. "effect": [
  523. [
  524. "xixue",
  525. 11400
  526. ]
  527. ],
  528. "status": 0
  529. },
  530. "target": [{
  531. "fid": "106364",
  532. "iid": "10",
  533. "hp": 717746,
  534. "nuqi": 6414,
  535. "buff": [],
  536. "effect": [
  537. [
  538. "hp", -60000
  539. ]
  540. ],
  541. "status": 0
  542. }]
  543. },
  544. {
  545. "aType": ActionType.over,
  546. "atker": {
  547. "fid": "1022",
  548. "iid": "20",
  549. "hp": 427319,
  550. "nuqi": 8850,
  551. "buff": [],
  552. "effect": [],
  553. "status": 0
  554. },
  555. "target": []
  556. },
  557. {
  558. "aType": ActionType.buff,
  559. "atker": {
  560. "fid": "106364",
  561. "iid": "10",
  562. "hp": 717746,
  563. "nuqi": 6414,
  564. "buff": [],
  565. "effect": [],
  566. "status": 0
  567. },
  568. "target": []
  569. },
  570. {
  571. "aType": ActionType.atk,
  572. "atker": {
  573. "fid": "106364",
  574. "iid": "10",
  575. "hp": 717746,
  576. "nuqi": 8377,
  577. "buff": [],
  578. "effect": [],
  579. "status": 0
  580. },
  581. "target": [{
  582. "fid": "1022",
  583. "iid": "20",
  584. "hp": 323452,
  585. "nuqi": 9529,
  586. "buff": [],
  587. "effect": [
  588. [
  589. "hp", -103867
  590. ]
  591. ],
  592. "status": 0
  593. }]
  594. },
  595. {
  596. "aType": ActionType.atk,
  597. "atker": {
  598. "fid": "106364",
  599. "iid": "10",
  600. "hp": 781762,
  601. "nuqi": 8377,
  602. "buff": [],
  603. "effect": [
  604. [
  605. "huifu",
  606. 64016
  607. ]
  608. ],
  609. "status": 0
  610. },
  611. "target": [{
  612. "fid": "1022",
  613. "iid": "20",
  614. "hp": 222610,
  615. "nuqi": 9529,
  616. "buff": [],
  617. "effect": [
  618. [
  619. "lianji", -100842
  620. ]
  621. ],
  622. "status": 0
  623. }]
  624. },
  625. {
  626. "aType": ActionType.over,
  627. "atker": {
  628. "fid": "106364",
  629. "iid": "10",
  630. "hp": 781762,
  631. "nuqi": 8377,
  632. "buff": [],
  633. "effect": [],
  634. "status": 0
  635. },
  636. "target": []
  637. }
  638. ],
  639. "5": [{
  640. "aType": ActionType.round,
  641. "atker": {
  642. "fid": "",
  643. "iid": "",
  644. "hp": 0,
  645. "nuqi": 0,
  646. "buff": [],
  647. "effect": [],
  648. "status": 0
  649. },
  650. "target": [{
  651. "fid": "106364",
  652. "iid": "10",
  653. "hp": 783862,
  654. "nuqi": 8377,
  655. "buff": [],
  656. "effect": [
  657. [
  658. "huifu",
  659. 2100
  660. ]
  661. ],
  662. "status": 0
  663. }]
  664. },
  665. {
  666. "aType": ActionType.buff,
  667. "atker": {
  668. "fid": "1022",
  669. "iid": "20",
  670. "hp": 222610,
  671. "nuqi": 9529,
  672. "buff": [],
  673. "effect": [],
  674. "status": 0
  675. },
  676. "target": []
  677. },
  678. {
  679. "aType": ActionType.atk,
  680. "atker": {
  681. "fid": "1022",
  682. "iid": "20",
  683. "hp": 233675,
  684. "nuqi": 11455,
  685. "buff": [],
  686. "effect": [
  687. [
  688. "xixue",
  689. 11065
  690. ]
  691. ],
  692. "status": 0
  693. },
  694. "target": [{
  695. "fid": "106364",
  696. "iid": "10",
  697. "hp": 725626,
  698. "nuqi": 9055,
  699. "buff": [],
  700. "effect": [
  701. [
  702. "hp", -58236
  703. ]
  704. ],
  705. "status": 0
  706. }]
  707. },
  708. {
  709. "aType": ActionType.over,
  710. "atker": {
  711. "fid": "1022",
  712. "iid": "20",
  713. "hp": 233675,
  714. "nuqi": 11455,
  715. "buff": [],
  716. "effect": [],
  717. "status": 0
  718. },
  719. "target": []
  720. },
  721. {
  722. "aType": ActionType.buff,
  723. "atker": {
  724. "fid": "106364",
  725. "iid": "10",
  726. "hp": 725626,
  727. "nuqi": 9055,
  728. "buff": [],
  729. "effect": [],
  730. "status": 0
  731. },
  732. "target": []
  733. },
  734. {
  735. "aType": ActionType.atk,
  736. "atker": {
  737. "fid": "106364",
  738. "iid": "10",
  739. "hp": 725626,
  740. "nuqi": 10940,
  741. "buff": [],
  742. "effect": [],
  743. "status": 0
  744. },
  745. "target": [{
  746. "fid": "1022",
  747. "iid": "20",
  748. "hp": 129808,
  749. "nuqi": 12088,
  750. "buff": [],
  751. "effect": [
  752. [
  753. "hp", -103867
  754. ]
  755. ],
  756. "status": 0
  757. }]
  758. },
  759. {
  760. "aType": ActionType.over,
  761. "atker": {
  762. "fid": "106364",
  763. "iid": "10",
  764. "hp": 725626,
  765. "nuqi": 10940,
  766. "buff": [],
  767. "effect": [],
  768. "status": 0
  769. },
  770. "target": []
  771. }
  772. ],
  773. "6": [{
  774. "aType": ActionType.round,
  775. "atker": {
  776. "fid": "",
  777. "iid": "",
  778. "hp": 0,
  779. "nuqi": 0,
  780. "buff": [],
  781. "effect": [],
  782. "status": 0
  783. },
  784. "target": [{
  785. "fid": "106364",
  786. "iid": "10",
  787. "hp": 727726,
  788. "nuqi": 10940,
  789. "buff": [],
  790. "effect": [
  791. [
  792. "huifu",
  793. 2100
  794. ]
  795. ],
  796. "status": 0
  797. }]
  798. },
  799. {
  800. "aType": ActionType.buff,
  801. "atker": {
  802. "fid": "1022",
  803. "iid": "20",
  804. "hp": 129808,
  805. "nuqi": 12088,
  806. "buff": [],
  807. "effect": [],
  808. "status": 0
  809. },
  810. "target": []
  811. },
  812. {
  813. "aType": ActionType.atk,
  814. "atker": {
  815. "fid": "1022",
  816. "iid": "20",
  817. "hp": 140761,
  818. "nuqi": 13934,
  819. "buff": [],
  820. "effect": [
  821. [
  822. "xixue",
  823. 10953
  824. ]
  825. ],
  826. "status": 0
  827. },
  828. "target": [{
  829. "fid": "106364",
  830. "iid": "10",
  831. "hp": 670079,
  832. "nuqi": 11638,
  833. "buff": [],
  834. "effect": [
  835. [
  836. "hp", -57647
  837. ]
  838. ],
  839. "status": 0
  840. }]
  841. },
  842. {
  843. "aType": ActionType.over,
  844. "atker": {
  845. "fid": "1022",
  846. "iid": "20",
  847. "hp": 140761,
  848. "nuqi": 13934,
  849. "buff": [],
  850. "effect": [],
  851. "status": 0
  852. },
  853. "target": []
  854. },
  855. {
  856. "aType": ActionType.buff,
  857. "atker": {
  858. "fid": "106364",
  859. "iid": "10",
  860. "hp": 670079,
  861. "nuqi": 11638,
  862. "buff": [],
  863. "effect": [],
  864. "status": 0
  865. },
  866. "target": []
  867. },
  868. {
  869. "aType": ActionType.skill,
  870. "atker": {
  871. "fid": "106364",
  872. "iid": "10",
  873. "hp": 670079,
  874. "nuqi": 0,
  875. "buff": [],
  876. "effect": [
  877. [
  878. "huifu",
  879. 35855
  880. ]
  881. ],
  882. "status": 0
  883. },
  884. "target": []
  885. },
  886. {
  887. "aType": ActionType.atk,
  888. "atker": {
  889. "fid": "106364",
  890. "iid": "10",
  891. "hp": 705934,
  892. "nuqi": 1813,
  893. "buff": [],
  894. "effect": [],
  895. "status": 0
  896. },
  897. "target": [{
  898. "fid": "1022",
  899. "iid": "20",
  900. "hp": 37902,
  901. "nuqi": 14627,
  902. "buff": [],
  903. "effect": [
  904. [
  905. "hp", -102859
  906. ]
  907. ],
  908. "status": 0
  909. }]
  910. },
  911. {
  912. "aType": ActionType.atk,
  913. "atker": {
  914. "fid": "106364",
  915. "iid": "10",
  916. "hp": 779552,
  917. "nuqi": 1813,
  918. "buff": [],
  919. "effect": [
  920. [
  921. "huifu",
  922. 73618
  923. ]
  924. ],
  925. "status": 0
  926. },
  927. "target": [{
  928. "fid": "1022",
  929. "iid": "20",
  930. "hp": 0,
  931. "nuqi": 14627,
  932. "buff": [],
  933. "effect": [
  934. [
  935. "lianji", -216709
  936. ]
  937. ],
  938. "status": 0
  939. }]
  940. },
  941. {
  942. "aType": ActionType.over,
  943. "atker": {
  944. "fid": "106364",
  945. "iid": "10",
  946. "hp": 779552,
  947. "nuqi": 1813,
  948. "buff": [],
  949. "effect": [],
  950. "status": 0
  951. },
  952. "target": []
  953. }
  954. ]
  955. }
  956. }
  957. this.TxtRound = this.node.getChildByName("ImgDi").getChildByName("TxtRound").getComponent(cc.Label);
  958. this.initEvent();
  959. }
  960. initEvent(): void {
  961. }
  962. //关闭界面
  963. onDisable(): void {
  964. this.node.destroy();
  965. }
  966. /** 获取扣血飘字表现层 */
  967. GetHpLayer() {
  968. return this.hpLayer;
  969. }
  970. /** 获取扣血飘字预制体 */
  971. GetSubHpPrefab() {
  972. return this.subHpPrefab;
  973. }
  974. //开始战斗
  975. async onStartFight() {
  976. eg.poolManager.GetPool("subHPPool").clear();
  977. await this.produceRole();
  978. this.huihe = 1;
  979. this.curIndex = 0;
  980. this.playLog();
  981. }
  982. async produceRole() {
  983. let role1 = this.fightStart.teams[BattleTeamId.role1]
  984. let role2 = this.fightStart.teams[BattleTeamId.role2]
  985. let roleZhanwei1: number = 2
  986. let roleZhanwei2: number = 2
  987. let fightType: FightType = this.type;
  988. let roleNode1 = AssetMgr.instantiate(this.roleContent, this.rolePrefab);
  989. roleNode1.getComponent(UEBattleRole).setRole(roleZhanwei1 == 1 ? -118 : -265, role1, fightType);
  990. roleNode1.scaleX = 1;
  991. GameDataCenter.battle.addRole(role1?.fid, roleNode1.getComponent(UEBattleRole));
  992. let roleNode2 = AssetMgr.instantiate(this.roleContent, this.rolePrefab);
  993. roleNode2.getComponent(UEBattleRole).setRole(roleZhanwei2 == 1 ? 118 : 265, role2, fightType);
  994. roleNode2.scaleX = -1;
  995. GameDataCenter.battle.addRole(role2?.fid, roleNode2.getComponent(UEBattleRole));
  996. }
  997. //播放战斗日志
  998. playLog() {
  999. this.TxtRound.string = "第" + this.huihe + "回合";
  1000. let curLog = this.fightLogList.log[this.huihe][this.curIndex];
  1001. // console.error("curLog:", curLog)
  1002. let actionType: ActionType = curLog.aType;
  1003. switch (actionType) {
  1004. case ActionType.round:
  1005. case ActionType.buff:
  1006. this.nextLog();
  1007. break;
  1008. case ActionType.atk:
  1009. this.playAtk(curLog);
  1010. break;
  1011. case ActionType.skill:
  1012. this.playAtk(curLog);
  1013. break;
  1014. case ActionType.over:
  1015. this.nextLog();
  1016. break;
  1017. default:
  1018. break;
  1019. }
  1020. }
  1021. //播放下一条日志
  1022. nextLog() {
  1023. this.curIndex++;
  1024. if (this.fightLogList.log[this.huihe][this.curIndex] == null) {
  1025. this.huihe++;
  1026. if (this.fightLogList.log[this.huihe] != null) {
  1027. this.curIndex = 0;
  1028. this.playLog();
  1029. } else {
  1030. this.scheduleOnce(() => {
  1031. console.log("战斗结束");
  1032. }, 1);
  1033. }
  1034. } else {
  1035. this.playLog();
  1036. }
  1037. }
  1038. playAtk(curLog: fightLogOne) {
  1039. let atker = GameDataCenter.battle.battleRoleList[curLog.atker.fid];
  1040. let target0 = curLog.target.length > 0 ? GameDataCenter.battle.battleRoleList[curLog.target[0].fid]
  1041. : Object.values(GameDataCenter.battle.battleRoleList)[0] //没有target 默认取一个防错
  1042. let delay = 0.5;
  1043. let hitX = 150; //近战偏移量
  1044. cc.tween(atker.node)
  1045. .delay(0.15 / GameDataCenter.battle.realBattleSpeed)
  1046. .to(delay / GameDataCenter.battle.realBattleSpeed, { x : atker.posX < 0 ? target0.node.x - hitX : target0.node.x + hitX })
  1047. .call(() => {
  1048. if (curLog.atker.fid == "1022") {
  1049. atker.playAni("atk", false);
  1050. } else {
  1051. atker.playAni("atk1", false);
  1052. }
  1053. // GameDataCenter.audio.playEffect(atker.atkAudio);
  1054. })
  1055. .delay((delay + 0.3) / GameDataCenter.battle.realBattleSpeed)
  1056. .call(() => {
  1057. //飘血
  1058. let effectList = curLog.target?.[0]?.effect;
  1059. for (let i = 0; i < effectList?.length; i++) {
  1060. let effect = effectList[i];
  1061. console.log("effect:", effect);
  1062. target0.ShowSubHp(effect);
  1063. }
  1064. })
  1065. .delay(0.1 / GameDataCenter.battle.realBattleSpeed)
  1066. .call(() => {
  1067. //显示特效以及连击等特殊效果
  1068. })
  1069. .delay(0.1 / GameDataCenter.battle.realBattleSpeed)
  1070. .call(() => {
  1071. if (curLog.atker.fid != "1022") {
  1072. atker.playAni("walk", true);
  1073. }
  1074. // GameDataCenter.audio.playEffect(atker.atkAudio);
  1075. })
  1076. .to(delay / GameDataCenter.battle.realBattleSpeed, { x : atker.posX })//回到初始位置
  1077. .call(() => {
  1078. if (curLog.atker.fid != "1022") {
  1079. atker.playAni("stand", true);
  1080. }
  1081. let atkerEffectList = curLog.atker?.effect;
  1082. for (let i = 0; i < atkerEffectList?.length; i++) {
  1083. let effect = atkerEffectList[i];
  1084. console.log("atkerEffect:", effect);
  1085. atker.ShowSubHp(effect);
  1086. }
  1087. // GameDataCenter.audio.playEffect(atker.atkAudio);
  1088. })
  1089. .delay(0.3 / GameDataCenter.battle.realBattleSpeed)
  1090. .call(() => {
  1091. this.nextLog();
  1092. })
  1093. .start();
  1094. }
  1095. }