27 lines
424 B
Haxe
27 lines
424 B
Haxe
|
package util;
|
||
|
|
||
|
import util.Vec.Vec2;
|
||
|
|
||
|
@:forward(x,y)
|
||
|
abstract Pos(Vec2<Int>) from Vec2<Int> to Vec2<Int>{
|
||
|
inline public function new(i:Vec2<Int>) {
|
||
|
this = i;
|
||
|
}
|
||
|
|
||
|
@:op(A + B)
|
||
|
public function add(rhs: Vec2<Int>):Pos {
|
||
|
return new Pos({
|
||
|
y: this.y + rhs.y,
|
||
|
x: this.x + rhs.x,
|
||
|
});
|
||
|
}
|
||
|
|
||
|
@:op(A - B)
|
||
|
public function sub(rhs: Vec2<Int>):Pos {
|
||
|
return new Pos({
|
||
|
y: this.y - rhs.y,
|
||
|
x: this.x - rhs.x,
|
||
|
});
|
||
|
}
|
||
|
}
|