mission_end
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -207,7 +207,7 @@ export class HeroViewComp extends CCComp {
|
|||||||
onPostSolve (selfCollider: Collider2D, otherCollider: Collider2D) {
|
onPostSolve (selfCollider: Collider2D, otherCollider: Collider2D) {
|
||||||
}
|
}
|
||||||
update(dt: number){
|
update(dt: number){
|
||||||
if(!smc.vm_data.mission.play||smc.vm_data.pause||smc.vm_data.mission.is_victory||smc.vm_data.mission.is_defeat) return
|
if(!smc.vm_data.mission.play||smc.vm_data.pause) return
|
||||||
if(this.is_dead) {
|
if(this.is_dead) {
|
||||||
if(!this.in_grave()) this.to_grave()
|
if(!this.in_grave()) this.to_grave()
|
||||||
return
|
return
|
||||||
@@ -281,7 +281,7 @@ export class HeroViewComp extends CCComp {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
move(dt: number){
|
move(dt: number){
|
||||||
if(this.stop_cd > 0){
|
if(this.stop_cd > 0||smc.vm_data.mission.is_victory||smc.vm_data.mission.is_defeat){
|
||||||
this.status_change("idle")
|
this.status_change("idle")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,13 +26,15 @@ import { HCard } from "./HCard";
|
|||||||
import { HCardComp } from "./HCardComp";
|
import { HCardComp } from "./HCardComp";
|
||||||
import { MSkill } from "../skills/MSkill";
|
import { MSkill } from "../skills/MSkill";
|
||||||
import { MSkillComp } from "../skills/MSkillComp";
|
import { MSkillComp } from "../skills/MSkillComp";
|
||||||
|
import { VictoryComp } from "./VictoryComp";
|
||||||
const { ccclass, property } = _decorator;
|
const { ccclass, property } = _decorator;
|
||||||
|
|
||||||
/** 视图层对象 */
|
/** 视图层对象 */
|
||||||
@ccclass('MissionComp')
|
@ccclass('MissionComp')
|
||||||
@ecs.register('Mission', false)
|
@ecs.register('Mission', false)
|
||||||
export class MissionComp extends CCComp {
|
export class MissionComp extends CCComp {
|
||||||
|
VictoryNode: any = null;
|
||||||
|
VictoryComp:any = null;
|
||||||
mon_list:any = []
|
mon_list:any = []
|
||||||
call_hero_timer: Timer = new Timer(0.3);
|
call_hero_timer: Timer = new Timer(0.3);
|
||||||
target_timer: Timer = new Timer(0.1);
|
target_timer: Timer = new Timer(0.1);
|
||||||
@@ -56,7 +58,9 @@ export class MissionComp extends CCComp {
|
|||||||
|
|
||||||
}
|
}
|
||||||
start() {
|
start() {
|
||||||
|
this.VictoryNode=this.node.getChildByName("victory")
|
||||||
|
this.VictoryNode.active=false
|
||||||
|
this.VictoryComp=this.VictoryNode.getComponent(VictoryComp)
|
||||||
}
|
}
|
||||||
|
|
||||||
protected update(dt: number): void {
|
protected update(dt: number): void {
|
||||||
@@ -66,7 +70,6 @@ export class MissionComp extends CCComp {
|
|||||||
if(this.fight_start){
|
if(this.fight_start){
|
||||||
this.check_mon_num()
|
this.check_mon_num()
|
||||||
}
|
}
|
||||||
this.do_reward()
|
|
||||||
this.count_hero_pos()
|
this.count_hero_pos()
|
||||||
this.count_mon_pos()
|
this.count_mon_pos()
|
||||||
this.check_exp()
|
this.check_exp()
|
||||||
@@ -255,7 +258,7 @@ export class MissionComp extends CCComp {
|
|||||||
}
|
}
|
||||||
do_reward(){
|
do_reward(){
|
||||||
console.log("do_reward")
|
console.log("do_reward")
|
||||||
oops.message.dispatchEvent("do_reward");
|
|
||||||
}
|
}
|
||||||
check_mon_num(){
|
check_mon_num(){
|
||||||
let mons:any = this.get_mons()
|
let mons:any = this.get_mons()
|
||||||
@@ -274,7 +277,15 @@ export class MissionComp extends CCComp {
|
|||||||
}
|
}
|
||||||
if (!m_alive) smc.vm_data.mission.is_victory = true
|
if (!m_alive) smc.vm_data.mission.is_victory = true
|
||||||
if (!h_alive) smc.vm_data.mission.is_defeat = true
|
if (!h_alive) smc.vm_data.mission.is_defeat = true
|
||||||
console.log("check_end m_alive: "+m_alive+" h_alive:"+h_alive+" victory:"+smc.vm_data.mission.is_victory+" defeat:"+smc.vm_data.mission.is_defeat)
|
this.to_end_mission()
|
||||||
|
}
|
||||||
|
to_end_mission(){
|
||||||
|
if (smc.vm_data.mission.is_victory){
|
||||||
|
this.VictoryNode.active=true
|
||||||
|
}
|
||||||
|
if (smc.vm_data.mission.is_defeat){
|
||||||
|
this.VictoryNode.active=true
|
||||||
|
}
|
||||||
}
|
}
|
||||||
get_mons(){
|
get_mons(){
|
||||||
return ecs.query(ecs.allOf(MonModelComp));
|
return ecs.query(ecs.allOf(MonModelComp));
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ export class VictoryComp extends CCComp {
|
|||||||
// console.log("VictoryComp start")
|
// console.log("VictoryComp start")
|
||||||
oops.message.on("minssion_victory", this.do_victiry, this);
|
oops.message.on("minssion_victory", this.do_victiry, this);
|
||||||
oops.message.on("minssion_defeat", this.do_defeat, this);
|
oops.message.on("minssion_defeat", this.do_defeat, this);
|
||||||
|
console.log("VictoryComp start")
|
||||||
}
|
}
|
||||||
private do_victiry() {
|
private do_victiry() {
|
||||||
smc.vm_data.mission.play=false
|
smc.vm_data.mission.play=false
|
||||||
@@ -53,35 +54,8 @@ export class VictoryComp extends CCComp {
|
|||||||
}
|
}
|
||||||
end_mission(){
|
end_mission(){
|
||||||
this.node.getChildByName("Node").active=false
|
this.node.getChildByName("Node").active=false
|
||||||
smc.vm_data.role.gold += smc.vm_data.mission.reward_gold
|
}
|
||||||
smc.vm_data.role.exp += smc.vm_data.mission.reward_exp
|
|
||||||
console.log("end_mission",this.rerawd_item,smc.vm_data.role.exp)
|
|
||||||
// smc.vm_data.role.items[this.rerawd_item.uuid].num += this.reward_num
|
|
||||||
|
|
||||||
smc.vm_data.mission.reward_gold=0
|
|
||||||
smc.vm_data.mission.reward_exp=0
|
|
||||||
this.empty_mission()
|
|
||||||
oops.message.dispatchEvent("to_mission")
|
|
||||||
console.log("end_mission",smc.vm_data.role.items)
|
|
||||||
}
|
|
||||||
empty_mission(){
|
|
||||||
let monsters:any= ecs.query(ecs.allOf(MonViewComp));
|
|
||||||
let heros:any= ecs.query(ecs.allOf(HeroViewComp));
|
|
||||||
let roles:any= ecs.query(ecs.allOf(RoleViewComp));
|
|
||||||
let boss:any= ecs.query(ecs.allOf(BossViewComp));
|
|
||||||
for(let i=0;i<monsters.length;i++){
|
|
||||||
monsters[i].MonView.ent.destroy()
|
|
||||||
}
|
|
||||||
for(let i=0;i<heros.length;i++){
|
|
||||||
heros[i].HeroView.ent.destroy()
|
|
||||||
}
|
|
||||||
for(let i=0;i<roles.length;i++){
|
|
||||||
roles[i].RoleView.ent.destroy()
|
|
||||||
}
|
|
||||||
for(let i=0;i<boss.length;i++){
|
|
||||||
boss[i].BossView.ent.destroy()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */
|
/** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */
|
||||||
reset() {
|
reset() {
|
||||||
|
|||||||
@@ -25,7 +25,6 @@ export class MSkillComp extends CCComp {
|
|||||||
this.skill=MSkills[this.msk_uuid]
|
this.skill=MSkills[this.msk_uuid]
|
||||||
this.ap=this.skill.ap
|
this.ap=this.skill.ap
|
||||||
this.cd=this.cdt=this.skill.cd
|
this.cd=this.cdt=this.skill.cd
|
||||||
console.log("MSkillComp start");
|
|
||||||
}
|
}
|
||||||
protected update(dt: number): void {
|
protected update(dt: number): void {
|
||||||
if(!smc.vm_data.mission.play||smc.vm_data.pause||smc.vm_data.mission.is_victory||smc.vm_data.mission.is_defeat){
|
if(!smc.vm_data.mission.play||smc.vm_data.pause||smc.vm_data.mission.is_victory||smc.vm_data.mission.is_defeat){
|
||||||
|
|||||||
Reference in New Issue
Block a user