手机测试卡,需要解决

This commit is contained in:
2025-01-22 16:59:23 +08:00
parent 2893050463
commit 43fbf30e46
38 changed files with 8865 additions and 47840 deletions

View File

@@ -13,11 +13,11 @@ const { ccclass, property } = _decorator;
@ccclass('Main')
export class Main extends Root {
start() {
if (DEBUG) profiler.showStats();
PhysicsSystem2D.instance.debugDrawFlags = EPhysics2DDrawFlags.Aabb
// | EPhysics2DDrawFlags.Pair
|EPhysics2DDrawFlags.CenterOfMass
|EPhysics2DDrawFlags.Joint
// if (DEBUG) profiler.showStats();
// PhysicsSystem2D.instance.debugDrawFlags = EPhysics2DDrawFlags.Aabb
// // | EPhysics2DDrawFlags.Pair
// |EPhysics2DDrawFlags.CenterOfMass
// |EPhysics2DDrawFlags.Joint
// |EPhysics2DDrawFlags.Shape;
// console.log("PhysicsSystem2D",PhysicsSystem2D.instance.gravity)
}

View File

@@ -1,5 +1,4 @@
import { _decorator, Component, instantiate, Label, Node, Prefab, ProgressBar, tween, v3, Vec3 } from 'cc';
import { HeroViewComp } from './HeroViewComp';
import { oops } from 'db://oops-framework/core/Oops';
import { ecs } from 'db://oops-framework/libs/ecs/ECS';
import { Tooltip } from '../skills/Tooltip';
@@ -10,7 +9,6 @@ const { ccclass, property } = _decorator;
@ccclass('BuffComp')
export class BuffComp extends Component {
heroView: any=null;
ap_node:any=null;
cd_node:any=null;
def_node:any=null;
@@ -33,7 +31,6 @@ export class BuffComp extends Component {
speek_time:number=0;
start() {
this.heroView = this.node.getComponent(HeroViewComp);
// this.buff_get("dodge")
// this.node.getChildByName("top").getChildByName("buff").getChildByName("ap").active = false;
// this.node.getChildByName("top").getChildByName("buff").getChildByName("cd").active = false;
@@ -56,16 +53,12 @@ export class BuffComp extends Component {
this.node.getChildByName("buff").active = false;
}
this.hp_show()
this.in_speek(deltaTime)
if(this.heroView.shield > 0){
this.node.getChildByName("shielded").active=true
}else{
this.node.getChildByName("shielded").active=false
}
}
show_shield(val:boolean){
this.node.getChildByName("shielded").active=val
}
buff_get(name:string){
var path = "game/skills/buffget/buffget";
var prefab: Prefab = oops.res.get(path, Prefab)!;
@@ -86,16 +79,7 @@ export class BuffComp extends Component {
this.node.getChildByName("buff").active = true;
}
hp_show(){
let hp_progress= this.heroView.hp/this.heroView.rhp_max;
this.node.getChildByName("top").getChildByName("hp").getComponent(ProgressBar)!.progress = hp_progress;
if(this.heroView.is_boss) return
if(this.heroView.hp == this.heroView.rhp_max){
this.node.getChildByName("top").getChildByName("hp").active = false;
} else{
this.node.getChildByName("top").getChildByName("hp").active = true;
}
}
max_show(){
this.node.getChildByName("max").active=true
this.scheduleOnce(()=>{

View File

@@ -15,20 +15,21 @@ export class HeroCard extends ecs.Entity {
load(uuid:number=101,parent:any) {
// var path = "game/monster/"+prefab_path;
var path = "game/gui/hero_card";
// var icon_path = "game/heros/herois"
var prefab: Prefab = oops.res.get(path, Prefab)!;
var node = instantiate(prefab);
let slv = node.getChildByName("slv");
node.parent = parent;
// let slv = node.getChildByName("slv");
node.parent = parent;
var icon_path = "game/heros/herois"
node.getChildByName("name").getComponent(Label).string = HeroInfo[uuid].name
// resources.load(icon_path, SpriteAtlas, (err: any, atlas) => {
// const sprite = node.getChildByName("Mask").getChildByName("hero").getComponent(Sprite);
// sprite.spriteFrame = atlas.getSpriteFrame(HeroInfo[uuid].path);
// });
var path = "game/heros/uiheros/"+HeroInfo[uuid].path;
var prefab: Prefab = oops.res.get(path, Prefab)!;
var snode = instantiate(prefab);
snode.parent = node.getChildByName("Mask")
resources.load(icon_path, SpriteAtlas, (err: any, atlas) => {
const sprite = node.getChildByName("Mask").getChildByName("hero").getComponent(Sprite);
sprite.spriteFrame = atlas.getSpriteFrame(HeroInfo[uuid].path);
});
// var path = "game/heros/uiheros/"+HeroInfo[uuid].path;
// var prefab: Prefab = oops.res.get(path, Prefab)!;
// var snode = instantiate(prefab);
// snode.parent = node.getChildByName("Mask")
let hcc = node.getComponent(HeroCardComp)!;
hcc.h_uuid = uuid;
hcc.update_data();

View File

@@ -15,20 +15,21 @@ export class HeroSelect extends ecs.Entity {
load(uuid:number=101,parent:any) {
// var path = "game/monster/"+prefab_path;
var path = "game/gui/hero_set";
// var icon_path = "game/heros/herois"
var prefab: Prefab = oops.res.get(path, Prefab)!;
var node = instantiate(prefab);
let slv = node.getChildByName("slv");
// let slv = node.getChildByName("slv");
node.parent = parent;
var icon_path = "game/heros/herois"
node.getChildByName("name").getComponent(Label).string = HeroInfo[uuid].name
// resources.load(icon_path, SpriteAtlas, (err: any, atlas) => {
// const sprite = node.getChildByName("Mask").getChildByName("hero").getComponent(Sprite);
// sprite.spriteFrame = atlas.getSpriteFrame(HeroInfo[uuid].path);
// });
var path = "game/heros/uiheros/"+HeroInfo[uuid].path;
var prefab: Prefab = oops.res.get(path, Prefab)!;
var snode = instantiate(prefab);
snode.parent = node.getChildByName("Mask")
resources.load(icon_path, SpriteAtlas, (err: any, atlas) => {
const sprite = node.getChildByName("Mask").getChildByName("hero").getComponent(Sprite);
sprite.spriteFrame = atlas.getSpriteFrame(HeroInfo[uuid].path);
});
// var path = "game/heros/uiheros/"+HeroInfo[uuid].path;
// var prefab: Prefab = oops.res.get(path, Prefab)!;
// var snode = instantiate(prefab);
// snode.parent = node.getChildByName("Mask")
let hcc = node.getComponent(HeroSelectComp)!;
hcc.h_uuid = uuid;
hcc.update_data();

View File

@@ -1,7 +1,6 @@
import { _decorator, Color, Label, Sprite } from "cc";
import { ecs } from "../../../../extensions/oops-plugin-framework/assets/libs/ecs/ECS";
import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/module/common/CCComp";
import { MissionHomeComp } from "../map/MissionHomeComp";
import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops";
import { smc } from "../common/SingletonModuleComp";
import { ColorSet, GameSet } from "../common/config/BoxSet";
@@ -13,7 +12,6 @@ const { ccclass, property } = _decorator;
@ccclass('HeroSelectComp')
@ecs.register('HeroSelectComp', false)
export class HeroSelectComp extends CCComp {
mhc_home: MissionHomeComp = null!;
h_uuid: number = 0;
onLoad() {
oops.message.on("hero_set_select", this.check_show, this);
@@ -21,8 +19,6 @@ export class HeroSelectComp extends CCComp {
}
/** 视图层逻辑代码分离演示 */
start() {
this.mhc_home=this.node.parent.parent.parent.parent.getComponent(MissionHomeComp);
if(smc.fight_heros.indexOf(this.h_uuid)>=0){
this.show_bg(true)
}else{
@@ -33,7 +29,7 @@ export class HeroSelectComp extends CCComp {
if(smc.fight_heros.indexOf(this.h_uuid)>=0){
smc.fight_heros.splice(smc.fight_heros.indexOf(this.h_uuid),1)
this.show_bg(false)
this.mhc_home.cancel_hero(this.h_uuid)
oops.message.dispatchEvent("hero_card_cancel_select",{uuid:this.h_uuid})
return
}
if(smc.fight_heros.length>= GameSet.HERO_NUM){
@@ -41,7 +37,7 @@ export class HeroSelectComp extends CCComp {
return
}
smc.fight_heros.push(this.h_uuid)
this.mhc_home.select_hero(this.h_uuid)
oops.message.dispatchEvent("hero_card_select",{uuid:this.h_uuid})
this.show_bg(true)
}
check_show(event: string, args: any){

View File

@@ -173,8 +173,37 @@ export class HeroViewComp extends CCComp {
if(this.hp <= 0 ) return
if(skill.tg< 3) return
this.check_uatk(skill);
}
if(oCol.group == seCol.group&&oCol.tag==BoxSet.SKILL_TAG){
let skill = oCol.node.getComponent(SkillCom)!;
if(skill.tg==2||skill.tg==0){
this.do_buff(skill)
}
}
}
do_buff(skill:any){
if(SkillSet[skill.s_uuid].hp > 0){ //buff加血
// let increase_hp=Math.floor(skill.hp/(skill.in_time/skill.cd))
let increase_hp=Math.floor(skill.hp)
this.add_hp(increase_hp)
}
if(SkillSet[skill.s_uuid].apup > 0){ //buff加攻击
// let increase_atk=Math.floor(skill.apup/(skill.in_time/skill.cd))
let increase_atk=Math.floor(skill.apup)
this.add_ap(increase_atk)
}
if(SkillSet[skill.s_uuid].shield > 0){ //buff护盾
this.add_shield(skill.shield)
}
if(SkillSet[skill.s_uuid].mhp > 0){ //hp最大值
// console.log("do_buff mhp: ",skill.mhp/(skill.in_time/skill.cd))
this.add_hp_max(skill.mhp/(skill.in_time/skill.cd))
}
}
onEndContact (seCol: Collider2D, oCol: Collider2D) {
@@ -222,7 +251,7 @@ export class HeroViewComp extends CCComp {
this.check_atk_counts()
this.check_enemy_alive()
this.check_mission_buff()
this.hp_show()
if(this.ice_cd > 0){
this.ice_cd -=dt;
return
@@ -236,7 +265,16 @@ export class HeroViewComp extends CCComp {
this.in_atk(dt);
this.move(dt);
}
hp_show(){
let hp_progress= this.hp/this.rhp_max;
this.node.getChildByName("top").getChildByName("hp").getComponent(ProgressBar)!.progress = hp_progress;
if(this.is_boss) return
if(this.hp == this.rhp_max){
this.node.getChildByName("top").getChildByName("hp").active = false;
} else{
this.node.getChildByName("top").getChildByName("hp").active = true;
}
}
//移动
move(dt: number){
if(this.stop_cd > 0||smc.mission.is_victory||smc.mission.is_defeat){
@@ -322,6 +360,7 @@ export class HeroViewComp extends CCComp {
this.check_debuff(skill,l_hp)
if(this.shield > 0){
this.shield -=1
if(this.shield == 0) this.BUFFCOMP.show_shield(false)
l_hp = 0
}
this.hp_less(l_hp,skill.is_crit);
@@ -737,7 +776,7 @@ export class HeroViewComp extends CCComp {
}
add_shield(shield:number){
this.shield =shield
console.log("shield:",shield);
if(this.shield>0) this.BUFFCOMP.show_shield(true)
}
// add_cd(cd: number){
// this.cd += this.cd*((100-cd)/100);

View File

@@ -14,6 +14,8 @@ import { Talents } from "../common/config/TalentSet";
import { HeroViewComp } from "../hero/HeroViewComp";
import { Position } from "../../../../extensions/oops-plugin-framework/assets/libs/gui/badge/Badge";
import { MissionHomeComp } from "./MissionHomeComp";
import { GameEvent } from "../common/config/GameEvent";
import { MissionComp } from "./MissionComp";
const { ccclass, property } = _decorator;
/** 视图层对象 */
@@ -27,6 +29,7 @@ export class CardControllerComp extends CCComp {
bbg_x:any=[-300,-150,0,150,300]
protected onLoad(): void {
this.bbg=this.node.getChildByName("bar").getChildByName("bbg")
oops.message.on(GameEvent.MissionStart,this.mission_start,this)
}
start() {
this.bbg=this.node.getChildByName("bar").getChildByName("bbg")
@@ -53,6 +56,13 @@ export class CardControllerComp extends CCComp {
this.node.getChildByName("mission").active = false;
}
mission_start(){
this.node.getChildByName("bar").active=false;
let mission=this.node.getChildByName("mission").getComponent(MissionComp)
mission.node.active = true;
mission.mission_start()
smc.mission.play = true;
}
bar_change(e:any,args:any){
console.log("bar_change",args)
this.node.getChildByName("bar").active=true;

View File

@@ -15,19 +15,19 @@ export class HCard extends ecs.Entity {
}
load(uuid:number=1001,index:number=-1,parent:any) {
var path = "game/gui/hcard";
// var icon_path = "game/heros/herois"
// resources.load(icon_path, SpriteAtlas, (err: any, atlas) => {
// const sprite = node.getChildByName("Mask").getChildByName("icon").getComponent(Sprite);
// sprite.spriteFrame = atlas.getSpriteFrame(HeroInfo[uuid].path);
// });
var icon_path = "game/heros/herois"
resources.load(icon_path, SpriteAtlas, (err: any, atlas) => {
const sprite = node.getChildByName("Mask").getChildByName("icon").getComponent(Sprite);
sprite.spriteFrame = atlas.getSpriteFrame(HeroInfo[uuid].path);
});
var prefab: Prefab = oops.res.get(path, Prefab)!;
console.log("load_hcard",prefab)
var node = instantiate(prefab);
node.parent = parent
var path = "game/heros/uiheros/"+HeroInfo[uuid].path;
var prefab: Prefab = oops.res.get(path, Prefab)!;
var snode = instantiate(prefab);
snode.parent = node.getChildByName("Mask")
// var path = "game/heros/uiheros/"+HeroInfo[uuid].path;
// var prefab: Prefab = oops.res.get(path, Prefab)!;
// var snode = instantiate(prefab);
// snode.parent = node.getChildByName("Mask")
var hcc = node.getComponent(HCardComp)!;
hcc.hi= index
this.add(hcc)

View File

@@ -7,13 +7,9 @@ import { UiHeroComp } from "../hero/UiHeroComp";
import { BoxSet, GameSet } from "../common/config/BoxSet";
import { smc } from "../common/SingletonModuleComp";
import { HeroSelect } from "../hero/HeroSelect";
import { MSklist, SkillSet } from "../common/config/SkillSet";
import { MSCard } from "./MSCard";
import { CardControllerComp } from "./CardController";
import { MissionComp } from "./MissionComp";
import { MSCardComp } from "./MSCardComp";
import { HeroSelectComp } from "../hero/HeroSelectComp";
import { MBSet } from "../common/config/MissionSet";
import { GameEvent } from "../common/config/GameEvent";
const { ccclass, property } = _decorator;
@@ -28,7 +24,10 @@ export class MissionHomeComp extends CCComp {
{uuid:0,px:-200},
{uuid:0,px:-300},
]
protected onLoad(): void {
oops.message.on("hero_card_select", this.select_hero, this);
oops.message.on("hero_card_cancel_select", this.cancel_hero, this);
}
/** 视图层逻辑代码分离演示 */
start() {
// var entity = this.ent as ecs.Entity; // ecs.Entity 可转为当前模块的具体实体对象
@@ -40,7 +39,6 @@ export class MissionHomeComp extends CCComp {
this.init_buff()
}
start_mission() {
console.log("mission_home : start_mission")
if (this.heros.length <=0 ) {
oops.gui.toast("请先选择英雄")
return
@@ -54,16 +52,9 @@ export class MissionHomeComp extends CCComp {
{uuid:0,px:-200},
{uuid:0,px:-300},
]
let home =this.node.parent.getComponent(CardControllerComp);
home.node.getChildByName("bar").active=false;
let mission=home.node.getChildByName("mission").getComponent(MissionComp)
mission.node.active = true;
mission.mission_start()
smc.mission.play = true;
oops.message.dispatchEvent(GameEvent.MissionStart, {})
this.node.active=false;
}
init_buff(){
smc.vmdata.mission.ap_up=MBSet.ap_add*smc.vmdata.buff_num[0]/MBSet.ap_cost
@@ -112,42 +103,29 @@ export class MissionHomeComp extends CCComp {
}
}
load_skill_card(){
let ms_num:number =MSklist.length
let parent= this.node.getChildByName("skills").getChildByName("view").getChildByName("content")
let height=ms_num*135
parent.getComponent(UITransform).height=height
for (let i = 0; i < ms_num; i++) {
let msc =ecs.getEntity<MSCard>(MSCard)
msc.load(MSklist[i],parent,2)
}
}
load_ui_heros(){
for(let i=0;i<smc.fight_heros.length;i++){
this.select_hero(smc.fight_heros[i])
this.select_hero("local",{uuid:smc.fight_heros[i]})
}
}
select_skill(){
if(SkillSet[smc.mission.mskill]==undefined) return
var icon_path = "game/skills/skill_icon"
resources.load(icon_path, SpriteAtlas, (err: any, atlas) => {
const sprite = this.node.getChildByName("msk").getChildByName("icon").getComponent(Sprite);
sprite.spriteFrame = atlas.getSpriteFrame(SkillSet[smc.mission.mskill].path);
});
}
select_hero(h_uuid:number){
select_hero(event:any,args:any){
console.log("select_hero",args.uuid)
for(let i=0;i<GameSet.HERO_NUM;i++){
if(this.heros_pos[i].uuid==0){
this.heros_pos[i].uuid=h_uuid
this.call_hero(h_uuid,i)
this.heros_pos[i].uuid=args.uuid
this.call_hero(args.uuid,i)
break
}
}
}
cancel_hero(h_uuid:number){
cancel_hero(event:any,args:any){
for(let i=0;i<GameSet.HERO_NUM;i++){
if(this.heros_pos[i].uuid==h_uuid){
if(this.heros_pos[i].uuid==args.uuid){
this.heros_pos[i].uuid=0
this.destory_hero(h_uuid)
this.destory_hero(args.uuid)
}
}
}
@@ -270,28 +248,7 @@ export class MissionHomeComp extends CCComp {
smc.vmdata.buff_num[4] -= MBSet.dodge_cost
smc.vmdata.mission.dodge_up=MBSet.dodge_add*smc.vmdata.buff_num[4]/MBSet.dodge_cost
}
show_skills(){
this.node.getChildByName("skills").setPosition(0,400)
}
hide_skills(){
this.node.getChildByName("skills").setPosition(0,-800)
let mscards:any= ecs.query(ecs.allOf(MSCardComp));
for(let i=0;i<mscards.length;i++){
mscards[i].MSCardComp.is_select=true
mscards[i].MSCardComp.is_update=false
mscards[i].MSCardComp.change()
}
this.node.getChildByName("skills").getChildByName("noset").active=false
this.node.getChildByName("skills").getChildByName("set").active=true
}
set_skills(){
let mscards:any= ecs.query(ecs.allOf(MSCardComp));
for(let i=0;i<mscards.length;i++){
mscards[i].MSCardComp.change_set()
}
this.node.getChildByName("skills").getChildByName("set").active=!this.node.getChildByName("skills").getChildByName("set").active
this.node.getChildByName("skills").getChildByName("noset").active=!this.node.getChildByName("skills").getChildByName("noset").active
}
/** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */
reset() {
this.node.destroy();

View File

@@ -4,7 +4,6 @@ import { CCComp } from "../../../../extensions/oops-plugin-framework/assets/modu
import { BoxSet } from "../common/config/BoxSet";
import { smc } from "../common/SingletonModuleComp";
import { Timer } from "../../../../extensions/oops-plugin-framework/assets/core/common/timer/Timer";
import { HeroViewComp } from "../hero/HeroViewComp";
import { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops";
import { GameEvent } from "../common/config/GameEvent";
import { SkillSet } from "../common/config/SkillSet";
@@ -64,10 +63,10 @@ export class SkillCom extends CCComp {
if(otCol.group != seCol.group&&otCol.tag ==0){
this.atk_count+=1
}
if(otCol.group == seCol.group&&otCol.tag ==0&&(this.tg==2||this.tg==0)){
this.to_console("skill onBeginContact 是对自己人的buff",seCol,otCol)
this.do_buff(otCol.node.getComponent(HeroViewComp))
}
// if(otCol.group == seCol.group&&otCol.tag ==0&&(this.tg==2||this.tg==0)){
// this.to_console("skill onBeginContact 是对自己人的buff",seCol,otCol)
// this.do_buff(otCol.node.getComponent(HeroViewComp))
// }
}
to_console(value:any,value2:any=null,value3:any=null){
console.log("["+this.s_name+this.s_uuid+"]:",value,value2,value3)