1. 新增CardLiteComp卡牌组件、HerosListComp英雄列表组件 2. 新增cardlite预制体及其元配置 3. 重构HlistComp移除旧的英雄图标节点与切换按钮逻辑
78 lines
2.6 KiB
TypeScript
78 lines
2.6 KiB
TypeScript
/**
|
|
|
|
*/
|
|
import { mLogger } from "../common/Logger";
|
|
import { _decorator, Animation, AnimationClip, EventTouch, Label, Node, NodeEventType, Sprite, SpriteAtlas, Tween, tween, UIOpacity, Vec3, resources, Light, UITransform, Widget } 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 { CardConfig, CardType, SpecialRefreshCardList, SpecialUpgradeCardList, CKind, CardPoolList } from "../common/config/CardSet";
|
|
import { HeroInfo } from "../common/config/heroSet";
|
|
import { SkillSet } from "../common/config/SkillSet";
|
|
import { GameEvent } from "../common/config/GameEvent";
|
|
import { oops } from "db://oops-framework/core/Oops";
|
|
import { smc } from "../common/SingletonModuleComp";
|
|
|
|
import { UIID } from "../common/config/GameUIConfig";
|
|
import { HeroAttrsComp } from "../hero/HeroAttrsComp";
|
|
import { TalentType } from "../common/config/TalentSet";
|
|
import { getLvColor } from "../common/config/GameSet";
|
|
import { MissionEconomy } from "./MissionEconomy";
|
|
|
|
|
|
|
|
const { ccclass, property } = _decorator;
|
|
|
|
/**
|
|
* CardLiteComp —— 单张卡牌简单视图组件
|
|
*
|
|
|
|
*/
|
|
@ccclass('CardLiteComp')
|
|
@ecs.register('CardLiteComp', false)
|
|
export class CardLiteComp extends CCComp {
|
|
/** 是否开启调试日志 */
|
|
private debugMode: boolean = true;
|
|
|
|
// ======================== 编辑器绑定节点 ========================
|
|
|
|
/** 锁定态图标节点(显示时表示本槽位锁定) */
|
|
|
|
@property(Node)
|
|
name_node=null!
|
|
/** 卡牌图标节点(英雄动画 / 技能图标) */
|
|
@property(Node)
|
|
icon_node=null!
|
|
/** 费用显示节点 */
|
|
@property(Node)
|
|
cost_node=null!
|
|
/** 卡牌种类标识节点(如近战 / 远程 / 辅助等分类子节点的容器) */
|
|
@property(Node)
|
|
Ckind_node=null!
|
|
/** 卡牌背景底框节点(按卡池等级切换子节点显示) */
|
|
@property(Node)
|
|
BG_node=null!
|
|
|
|
@property(Node)
|
|
pool_lv_node=null! //英雄对应的卡池等级
|
|
|
|
@property(Label)
|
|
lvl_node: Label = null! //英雄本身的等级
|
|
|
|
// ======================== 运行时状态 ========================
|
|
|
|
/** 当前卡牌的金币费用 */
|
|
card_cost:number=0
|
|
/** 当前卡牌类型(英雄 / 技能 / 特殊升级 / 特殊刷新) */
|
|
card_type:CardType=CardType.Hero
|
|
/** 当前卡牌的唯一标识 UUID */
|
|
card_uuid:number=0
|
|
|
|
private cardData: CardConfig | null = null;
|
|
|
|
|
|
/** ECS 组件移除时的释放钩子:销毁节点 */
|
|
reset() {
|
|
this.node.destroy();
|
|
}
|
|
}
|