- 新增 CardComp 组件用于卡牌视图展示 - 新增 CardSet 配置文件,包含卡牌类型、种类枚举和完整卡池配置 - 重构 HSkillComp 组件,优化技能调试面板布局和交互逻辑 - 更新 MissionCardComp 组件,移除旧卡牌类型依赖 - 调整 GameSet 配置文件,移除 CardType 和 CardKind 枚举 - 更新卡牌预制体结构,优化 UI 布局和组件绑定 - 新增特殊卡牌效果系统,支持抽英雄和重复使用等特殊能力 - 实现卡牌按权重抽取算法和卡池等级管理机制
84 lines
1.9 KiB
TypeScript
84 lines
1.9 KiB
TypeScript
import { mLogger } from "../common/Logger";
|
|
import { _decorator, Label, Node, tween, Vec3, Color, Sprite, Tween, SpriteAtlas, resources } 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";
|
|
import { GameEvent } from "../common/config/GameEvent";
|
|
import { smc } from "../common/SingletonModuleComp";
|
|
import { HeroAttrsComp } from "../hero/HeroAttrsComp";
|
|
import { CardType } from "../common/config/CardSet";
|
|
|
|
|
|
|
|
const { ccclass, property } = _decorator;
|
|
|
|
interface ICardEvent {
|
|
type?: CardType;
|
|
level?: number;
|
|
}
|
|
|
|
/** 视图层对象 */
|
|
@ccclass('MissionCardComp')
|
|
@ecs.register('MissionCard', false)
|
|
export class MissionCardComp extends CCComp {
|
|
private debugMode: boolean = true;
|
|
/** 视图层逻辑代码分离演示 */
|
|
@property(Node)
|
|
card1:Node = null!
|
|
@property(Node)
|
|
card2:Node = null!
|
|
@property(Node)
|
|
card3:Node = null!
|
|
@property(Node)
|
|
card4:Node = null!
|
|
|
|
// card1_data: ICardInfo = null!
|
|
// card2_data: ICardInfo = null!
|
|
// card3_data: ICardInfo = null!
|
|
// card4_data: ICardInfo = null!
|
|
|
|
|
|
private uiconsAtlas: SpriteAtlas | null = null;
|
|
|
|
onLoad() {
|
|
|
|
}
|
|
|
|
onDestroy() {
|
|
|
|
}
|
|
init(){
|
|
this.onMissionStart();
|
|
}
|
|
|
|
/** 游戏开始初始化 */
|
|
onMissionStart() {
|
|
|
|
}
|
|
|
|
/** 游戏结束清理 */
|
|
onMissionEnd() {
|
|
|
|
}
|
|
start() {
|
|
|
|
}
|
|
|
|
private resetCardStates() {
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* 关闭界面
|
|
*/
|
|
close() {
|
|
|
|
}
|
|
|
|
/** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */
|
|
reset() {
|
|
this.node.destroy();
|
|
}
|
|
}
|