This commit is contained in:
2024-09-30 16:35:32 +08:00
parent 2d57447f24
commit 74ad696f05
12 changed files with 225 additions and 167 deletions

View File

@@ -157,18 +157,18 @@ export class CardControllerComp extends CCComp {
// console.log("show_info",uuid)
let node =this.node.getChildByName("item_box")
if(type == 2){
smc.vm_data.item_box.info = smc.items[uuid].info
smc.vm_data.item_box.name = smc.items[uuid].name
smc.vm_data.item_box.skillcd = smc.items[uuid].cd
smc.vm_data.item_box.skillsd = smc.items[uuid].sd
smc.vm_data.item_box.atk = smc.items[uuid].atk
smc.vm_data.item_box.hp = smc.items[uuid].hp
smc.vm_data.item_box.shield = smc.items[uuid].shield
smc.vm_data.item_box.info = smc.sitems[uuid].info
smc.vm_data.item_box.name = smc.sitems[uuid].name
smc.vm_data.item_box.skillcd = smc.sitems[uuid].cd
smc.vm_data.item_box.skillsd = smc.sitems[uuid].sd
smc.vm_data.item_box.atk = smc.sitems[uuid].atk
smc.vm_data.item_box.hp = smc.sitems[uuid].hp
smc.vm_data.item_box.shield = smc.sitems[uuid].shield
node.active=true
if(smc.items[uuid].shield > 0){
if(smc.sitems[uuid].shield > 0){
node.getChildByName("data").getChildByName("shield").active=true
}
if(smc.items[uuid].hp > 0){
if(smc.sitems[uuid].hp > 0){
node.getChildByName("data").getChildByName("hp").active=true
}
}
@@ -272,7 +272,7 @@ export class CardControllerComp extends CCComp {
// let level: number = 0;
// let { uuid, type } = card[0];
// url = "game/heros/skill";
// ({ path: pathName, name, level } = smc.items[uuid]);
// ({ path: pathName, name, level } = smc.sitems[uuid]);
// this.cards[index].lv=level
// let node=this.node.getChildByName('cards').getChildByName('card'+index)
// node.getChildByName('cost').getComponent(Label).string=level.toString()

View File

@@ -55,18 +55,18 @@ export class CardControllerComp extends CCComp {
// console.log("show_info",uuid)
let node =this.node.getChildByName("item_box")
if(type == 2){
smc.vm_data.item_box.info = smc.items[uuid].info
smc.vm_data.item_box.name = smc.items[uuid].name
smc.vm_data.item_box.skillcd = smc.items[uuid].cd
smc.vm_data.item_box.skillsd = smc.items[uuid].sd
smc.vm_data.item_box.atk = smc.items[uuid].atk
smc.vm_data.item_box.hp = smc.items[uuid].hp
smc.vm_data.item_box.shield = smc.items[uuid].shield
smc.vm_data.item_box.info = smc.sitems[uuid].info
smc.vm_data.item_box.name = smc.sitems[uuid].name
smc.vm_data.item_box.skillcd = smc.sitems[uuid].cd
smc.vm_data.item_box.skillsd = smc.sitems[uuid].sd
smc.vm_data.item_box.atk = smc.sitems[uuid].atk
smc.vm_data.item_box.hp = smc.sitems[uuid].hp
smc.vm_data.item_box.shield = smc.sitems[uuid].shield
node.active=true
if(smc.items[uuid].shield > 0){
if(smc.sitems[uuid].shield > 0){
node.getChildByName("data").getChildByName("shield").active=true
}
if(smc.items[uuid].hp > 0){
if(smc.sitems[uuid].hp > 0){
node.getChildByName("data").getChildByName("hp").active=true
}
}

View File

@@ -41,14 +41,14 @@ export class MapSkillComp extends CCComp {
}
useItem(event: string, args: any){
console.log("useItem");
if(smc.items[args.uuid].hp > 0){ //buff加血
smc.Role.RoleView.add_hp(smc.items[args.uuid].hp)
if(smc.sitems[args.uuid].hp > 0){ //buff加血
smc.Role.RoleView.add_hp(smc.sitems[args.uuid].hp)
}
if(smc.items[args.uuid].atk > 0){ //buff加攻击
smc.Role.RoleView.add_atk(smc.items[args.uuid].atk,smc.items[args.uuid].sd)
if(smc.sitems[args.uuid].atk > 0){ //buff加攻击
smc.Role.RoleView.add_atk(smc.sitems[args.uuid].atk,smc.sitems[args.uuid].sd)
}
if(smc.items[args.uuid].shield > 0){ //buff护盾
smc.Role.RoleView.add_shield(smc.items[args.uuid].shield,smc.items[args.uuid].sd)
if(smc.sitems[args.uuid].shield > 0){ //buff护盾
smc.Role.RoleView.add_shield(smc.sitems[args.uuid].shield,smc.sitems[args.uuid].sd)
}
}
/** 视图层逻辑代码分离演示 */

View File

@@ -1,4 +1,4 @@
import { _decorator } from "cc";
import { _decorator, Label } 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 { oops } from "../../../../extensions/oops-plugin-framework/assets/core/Oops";
@@ -7,6 +7,9 @@ import { MonViewComp } from "../mon/MonViewComp";
import { HeroViewComp } from "../hero/HeroViewComp";
import { RoleViewComp } from "../Role/RoleViewComp";
import { BossViewComp } from "../Boss/BossViewComp";
import { RandomManager } from "../../../../extensions/oops-plugin-framework/assets/core/common/random/RandomManager";
import { MissionReward } from "../common/config/MissionSet";
import { Items } from "../common/config/Items";
const { ccclass, property } = _decorator;
@@ -14,6 +17,9 @@ const { ccclass, property } = _decorator;
@ccclass('VictoryComp')
@ecs.register('Victory', false)
export class VictoryComp extends CCComp {
reward_lv:number=1
reward_num:number=2
rerawd_item:any={}
/** 视图层逻辑代码分离演示 */
start() {
// console.log("VictoryComp start")
@@ -28,24 +34,34 @@ export class VictoryComp extends CCComp {
smc.vm_data.role.mission += 1
}
this.node.getChildByName("Node").active = true;
this.getReward()
this.node.getChildByName("Node").getChildByName("defeat").active = false
this.node.getChildByName("Node").getChildByName("victory").active = true;
}
private do_defeat() {
smc.vm_data.mission.play=false
this.node.getChildByName("Node").active = true;
this.getReward()
this.node.getChildByName("Node").getChildByName("victory").active = false;
this.node.getChildByName("Node").getChildByName("defeat").active = true
}
getReward(){
let reward:any = RandomManager.instance.getRandomByObjectList(MissionReward[this.reward_lv], 1);
this.rerawd_item =Items[reward[0]]
// console.log("getReward:",this.rerawd_item)
this.node.getChildByName("Node").getChildByName("item3").getChildByName("num").getComponent(Label).string=this.reward_num.toString()
}
end_mission(){
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
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")
console.log("end_mission",smc.vm_data.role.items)
}
empty_mission(){
let monsters:any= ecs.query(ecs.allOf(MonViewComp));