战斗系统 重构继续
This commit is contained in:
@@ -1,212 +0,0 @@
|
||||
import { _decorator, Component, instantiate, Label, Node, Prefab, ProgressBar, tween, UITransform, v3, Vec3 } from 'cc';
|
||||
import { oops } from 'db://oops-framework/core/Oops';
|
||||
import { ecs } from 'db://oops-framework/libs/ecs/ECS';
|
||||
import { Tooltip } from '../skill/Tooltip';
|
||||
import { timedCom } from '../skill/timedCom';
|
||||
import { smc } from '../common/SingletonModuleComp';
|
||||
import { Timer } from 'db://oops-framework/core/common/timer/Timer';
|
||||
const { ccclass, property } = _decorator;
|
||||
|
||||
@ccclass('BuffComp')
|
||||
export class BuffComp extends Component {
|
||||
top_node:any=null;
|
||||
ap_node:any=null;
|
||||
cd_node:any=null;
|
||||
def_node:any=null;
|
||||
hp_node:any=null;
|
||||
crit_node:any=null;
|
||||
ap_cd:number=0;
|
||||
cd_cd:number=0;
|
||||
def_cd:number=0;
|
||||
hp_cd:number=0;
|
||||
crit_cd:number=0;
|
||||
|
||||
deap_cd:number=0;
|
||||
decd_cd:number=0;
|
||||
dedef_cd:number=0;
|
||||
dehp_cd:number=0;
|
||||
decrit_cd:number=0;
|
||||
|
||||
buff_cd:number=0;
|
||||
wind_cd:number=0;
|
||||
speek_time:number=0;
|
||||
|
||||
timer:Timer=new Timer(2);
|
||||
buff_keys:any[]=["by1","by2","by3"]
|
||||
key_index:number=0;
|
||||
protected onLoad(): void {
|
||||
}
|
||||
start() {
|
||||
this.info_init()
|
||||
}
|
||||
|
||||
info_init(){
|
||||
this.top_node = this.node.getChildByName("top");
|
||||
let hp_y=this.node.getComponent(UITransform).height
|
||||
this.top_node.setPosition(0,hp_y,0)
|
||||
|
||||
// this.top_node.getChildByName("hp").active=(this.node.getComponent(HeroViewComp).fac == 1 ? true : false)
|
||||
|
||||
// this.vmdata_update()
|
||||
}
|
||||
|
||||
to_update_vmdata(){
|
||||
// this.vmdata_update(false)
|
||||
}
|
||||
update(deltaTime: number) {
|
||||
if(smc.mission.pause) return
|
||||
|
||||
|
||||
// if(this.timer.update(deltaTime)){
|
||||
// this.timer.reset()
|
||||
// this.key_index++
|
||||
// if(this.key_index>=this.buff_keys.length) this.key_index=0
|
||||
// }
|
||||
|
||||
// this.in_speek(deltaTime)
|
||||
// this.vmdata_update()
|
||||
}
|
||||
|
||||
show_shield(shield:number=0,shield_max:number=0){
|
||||
let shield_progress= shield/shield_max;
|
||||
this.node.getChildByName("shielded").active=shield > 0
|
||||
this.node.getChildByName("top").getChildByName("shield").active=shield > 0
|
||||
this.node.getChildByName("top").getChildByName("shield").getComponent(ProgressBar).progress = shield_progress;
|
||||
this.scheduleOnce(()=>{
|
||||
this.node.getChildByName("top").getChildByName("shield").getChildByName("pb").getComponent(ProgressBar).progress = shield_progress;
|
||||
},0.15)
|
||||
}
|
||||
|
||||
|
||||
hp_show(hp:number,hp_max:number){
|
||||
// if(this.node.getComponent(HeroViewComp).fac == 0) return
|
||||
let hp_progress= hp/hp_max;
|
||||
this.node.getChildByName("top").getChildByName("hp").getComponent(ProgressBar).progress = hp_progress;
|
||||
this.scheduleOnce(()=>{
|
||||
this.node.getChildByName("top").getChildByName("hp").getChildByName("hpb").getComponent(ProgressBar).progress = hp_progress;
|
||||
},0.15)
|
||||
// this.node.getChildByName("top").getChildByName("hp").active = (hp == hp_max) ? false : true;
|
||||
}
|
||||
|
||||
mp_show(mp:number,mp_max:number){
|
||||
this.node.getChildByName("top").getChildByName("pow").getComponent(ProgressBar).progress = mp/mp_max;
|
||||
this.scheduleOnce(()=>{
|
||||
this.node.getChildByName("top").getChildByName("pow").getChildByName("mpb").getComponent(ProgressBar).progress = mp/mp_max;
|
||||
},0.15)
|
||||
}
|
||||
|
||||
update_info_lv(){
|
||||
|
||||
}
|
||||
|
||||
show_wind(t:number=1){
|
||||
this.wind_cd = t;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
lv_up(){
|
||||
var path = "game/skill/buff/buff_lvup";
|
||||
var prefab: Prefab = oops.res.get(path, Prefab)!;
|
||||
var node = instantiate(prefab);
|
||||
node.parent = this.node;
|
||||
}
|
||||
ap_up(){
|
||||
var path = "game/skill/buff/buff_apup";
|
||||
var prefab: Prefab = oops.res.get(path, Prefab)!;
|
||||
var node = instantiate(prefab);
|
||||
node.parent = this.node;
|
||||
}
|
||||
|
||||
show_do_buff(name:string){
|
||||
var path = "game/skill/buff/"+name;
|
||||
var prefab: Prefab = oops.res.get(path, Prefab)!;
|
||||
var node = instantiate(prefab);
|
||||
let pos = v3(this.node.position.x,this.node.position.y+20,this.node.position.z);
|
||||
node.parent = this.node.parent;
|
||||
node.setPosition(pos);
|
||||
}
|
||||
dead(){
|
||||
var path = "game/skill/buff/dead";
|
||||
var prefab: Prefab = oops.res.get(path, Prefab)!;
|
||||
var node = instantiate(prefab);
|
||||
node.parent = this.node.parent;
|
||||
node.setScale(node.scale.x*0.5,node.scale.y*0.5)
|
||||
let pos = v3(this.node.position.x,this.node.position.y+30,this.node.position.z);
|
||||
node.setPosition(pos);
|
||||
}
|
||||
in_atked(anm:string="atked",scale:number=1) {
|
||||
var path = "game/skill/boom/"+anm;
|
||||
var prefab: Prefab = oops.res.get(path, Prefab)!;
|
||||
var node = instantiate(prefab);
|
||||
node.setScale(node.scale.x*scale,node.scale.y)
|
||||
node.setPosition(this.node.position.x,this.node.position.y+30,this.node.position.z)
|
||||
node.parent = this.node.parent;
|
||||
}
|
||||
in_iced(t:number=1,ap:number=0) {
|
||||
var path = "game/skill/buff/buff_iced";
|
||||
var prefab: Prefab = oops.res.get(path, Prefab)!;
|
||||
var node = instantiate(prefab);
|
||||
node.getComponent(timedCom).time = t;
|
||||
node.getComponent(timedCom).ap = ap;
|
||||
node.parent = this.node;
|
||||
}
|
||||
in_fired(t:number=1,ap:number=0) {
|
||||
// var path = "game/skills/fired";
|
||||
// var prefab: Prefab = oops.res.get(path, Prefab)!;
|
||||
// var node = instantiate(prefab);
|
||||
// node.getComponent(timedCom).time = t;
|
||||
// node.getComponent(timedCom).ap = ap;
|
||||
// node.parent = this.node;
|
||||
}
|
||||
in_yun(t:number=1,ap:number=0) {
|
||||
var path = "game/skill/buff/buff_yun";
|
||||
var prefab: Prefab = oops.res.get(path, Prefab)!;
|
||||
var node = instantiate(prefab);
|
||||
let height=this.node.getComponent(UITransform).height
|
||||
node.setPosition(v3(0,height));
|
||||
node.getComponent(timedCom).time = t;
|
||||
node.getComponent(timedCom).ap = ap;
|
||||
node.parent = this.node;
|
||||
}
|
||||
to_speek(words:string,time:number=0.5){
|
||||
this.speek_time=0.5
|
||||
this.node.getChildByName("tooltip").active=true
|
||||
this.node.getChildByName("tooltip").getChildByName("words").getComponent(Label)!.string = words
|
||||
}
|
||||
in_speek(dt: number){
|
||||
if(this.speek_time <= 0){
|
||||
return;
|
||||
}
|
||||
this.speek_time -= dt;
|
||||
if(this.speek_time <= 0){
|
||||
this.speek_time = 0;
|
||||
this.node.getChildByName("tooltip").getChildByName("words").getComponent(Label)!.string = "";
|
||||
this.node.getChildByName("tooltip").active=false;
|
||||
}
|
||||
}
|
||||
tooltip(type:number=1,value:string="",s_uuid:number=1001,y:number=90){
|
||||
// console.log("tooltip",type);
|
||||
let tip =ecs.getEntity<Tooltip>(Tooltip);
|
||||
let pos = v3(0,10);
|
||||
pos.y=pos.y+y;
|
||||
tip.load(pos,type,value,s_uuid,this.node);
|
||||
}
|
||||
hp_tip(type:number=1,value:string="",s_uuid:number=1001,y:number=90){
|
||||
let tip =ecs.getEntity<Tooltip>(Tooltip);
|
||||
let x=this.node.position.x;
|
||||
let ny=this.node.getComponent(UITransform).height+20;
|
||||
let pos = v3(x,ny,0);
|
||||
tip.load(pos,type,value,s_uuid,this.node.parent);
|
||||
}
|
||||
heathed(){
|
||||
var path = "game/skill/buff/heathed";
|
||||
var prefab: Prefab = oops.res.get(path, Prefab)!;
|
||||
var node = instantiate(prefab);
|
||||
node.parent = this.node;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user