mirror of
https://github.com/blitzkit/blitzkit.git
synced 2026-10-23 19:49:50 +02:00
feat: yaw
This commit is contained in:
1 parent
42e860b171
commit
291395718f
1 file changed
+14
-5
+14
-5
@@ -25,36 +25,44 @@ export function GunFlexibilityVisualizer() {
|
|||||||
const gunModel = turretModel.guns[gun.gun_type!.value.base.id];
|
const gunModel = turretModel.guns[gun.gun_type!.value.base.id];
|
||||||
|
|
||||||
const p = gunModel.pitch;
|
const p = gunModel.pitch;
|
||||||
|
const y = turretModel.yaw;
|
||||||
const f = p.front;
|
const f = p.front;
|
||||||
const b = p.back;
|
const b = p.back;
|
||||||
|
|
||||||
let d = '';
|
let d = '';
|
||||||
|
|
||||||
|
// right
|
||||||
d += `M 0 0`;
|
d += `M 0 0`;
|
||||||
const ms = mag(p.max);
|
const ms = mag(p.max);
|
||||||
if (b) {
|
if (y) {
|
||||||
|
d += `L ${c(90 - y.max, ms)}`;
|
||||||
|
} else if (b) {
|
||||||
d += `L ${c(-90 + b.range / 2, ms)}`;
|
d += `L ${c(-90 + b.range / 2, ms)}`;
|
||||||
} else {
|
} else {
|
||||||
d += `L ${c(-90 / 2, ms)}`;
|
d += `L ${c(-90 / 2, ms)}`;
|
||||||
}
|
}
|
||||||
if (f) {
|
if (f) {
|
||||||
d += `A ${ms} ${ms} 0 0 0 ${c(90 + f.range / 2, ms)}`;
|
d += `A ${ms} ${ms} 0 0 0 ${c(90 - f.range / 2, ms)}`;
|
||||||
} else {
|
} else {
|
||||||
d += `A ${ms} ${ms} 0 0 0 ${c(90 / 2, ms)}`;
|
d += `A ${ms} ${ms} 0 0 0 ${c(90 / 2, ms)}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// left
|
||||||
d += `M 0 0`;
|
d += `M 0 0`;
|
||||||
if (f) {
|
if (f) {
|
||||||
d += `L ${c(90 + f.range / 2, ms)}`;
|
d += `L ${c(90 + f.range / 2, ms)}`;
|
||||||
} else {
|
} else {
|
||||||
d += `L ${c(90 / 2, ms)}`;
|
d += `L ${c(90 / 2, ms)}`;
|
||||||
}
|
}
|
||||||
if (b) {
|
if (y) {
|
||||||
|
d += `A ${ms} ${ms} 0 0 0 ${c(90 - y.min, ms)}`;
|
||||||
|
} else if (b) {
|
||||||
d += `A ${ms} ${ms} 0 0 0 ${c(-90 - b.range / 2, ms)}`;
|
d += `A ${ms} ${ms} 0 0 0 ${c(-90 - b.range / 2, ms)}`;
|
||||||
} else {
|
} else {
|
||||||
d += `A ${ms} ${ms} 0 0 0 ${c(-90 / 2, ms)}`;
|
d += `A ${ms} ${ms} 0 0 0 ${c(-90 / 2, ms)}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// front
|
||||||
if (f) {
|
if (f) {
|
||||||
const m = mag(f.max);
|
const m = mag(f.max);
|
||||||
d += `M 0 0`;
|
d += `M 0 0`;
|
||||||
@@ -63,7 +71,8 @@ export function GunFlexibilityVisualizer() {
|
|||||||
d += `Z`;
|
d += `Z`;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (b) {
|
// back
|
||||||
|
if (!y && b) {
|
||||||
const m = mag(b.max);
|
const m = mag(b.max);
|
||||||
d += `M 0 0`;
|
d += `M 0 0`;
|
||||||
d += `L ${c(-90 - b.range / 2, m)}`;
|
d += `L ${c(-90 - b.range / 2, m)}`;
|
||||||
@@ -87,7 +96,7 @@ export function GunFlexibilityVisualizer() {
|
|||||||
fill="var(--gray-1)"
|
fill="var(--gray-1)"
|
||||||
d="M 0.5 0 A 0.5 0.5 0 1 1 -0.5 0 A 0.5 0.5 0 1 1 0.5 0 Z"
|
d="M 0.5 0 A 0.5 0.5 0 1 1 -0.5 0 A 0.5 0.5 0 1 1 0.5 0 Z"
|
||||||
/>
|
/>
|
||||||
<path fill="var(--gray-11)" d={d} />
|
<path fill="var(--gray-a9)" d={d} />
|
||||||
</svg>
|
</svg>
|
||||||
</Card>
|
</Card>
|
||||||
);
|
);
|
||||||
|
|||||||
Reference in new issue
Block a user