This commit is contained in:
2024-08-11 23:56:18 +08:00
parent 6355d80a2c
commit 21b559abcf
13 changed files with 1561 additions and 1284 deletions

View File

@@ -3,7 +3,8 @@ import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ec
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
import { data } from "../data/data";
import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops";
import { smc } from "../common/SingletonModuleComp";
import { CardSet } from "../common/config/CardSet";
const { ccclass, property } = _decorator;
/** 视图层对象 */
@@ -39,22 +40,40 @@ export class HeroCardViewComp extends CCComp {
}
onTouchMove(event: EventTouch) {
smc.vm_data.cards.eid = this.ent.eid;
let parent = this.node.parent;
let active = parent.getChildByName("active");
active.setPosition(this.node.position.x,this.node.position.y)
active.active = true;
console.log(parent);
// if(this.ent.eid == smc.vm_data.cards.eid){
// this.node.getChildByName("active").active = true;
// }else{
// this.node.getChildByName("active").active = false;
// }
console.log("onTouchMove");
let delta = event.getDelta();
this.node.setPosition(this.node.position.x+delta.x,this.node.position.y+delta.y);
}
onTouchEnd(){
if(this.node.position.y-this.pos_y > 50){
let parent = this.node.parent;
let active = parent.getChildByName("active");
active.setPosition(this.pos_x,this.pos_y)
if(this.node.position.y-this.pos_y > 110){
active.active = false;
this.use_card()
}else{
this.node.setPosition(this.pos_x,this.pos_y);
}
console.log(ecs.query(ecs.allOf(HeroCardViewComp)))
}
use_card(){
oops.message.dispatchEvent("do_add_hero",this.ent)
this.ent.destroy();
if(smc.vm_data.gold.min >= CardSet[this.card_uid].level){
oops.message.dispatchEvent("do_add_hero",this.ent)
this.ent.destroy();
smc.vm_data.gold.min -= CardSet[this.card_uid].level;
}else{
this.node.setPosition(this.pos_x,this.pos_y);
}
}
/** 视图层逻辑代码分离演示 */
start() {

View File

@@ -27,36 +27,41 @@ export class MonsterViewComp extends CCComp {
/** 角色动画 */
as: MonsterSpine = null!;
hero_name : string = "hero";
/** 角色阵营 1hero -1 :monster */
camp: number = 1;
/**角色类型 1近战 2 远程 */
type: number = 1;
/** 状态 1move ,2: act 3: stop */
state: number = 1;
/** 血量 */
hp: number = 100;
hp_max: number = 100;
hp_speed: number = 0; //回复速度
/**能量**/
power: number = 0;
power_max: number = 100;
power_speed: number = 1; //回复速度
skill_name: string = "base";
max_skill_name: string = "base";
/**攻击力 */
atk: number = 10;
/**攻击速度 */
camp: number = 1; /** 角色阵营 1hero -1 :monster */
type: number = 1; /**角色类型 1前排 2 后排 */
state: number = 1; /** 状态 1move ,2: act 3: stop */
hp: number = 100; /** 血量 */
hp_max: number = 100; /** 最大血量 */
hp_speed: number = 0; //回复速度
power: number = 0; /**能量**/
power_max: number = 100; /** 能量最大值 */
power_speed: number = 1; //能量回复速度每0.1秒回复量
skill_name: string = "base"; //技能名称
max_skill_name: string = "base"; //大技能名称
atk: number = 10; /**攻击力 */
// atk_speed: number = 1;
atk_cd: number = 1.3;
atk_time: number = 0;
/** 角色移动速度 */
speed: number = 100;
/** 角色初始速度 */
ospeed: number = 100;
atk_cd: number = 1.3; /**攻击速度 攻击间隔 */
atk_time: number = 0; /** 冷却时间 */
speed: number = 100; /** 角色移动速度 */
ospeed: number = 100; /** 角色初始速度 */
Tpos: Vec3 = v3(0,-60,0);
stop_cd: number = 0;
private timer:Timer = new Timer(0.1);
is_dead:boolean = false;
stop_cd: number = 0; /*停止倒计时*/
private timer:Timer = new Timer(0.1); //计时器
is_dead:boolean = false; //是否摧毁
/*暴击*/
crit_rate:number = 0; //暴击率
crit_damage:number = 2; //暴击伤害倍率
/*闪避*/
dodge_rate:number = 0; //闪避率
shield:number = 0; //护盾量
shield_time:number = 0; //护盾持续时间
/** 视图层逻辑代码分离演示 */
start () {