- 新增 CardComp 组件用于卡牌视图展示 - 新增 CardSet 配置文件,包含卡牌类型、种类枚举和完整卡池配置 - 重构 HSkillComp 组件,优化技能调试面板布局和交互逻辑 - 更新 MissionCardComp 组件,移除旧卡牌类型依赖 - 调整 GameSet 配置文件,移除 CardType 和 CardKind 枚举 - 更新卡牌预制体结构,优化 UI 布局和组件绑定 - 新增特殊卡牌效果系统,支持抽英雄和重复使用等特殊能力 - 实现卡牌按权重抽取算法和卡池等级管理机制
104 lines
2.2 KiB
TypeScript
104 lines
2.2 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('CardComp')
|
|
@ecs.register('CardComp', false)
|
|
export class CardComp extends CCComp {
|
|
private debugMode: boolean = true;
|
|
/** 视图层逻辑代码分离演示 */
|
|
@property(Node)
|
|
Lock: Node = null!
|
|
@property(Node)
|
|
unLock: Node = null!
|
|
@property(Node)
|
|
ap_node=null!
|
|
@property(Node)
|
|
hp_node=null!
|
|
@property(Node)
|
|
name_node=null!
|
|
@property(Node)
|
|
icon_node=null!
|
|
@property(Node)
|
|
cost_node=null!
|
|
|
|
card_cost:number=0
|
|
card_type:CardType=CardType.Hero
|
|
card_uuid:number=0
|
|
// 是否处于锁定状态
|
|
private isLocked: boolean = true;
|
|
// 图标图集缓存
|
|
private uiconsAtlas: SpriteAtlas | null = null;
|
|
|
|
onLoad() {
|
|
|
|
|
|
}
|
|
|
|
onDestroy() {
|
|
|
|
}
|
|
init(){
|
|
this.onMissionStart();
|
|
}
|
|
|
|
/** 游戏开始初始化 */
|
|
onMissionStart() {
|
|
|
|
}
|
|
|
|
/** 游戏结束清理 */
|
|
onMissionEnd() {
|
|
|
|
}
|
|
start() {
|
|
// 初始隐藏或显示逻辑
|
|
this.node.active = false;
|
|
}
|
|
|
|
updateCardInfo(card:Node, data: any){
|
|
|
|
}
|
|
|
|
private updateIcon(node: Node, iconId: string) {
|
|
|
|
}
|
|
|
|
updateCardData(index: number, data: any) {
|
|
|
|
}
|
|
|
|
selectCard(e: any, index: string) {
|
|
|
|
}
|
|
|
|
|
|
/**
|
|
* 关闭界面
|
|
*/
|
|
close() {
|
|
|
|
}
|
|
|
|
/** 视图对象通过 ecs.Entity.remove(ModuleViewComp) 删除组件是触发组件处理自定义释放逻辑 */
|
|
reset() {
|
|
this.node.destroy();
|
|
}
|
|
}
|