/* * @Author: dgflash * @Date: 2022-08-04 15:08:35 * @LastEditors: dgflash * @LastEditTime: 2022-08-04 15:26:26 */ import { Color, Component, EventTouch, sp, Vec3, _decorator } from "cc"; import { LayerUtil } from "../../../../../extensions/oops-plugin-framework/assets/core/utils/LayerUtil"; import { smc } from "../../common/SingletonModuleComp"; import RoleSpineAnimator from "./RoleSpineAnimator"; const { ccclass, property } = _decorator; /** * RPG SPINE角色模型 */ @ccclass('RoleSpine') export class RoleSpine extends Component { @property({ type: RoleSpineAnimator, tooltip: '动画控制器' }) animator: RoleSpineAnimator = null!; private spine!: sp.Skeleton; onLoad() { this.initAnimator(); LayerUtil.setNodeLayer(LayerUtil.MAP, this.node); this.idle(); } /** 初始化动画 */ protected initAnimator() { this.spine = this.animator.getComponent(sp.Skeleton)!; this.spine.setSkin('war'); } setSkin(value: string): void { this.spine.setSkin(value); } setAlpha(value: number): void { var color: Color = this.spine.color; color.a = 255 * (value / 1); this.spine.color = color; } setPos(value: Vec3): void { this.node.position = value; } checkTouch(event: EventTouch): boolean { return false; } onDestroy() { this.node.destroy(); } walk() { } idle() { this.animator!.play("idle"); } }