mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-06-26 11:24:46 +00:00
40 lines
976 B
TypeScript
40 lines
976 B
TypeScript
|
import { TableGRoleSkill } from "../../../resources/config/ts/TableGRoleSkill";
|
||
|
import GRoleBase from "../base/role/GRoleBase";
|
||
|
import { GSkillBase, GSkillState } from "./GSkill";
|
||
|
|
||
|
|
||
|
//冷却技能基类 用于多长时间释放技能
|
||
|
export default abstract class GSkillCDBase implements GSkillBase {
|
||
|
|
||
|
//冷却总时间
|
||
|
cdTatal:number;
|
||
|
//冷却时间
|
||
|
cdTime:number;
|
||
|
|
||
|
bind(role:GRoleBase<{}>,info: TableGRoleSkill):GSkillCDBase {
|
||
|
return this;
|
||
|
}
|
||
|
|
||
|
isRelease(): boolean {
|
||
|
//冷却时间小于等于0可释放
|
||
|
return this.cdTime <= 0;
|
||
|
}
|
||
|
|
||
|
//释放技能
|
||
|
release():boolean {
|
||
|
// //是否可以释放技能
|
||
|
// if(!this.isRelease()) return false;
|
||
|
return this.onRelease();
|
||
|
}
|
||
|
|
||
|
//子类实现释放
|
||
|
abstract onRelease():boolean;
|
||
|
|
||
|
state(): GSkillState {
|
||
|
if(this.isRelease())
|
||
|
return GSkillState.Releasing
|
||
|
else
|
||
|
return GSkillState.NoRelease
|
||
|
}
|
||
|
}
|