mirror of
https://gitee.com/dgflash/oops-framework.git
synced 2026-05-17 07:35:55 +08:00
56 lines
1.4 KiB
TypeScript
56 lines
1.4 KiB
TypeScript
/*
|
|
* @Author: dgflash
|
|
* @Date: 2021-11-24 10:04:56
|
|
* @LastEditors: dgflash
|
|
* @LastEditTime: 2022-01-29 10:56:57
|
|
*/
|
|
import { ecs } from "../../../core/libs/ecs/ECS";
|
|
import { TableRoleJob } from "../../common/table/TableRoleJob";
|
|
import { RoleAttributeType } from "./RoleEnum";
|
|
import { RoleModelComp } from "./RoleModelComp";
|
|
|
|
/**
|
|
* 角色职业数据
|
|
*
|
|
* 实现功能
|
|
* 1、影响角色力量、敏捷战斗属性
|
|
* 2、影响角色动画武器
|
|
*/
|
|
@ecs.register('RoleModelJob')
|
|
export class RoleModelJobComp extends ecs.Comp {
|
|
private table: TableRoleJob = new TableRoleJob();
|
|
|
|
/** 职业编号编号 */
|
|
private _id: number = -1;
|
|
get id(): number {
|
|
return this._id;
|
|
}
|
|
set id(value: number) {
|
|
this.table.init(value);
|
|
this._id = value;
|
|
|
|
var attributes = this.ent.get(RoleModelComp).attributes;
|
|
attributes.get(RoleAttributeType.power).job = this.power;
|
|
attributes.get(RoleAttributeType.agile).job = this.agile;
|
|
}
|
|
/** 职业名 */
|
|
get armsName(): string {
|
|
return this.table.armsName;
|
|
}
|
|
/** 力量 */
|
|
get power(): number {
|
|
return this.table.power;
|
|
}
|
|
/** 敏捷 */
|
|
get agile(): number {
|
|
return this.table.agile;
|
|
}
|
|
/** 武器类型 */
|
|
get weaponType(): number[] {
|
|
return this.table.weaponType;
|
|
}
|
|
|
|
reset() {
|
|
this._id = -1;
|
|
}
|
|
} |