mirror of
https://gitee.com/jisol/jisol-game/
synced 2025-10-09 00:26:11 +00:00
update
This commit is contained in:
@@ -7,33 +7,61 @@ import { GSkillBase, GSkillState } from "./GSkill";
|
||||
export default abstract class GSkillCDBase implements GSkillBase {
|
||||
|
||||
//冷却总时间
|
||||
cdTatal:number;
|
||||
cdTatal:number = 0;
|
||||
//冷却时间
|
||||
cdTime:number;
|
||||
cdTime:number = 0;
|
||||
|
||||
bind(role:GRoleBase<{}>,info: TableGRoleSkill):GSkillCDBase {
|
||||
return this;
|
||||
}
|
||||
|
||||
//是否可以释放技能
|
||||
isRelease(): boolean {
|
||||
//冷却时间小于等于0可释放
|
||||
return this.cdTime <= 0;
|
||||
return this.cdTime >= this.cdTatal;
|
||||
}
|
||||
|
||||
//释放技能
|
||||
release():boolean {
|
||||
// //是否可以释放技能
|
||||
// if(!this.isRelease()) return false;
|
||||
//是否可以释放技能
|
||||
if(!this.isRelease()) return false;
|
||||
this.cdTime = 0;
|
||||
return this.onRelease();
|
||||
}
|
||||
|
||||
//子类实现释放
|
||||
abstract onRelease():boolean;
|
||||
|
||||
//查询状态
|
||||
state(): GSkillState {
|
||||
if(this.isRelease())
|
||||
|
||||
if(this.isReleasing()){
|
||||
return GSkillState.Releasing
|
||||
}
|
||||
|
||||
if(this.isRelease())
|
||||
return GSkillState.Releasable
|
||||
else
|
||||
return GSkillState.NoRelease
|
||||
|
||||
}
|
||||
|
||||
//是否正在释放技能
|
||||
isReleasing(): boolean{
|
||||
return false;
|
||||
}
|
||||
|
||||
//更新
|
||||
onUpdate(dt:number){
|
||||
|
||||
if(this.state() == GSkillState.NoRelease){
|
||||
this.cdTime += (dt / 1000);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//返回进度
|
||||
getProgress():number{
|
||||
return this.cdTime / this.cdTatal;
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user