Optmize archive function type
This commit is contained in:
parent
1d36aac37d
commit
de0dd57a04
@ -17,7 +17,7 @@ interface IArchiveCtrlObject {
|
||||
/**
|
||||
* 可控对象
|
||||
*/
|
||||
class CtrlObject extends LabelObject {
|
||||
class CtrlObject<A extends IAnyObject = IAnyObject> extends LabelObject {
|
||||
|
||||
/**
|
||||
* 显示名称
|
||||
@ -109,7 +109,7 @@ class CtrlObject extends LabelObject {
|
||||
return this.deleteFlag;
|
||||
}
|
||||
|
||||
public toArchive<T>(): IArchiveCtrlObject & T {
|
||||
public toArchive(): IArchiveCtrlObject & A {
|
||||
return {
|
||||
displayName: this.displayName,
|
||||
color: this.color.concat([]),
|
||||
@ -121,7 +121,7 @@ class CtrlObject extends LabelObject {
|
||||
} as any;
|
||||
}
|
||||
|
||||
public fromArchive<T>(archive: IArchiveCtrlObject & T, paster?: IArchiveParseFn): void {
|
||||
public fromArchive(archive: IArchiveCtrlObject & A, paster?: IArchiveParseFn): void {
|
||||
this.displayName = archive.displayName;
|
||||
this.color = archive.color.concat([]);
|
||||
this.display = !!archive.display;
|
||||
|
@ -10,7 +10,7 @@ interface IArchiveRange {
|
||||
/**
|
||||
* 范围
|
||||
*/
|
||||
class Range extends CtrlObject {
|
||||
class Range extends CtrlObject<IArchiveRange> {
|
||||
|
||||
/**
|
||||
* 坐标
|
||||
@ -31,7 +31,7 @@ class Range extends CtrlObject {
|
||||
}
|
||||
}
|
||||
|
||||
public override toArchive<T>(): IArchiveCtrlObject & T {
|
||||
public override toArchive(): IArchiveCtrlObject & IArchiveRange {
|
||||
return {
|
||||
...super.toArchive(),
|
||||
position: this.position.concat([]),
|
||||
@ -39,10 +39,10 @@ class Range extends CtrlObject {
|
||||
};
|
||||
}
|
||||
|
||||
public override fromArchive<T>(archive: IArchiveCtrlObject & T, paster?: IArchiveParseFn): void {
|
||||
public override fromArchive(archive: IArchiveCtrlObject & IArchiveRange, paster?: IArchiveParseFn): void {
|
||||
super.fromArchive(archive, paster);
|
||||
this.position = (archive as any).position.concat([]),
|
||||
this.radius = (archive as any).radius.concat([])
|
||||
this.position = archive.position.concat([]),
|
||||
this.radius = archive.radius.concat([])
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user