1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- import { _decorator, Component, instantiate, Node, Vec3 } from 'cc';
- import { ModulerBase } from '../../GameFrameWork/ModulerBase';
- import { resMgr } from '../../../Frames/ResourcesMgr';
- import { Role } from '../Role';
- import { Enemy } from './Enemy';
- import { LevelData, RoleData } from '../../../DataItem/ItemData';
- import { dataMgr } from '../../../Frames/DataManager';
- import { GameInfo } from '../../../GameInfo';
- import { GameMgr } from '../../GameFrameWork/GameMgr';
- import { TouchMgr } from '../TouchMgr';
- import { TouchGame } from '../TouchGame';
- import { Tools } from '../../Tools/Tools';
- import { Top } from './Top';
- import { gameResMgr } from '../../GameResMgr';
- const { ccclass, property } = _decorator;
- @ccclass('EnemyMgr')
- export class EnemyMgr extends ModulerBase {
- private _lvDts: LevelData[] = [];
- private _lvDt: LevelData = null;
- private _roleDatas: RoleData[] = [];
- private _hight: number = 0;
- private _top: Top = null;
- protected onLoad(): void {
- this._lvDts = dataMgr.getAllDataByName("LevelDt");
- this._hight = GameMgr.Instance.getModuler(TouchGame)._hight;
- this._roleDatas = dataMgr.getAllDataByName("RoleCardData");
- this._top = GameMgr.Instance.getModuler(Top);
- }
- init() {
- //第几关的数据
- this._lvDt = this._lvDts[GameInfo.Instance.getCurlv() + 1];
- this._createEnemy();
- this.schedule(() => {
- this._createEnemy();
- }, 60)
- //设置敌方防御塔血量
- this._top.enemyTotalHp = this._lvDt.enemyTowerHp;
- }
- private _createEnemy() {
- const enemy: Node = instantiate(resMgr.getPrefab("Enemy"));
- enemy.parent = this.node;
- const enemyTS = enemy.getComponent(Enemy);
- const imgNameArray = this._lvDt.imgName;
- if (imgNameArray && imgNameArray.length > 0) {
- //随机获取图片名
- //const randomIndex = Math.floor(Math.random() * imgNameArray.length)
- const name = imgNameArray[Tools.randomNumber(imgNameArray.length)];
- //0 1 2 3 4
- const y = 180 + (Tools.randomNumber(5) + 1) * this._hight - this._hight / 2;
- enemyTS.init(name, new Vec3(1230, y, 0), this._roleDatas, 0);
- } else {
- Error("imgNameArray is null");
- }
- }
- }
|