12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- import { EConfigConst } from "../cfg/ConfigDef";
- import { BulletItem } from "../cfg/bulletItem";
- import { ConfigMgr } from "../cfg/configMgr";
- import { Utils } from "../common/utils";
- import { Barrage } from "../nest/barrage";
- import { GameLogic } from "../update/GameLogic";
- import { GameSysLogic } from "../update/gameSysLogic";
- enum EBulletPlayState{
- none,
- start,
- done,
- }
- export class BulletPlay extends GameLogic{
- private _bulletId: string;
- private _delay: number;
- private _state = EBulletPlayState.none;
- private _cd: number;
- private _nextTime: number;
- monsterZooid: number;
- init(bulletId: string, delay: number){
- this._bulletId = bulletId;
- this._delay = delay;
- let bulletData = ConfigMgr.inst.getCfgClassById(EConfigConst.bullet, bulletId, BulletItem);
- this._cd = bulletData.data.cd;
- this._nextTime = Date.now();
- }
- start(){
- this._state = EBulletPlayState.start;
- }
- protected gameUpdate(dt: any): void {
- if(this._state != EBulletPlayState.start) return;
- this._delay -= dt;
- if(this._delay > 0) return;
- let now = Date.now();
- if(now > this._nextTime){
- this._nextTime = now + this._cd * 1000;
- // 攻击
- Barrage.inst.createMonsterBulletByZooid(this.monsterZooid, this._bulletId);
- }
- }
- }
|