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;
|
return this.deleteFlag;
|
||||||
}
|
}
|
||||||
|
|
||||||
public toArchive<T>(): IArchiveCtrlObject & T {
|
public toArchive(): IArchiveCtrlObject & A {
|
||||||
return {
|
return {
|
||||||
displayName: this.displayName,
|
displayName: this.displayName,
|
||||||
color: this.color.concat([]),
|
color: this.color.concat([]),
|
||||||
@ -121,7 +121,7 @@ class CtrlObject extends LabelObject {
|
|||||||
} as any;
|
} as any;
|
||||||
}
|
}
|
||||||
|
|
||||||
public fromArchive<T>(archive: IArchiveCtrlObject & T, paster?: IArchiveParseFn): void {
|
public fromArchive(archive: IArchiveCtrlObject & A, paster?: IArchiveParseFn): void {
|
||||||
this.displayName = archive.displayName;
|
this.displayName = archive.displayName;
|
||||||
this.color = archive.color.concat([]);
|
this.color = archive.color.concat([]);
|
||||||
this.display = !!archive.display;
|
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 {
|
return {
|
||||||
...super.toArchive(),
|
...super.toArchive(),
|
||||||
position: this.position.concat([]),
|
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);
|
super.fromArchive(archive, paster);
|
||||||
this.position = (archive as any).position.concat([]),
|
this.position = archive.position.concat([]),
|
||||||
this.radius = (archive as any).radius.concat([])
|
this.radius = archive.radius.concat([])
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user