feat(card): 新增卡牌系统核心组件与配置
- 新增 CardComp 组件用于卡牌视图展示 - 新增 CardSet 配置文件,包含卡牌类型、种类枚举和完整卡池配置 - 重构 HSkillComp 组件,优化技能调试面板布局和交互逻辑 - 更新 MissionCardComp 组件,移除旧卡牌类型依赖 - 调整 GameSet 配置文件,移除 CardType 和 CardKind 枚举 - 更新卡牌预制体结构,优化 UI 布局和组件绑定 - 新增特殊卡牌效果系统,支持抽英雄和重复使用等特殊能力 - 实现卡牌按权重抽取算法和卡池等级管理机制
This commit is contained in:
103
assets/script/game/map/CardComp.ts
Normal file
103
assets/script/game/map/CardComp.ts
Normal file
@@ -0,0 +1,103 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user