BattleData.ts 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import { _decorator, Component, Node, Vec3 } from 'cc';
  2. import { Data } from '../core/data/Data';
  3. import { BulletData } from './BulletData';
  4. import { HeroData } from './HeroData';
  5. import { HeroSlotData } from './HeroSlotData';
  6. import { Monster } from './Monster';
  7. const { ccclass, property } = _decorator;
  8. @ccclass('BattleData')
  9. export class BattleData extends Data {
  10. /**英雄插槽 */
  11. public slots: Map<number, HeroSlotData> = new Map();
  12. /**英雄数据 */
  13. public heros: Map<number, HeroData> = new Map();
  14. /**当前关卡 */
  15. public mission: number = 0;
  16. /**当前战斗状态 */
  17. public battleState: BattleState = BattleState.outBattle;
  18. /**当前阵营数据 */
  19. public campsData: Array<{ camp: Camp, count: number }> = [];
  20. /**使用统帅技能 */
  21. public useLeaderSkill: { id: number, lv: number } = { id: 0, lv: 0 };
  22. /**准备创建的子弹 */
  23. public _bullets: Array<BulletData> = [];
  24. /**当前场上怪物 */
  25. public _monsters: Array<Monster> = [];
  26. /**准备子弹受击的怪物 */
  27. public _hitMonster: Array<BulletData> = [];
  28. /**强制目标 */
  29. public _target: number = -1;
  30. /**准备删除的怪物 (怪物内部ID)*/
  31. public _deleteMonster: Array<number> = [];
  32. /**上阵英雄是否改变 */
  33. public _isHeroChange = false;
  34. /**阻挡物 */
  35. public _obstruct: Node;
  36. /**进入终点的怪物数量 */
  37. public _moveEndCount = 0;
  38. /**怪物被击杀 */
  39. public _monsterKilled: Array<number> = [];
  40. /**被击杀的怪物坐标 */
  41. public _monsterKilledNode: Array<Vec3> = [];
  42. }
  43. export enum BattleState {
  44. inBattle,
  45. outBattle
  46. }
  47. export enum Camp {
  48. wei = 1,
  49. shu = 2,
  50. wu = 3,
  51. qun = 4,
  52. }