31 lines
No EOL
644 B
TypeScript
31 lines
No EOL
644 B
TypeScript
export class Vec2 {
|
|
public x:number;
|
|
public y:number;
|
|
|
|
public constructor(x?:Vec2 | number, y?:number) {
|
|
if (typeof(x) === "number" && typeof(y) === "number") {
|
|
this.x = x;
|
|
this.y = y;
|
|
} else if (typeof(x) === "number" && typeof(y) !== "number") {
|
|
this.x = x;
|
|
this.y = x;
|
|
} else if (x instanceof Vec2) {
|
|
this.x = x.x;
|
|
this.y = x.y;
|
|
} else {
|
|
this.x = this.y = 0;
|
|
}
|
|
}
|
|
|
|
public set(x?:Vec2 | number, y?:number) {
|
|
if (x instanceof Vec2) {
|
|
this.x = x.x;
|
|
this.y = x.y;
|
|
} else if (typeof(x) === "number" && typeof(y) === "number") {
|
|
this.x = x;
|
|
this.y = y;
|
|
} else {
|
|
this.x = this.y = 0;
|
|
}
|
|
}
|
|
} |