monsterModel.ts 959 B

12345678910111213141516171819202122232425262728293031
  1. import { ConfigConst, EConfigConst } from "../cfg/ConfigDef";
  2. import { ConfigMgr } from "../cfg/configMgr";
  3. import { MonsterItem } from "../cfg/monsterItem";
  4. import { Utils } from "../common/utils";
  5. const {ccclass, property, executeInEditMode, playOnFocus} = cc._decorator;
  6. @ccclass
  7. export class MonsterModel extends cc.Component{
  8. hp:number = 1000;
  9. atk:number = 100;
  10. beAttacked(harmNum: number){
  11. this.hp -= harmNum;
  12. }
  13. isOver(){
  14. return this.hp <= 0;
  15. }
  16. init(id: string, level: number){
  17. cc.log('[MonsterModel] [init]', `[id:${id}]-[level:${level}]`);
  18. let monsterData= ConfigMgr.inst.getCfgClassById<MonsterItem>(EConfigConst.monster, id, MonsterItem);
  19. let atk = Utils.pos2vec2(monsterData.data.atk);
  20. let hp = Utils.pos2vec2(monsterData.data.hp);
  21. this.hp = hp.x + level * hp.y;
  22. this.atk = atk.x + level * hp.y;
  23. }
  24. }