|
| 1 | +import unittest |
| 2 | +import unreal_engine as ue |
| 3 | +from unreal_engine.classes import Actor, Character |
| 4 | +from unreal_engine import FVector, FRotator |
| 5 | +import time |
| 6 | +import math |
| 7 | + |
| 8 | +class TestActor(unittest.TestCase): |
| 9 | + |
| 10 | + def setUp(self): |
| 11 | + self.world = ue.get_editor_world() |
| 12 | + |
| 13 | + def test_spawn(self): |
| 14 | + new_actor = self.world.actor_spawn(Actor) |
| 15 | + actor_label = 'ActorTest_' + str(time.time()) |
| 16 | + new_actor.set_actor_label(actor_label) |
| 17 | + found_actor = self.world.find_actor_by_label(actor_label) |
| 18 | + self.assertEqual(found_actor, new_actor) |
| 19 | + |
| 20 | + def test_location(self): |
| 21 | + new_actor = self.world.actor_spawn(Character, FVector(100, 200, 300)) |
| 22 | + self.assertEqual(new_actor.get_actor_location(), FVector(100, 200, 300)) |
| 23 | + |
| 24 | + def test_rotation(self): |
| 25 | + new_actor = self.world.actor_spawn(Character, FVector(), FRotator(0, 0, 90)) |
| 26 | + yaw = new_actor.get_actor_rotation().yaw |
| 27 | + self.assertTrue(math.fabs(90 - yaw) < 0.1) |
| 28 | + |
| 29 | + def test_is_a(self): |
| 30 | + new_actor = self.world.actor_spawn(Character, FVector(100, 200, 300)) |
| 31 | + self.assertTrue(new_actor.is_a(Actor)) |
| 32 | + self.assertTrue(new_actor.is_a(Character)) |
| 33 | + new_actor2 = self.world.actor_spawn(Actor, FVector(100, 200, 300)) |
| 34 | + self.assertTrue(new_actor2.is_a(Actor)) |
| 35 | + self.assertFalse(new_actor2.is_a(Character)) |
| 36 | + |
| 37 | + def test_destroy(self): |
| 38 | + new_actor = self.world.actor_spawn(Actor) |
| 39 | + actor_label = 'ActorDestroyTest_' + str(time.time()) |
| 40 | + new_actor.set_actor_label(actor_label) |
| 41 | + found_actor = self.world.find_actor_by_label(actor_label) |
| 42 | + self.assertEqual(found_actor, new_actor) |
| 43 | + new_actor.actor_destroy() |
| 44 | + found_actor = self.world.find_actor_by_label(actor_label) |
| 45 | + self.assertIsNone(found_actor) |
| 46 | + |
| 47 | + |
| 48 | + |
0 commit comments