Добавить общую систему весовых объектов

This commit is contained in:
2026-08-19 07:40:11 +03:00
parent 19bb64edfb
commit 259fcd316b
32 changed files with 1017 additions and 34 deletions
@@ -0,0 +1,30 @@
package com.projectsacrifice.game;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
public final class PhysicalObjectStateTest {
@Test
public void authoredObjectPublishesStableMassGeometryAndRuntimeState() {
LevelDefinition.PhysicalObject definition = new LevelDefinition.PhysicalObject(
LevelDefinition.PhysicalObjectType.COUNTERWEIGHT,
new LevelDefinition.Box(420f, 760f, 80f, 120f), 3);
PhysicalObjectState state = new PhysicalObjectState(definition);
state.velocity(120f, -30f).grounded(true).supportIndex(2);
assertEquals(LevelDefinition.PhysicalObjectType.COUNTERWEIGHT, state.type());
assertEquals(420f, state.weightedX(), 0f);
assertEquals(760f, state.weightedY(), 0f);
assertEquals(80f, state.weightedWidth(), 0f);
assertEquals(120f, state.weightedHeight(), 0f);
assertEquals(3, state.pressureMass());
assertTrue(state.activatesPressure());
assertEquals(120f, state.velocityX(), 0f);
assertEquals(-30f, state.velocityY(), 0f);
assertTrue(state.grounded());
assertEquals(2, state.supportIndex());
}
}