Skip to content

Commit 1f3868d

Browse files
committed
feat laps rigidbody, enable, disable, set kinematic, dynamic slots
1 parent 4b1c4de commit 1f3868d

File tree

2 files changed

+49
-3
lines changed

2 files changed

+49
-3
lines changed

Assets/Laps/Runtime/Components/Physics/LapsRigidbody.cs

+8
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,20 @@ public override object HandleInput(int slotId, object parameter, LapsComponent e
99
switch (slotId) {
1010
case 0: return GetComponent<Rigidbody>();
1111
case 1: return transform;
12+
case 2: gameObject.SetActive(true); return null;
13+
case 3: gameObject.SetActive(false); return null;
14+
case 4: GetComponent<Rigidbody>().isKinematic = true; return null;
15+
case 5: GetComponent<Rigidbody>().isKinematic = false; return null;
1216
default: return null;
1317
}
1418
}
1519
public override void GetInputSlots(SlotList slots) {
1620
slots.Add("body", 0, null, typeof(Rigidbody));
1721
slots.Add("transform", 1, null, typeof(Transform));
22+
slots.Add("enable", 2);
23+
slots.Add("disable", 3);
24+
slots.Add("set kinematic", 4);
25+
slots.Add("set dynamic", 5);
1826
}
1927
}
2028
}

Assets/Laps/Tests/EditModeTests/ComponentTests/LapsRigidbodyTests.cs

+41-3
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,59 @@ public void Setup() {
1111
go.AddComponent<Rigidbody>();
1212
comp3D = go.AddComponent<LapsRigidbody>();
1313
}
14+
[TearDown]
15+
public void Teardown() {
16+
Object.DestroyImmediate(comp3D.gameObject);
17+
}
1418
[Test]
15-
public void LapsRigidbodyReturnsTheRigidbodyOfTheObject() {
16-
var coll3D = comp3D.GetComponent<Rigidbody>();
19+
public void Body() {
20+
var body = comp3D.GetComponent<Rigidbody>();
1721
var r3d = comp3D.HandleInput(0, null, null);
18-
Assert.AreEqual(coll3D, r3d);
22+
Assert.AreEqual(body, r3d);
23+
}
24+
[Test]
25+
public void Transform() {
1926
var trans3d = comp3D.transform;
2027
var t3d = comp3D.HandleInput(1, null, null);
2128
Assert.AreEqual(trans3d, t3d);
2229
}
2330
[Test]
31+
public void Enable() {
32+
comp3D.gameObject.SetActive(false);
33+
comp3D.HandleInput(2, null, null);
34+
Assert.AreEqual(true, comp3D.gameObject.activeSelf);
35+
}
36+
[Test]
37+
public void Disable() {
38+
comp3D.gameObject.SetActive(true);
39+
comp3D.HandleInput(3, null, null);
40+
Assert.AreEqual(false, comp3D.gameObject.activeSelf);
41+
}
42+
[Test]
43+
public void SetKinematic() {
44+
var body = comp3D.GetComponent<Rigidbody>();
45+
body.isKinematic = false;
46+
comp3D.HandleInput(4, null, null);
47+
Assert.AreEqual(true, body.isKinematic);
48+
}
49+
[Test]
50+
public void SetDynamic() {
51+
var body = comp3D.GetComponent<Rigidbody>();
52+
body.isKinematic = true;
53+
comp3D.HandleInput(5, null, null);
54+
Assert.AreEqual(false, body.isKinematic);
55+
}
56+
[Test]
2457
public void Slots() {
2558
var slots = new SlotList();
2659
comp3D.GetInputSlots(slots);
60+
Assert.AreEqual(6, slots.Count);
2761
Assert.AreEqual(new LogicSlot("body", 0, null, typeof(Rigidbody)), slots[0]);
2862
Assert.AreEqual(new LogicSlot("transform", 1, null, typeof(Transform)), slots[1]);
63+
Assert.AreEqual(new LogicSlot("enable", 2), slots[2]);
64+
Assert.AreEqual(new LogicSlot("disable", 3), slots[3]);
65+
Assert.AreEqual(new LogicSlot("set kinematic", 4), slots[4]);
66+
Assert.AreEqual(new LogicSlot("set dynamic", 5), slots[5]);
2967
slots.Clear();
3068
comp3D.GetOutputSlots(slots);
3169
Assert.AreEqual(0, slots.Count);

0 commit comments

Comments
 (0)