From e9d7ee7e8e6314e07abf0e52d0138e2d9fbecd39 Mon Sep 17 00:00:00 2001 From: Salad Dais Date: Sun, 31 Dec 2023 14:57:28 +0000 Subject: [PATCH] ObjectUpdateType.OBJECT_UPDATE -> ObjectUpdateType.UPDATE --- README.md | 2 +- addon_examples/pixel_artist.py | 2 +- hippolyzer/lib/client/object_manager.py | 14 +++++++------- tests/proxy/test_object_manager.py | 12 ++++++------ 4 files changed, 15 insertions(+), 15 deletions(-) diff --git a/README.md b/README.md index 4da8ca4..46850f6 100644 --- a/README.md +++ b/README.md @@ -325,7 +325,7 @@ The REPL is fully async aware and allows awaiting events without blocking: ```python >>> from hippolyzer.lib.client.object_manager import ObjectUpdateType ->>> evt = await session.objects.events.wait_for((ObjectUpdateType.OBJECT_UPDATE,), timeout=2.0) +>>> evt = await session.objects.events.wait_for((ObjectUpdateType.UPDATE,), timeout=2.0) >>> evt.updated {'Position'} ``` diff --git a/addon_examples/pixel_artist.py b/addon_examples/pixel_artist.py index 6d94d78..e6a2e5b 100644 --- a/addon_examples/pixel_artist.py +++ b/addon_examples/pixel_artist.py @@ -72,7 +72,7 @@ class PixelArtistAddon(BaseAddon): # Watch for any newly created prims, this is basically what the viewer does to find # prims that it just created with the build tool. with session.objects.events.subscribe_async( - (ObjectUpdateType.OBJECT_UPDATE,), + (ObjectUpdateType.UPDATE,), predicate=lambda e: e.object.UpdateFlags & JUST_CREATED_FLAGS and "LocalID" in e.updated ) as get_events: # Create a pool of prims to use for building the pixel art diff --git a/hippolyzer/lib/client/object_manager.py b/hippolyzer/lib/client/object_manager.py index e6c23a7..528f6b7 100644 --- a/hippolyzer/lib/client/object_manager.py +++ b/hippolyzer/lib/client/object_manager.py @@ -38,7 +38,7 @@ OBJECT_OR_LOCAL = Union[Object, int] class ObjectUpdateType(enum.IntEnum): - OBJECT_UPDATE = enum.auto() + UPDATE = enum.auto() PROPERTIES = enum.auto() FAMILY = enum.auto() COSTS = enum.auto() @@ -163,7 +163,7 @@ class ClientObjectManager: futures = [] for local_id in local_ids: - futures.append(self.state.register_future(local_id, ObjectUpdateType.OBJECT_UPDATE)) + futures.append(self.state.register_future(local_id, ObjectUpdateType.UPDATE)) return futures @@ -361,7 +361,7 @@ class ClientWorldObjectManager: if obj.PCode == PCode.AVATAR: self._avatar_objects[obj.FullID] = obj self._rebuild_avatar_objects() - self._run_object_update_hooks(obj, set(obj.to_dict().keys()), ObjectUpdateType.OBJECT_UPDATE, msg) + self._run_object_update_hooks(obj, set(obj.to_dict().keys()), ObjectUpdateType.UPDATE, msg) def _kill_object_by_local_id(self, region_state: RegionObjectsState, local_id: int): obj = region_state.lookup_localid(local_id) @@ -413,7 +413,7 @@ class ClientWorldObjectManager: # our view of the world then we want to move it to this region. obj = self.lookup_fullid(object_data["FullID"]) if obj: - self._update_existing_object(obj, object_data, ObjectUpdateType.OBJECT_UPDATE, msg) + self._update_existing_object(obj, object_data, ObjectUpdateType.UPDATE, msg) else: if region_state is None: continue @@ -437,7 +437,7 @@ class ClientWorldObjectManager: # Need the Object as context because decoding state requires PCode. state_deserializer = ObjectStateSerializer.deserialize object_data["State"] = state_deserializer(ctx_obj=obj, val=object_data["State"]) - self._update_existing_object(obj, object_data, ObjectUpdateType.OBJECT_UPDATE, msg) + self._update_existing_object(obj, object_data, ObjectUpdateType.UPDATE, msg) else: if region_state: region_state.missing_locals.add(object_data["LocalID"]) @@ -465,7 +465,7 @@ class ClientWorldObjectManager: self._update_existing_object(obj, { "UpdateFlags": update_flags, "RegionHandle": handle, - }, ObjectUpdateType.OBJECT_UPDATE, msg) + }, ObjectUpdateType.UPDATE, msg) continue cached_obj_data = self._lookup_cache_entry(handle, block["ID"], block["CRC"]) @@ -504,7 +504,7 @@ class ClientWorldObjectManager: LOG.warning(f"Got ObjectUpdateCompressed for unknown region {handle}: {object_data!r}") obj = self.lookup_fullid(object_data["FullID"]) if obj: - self._update_existing_object(obj, object_data, ObjectUpdateType.OBJECT_UPDATE, msg) + self._update_existing_object(obj, object_data, ObjectUpdateType.UPDATE, msg) else: if region_state is None: continue diff --git a/tests/proxy/test_object_manager.py b/tests/proxy/test_object_manager.py index 35c69d5..955da43 100644 --- a/tests/proxy/test_object_manager.py +++ b/tests/proxy/test_object_manager.py @@ -667,7 +667,7 @@ class SessionObjectManagerTests(ObjectManagerTestMixin, unittest.IsolatedAsyncio async def test_handle_object_update_event(self): with self.session.objects.events.subscribe_async( - message_names=(ObjectUpdateType.OBJECT_UPDATE,), + message_names=(ObjectUpdateType.UPDATE,), predicate=lambda e: e.object.UpdateFlags & JUST_CREATED_FLAGS and "LocalID" in e.updated, ) as get_events: self._create_object(local_id=999) @@ -676,7 +676,7 @@ class SessionObjectManagerTests(ObjectManagerTestMixin, unittest.IsolatedAsyncio async def test_handle_object_update_predicate(self): with self.session.objects.events.subscribe_async( - message_names=(ObjectUpdateType.OBJECT_UPDATE,), + message_names=(ObjectUpdateType.UPDATE,), ) as get_events: self._create_object(local_id=999) evt = await asyncio.wait_for(get_events(), 1.0) @@ -684,10 +684,10 @@ class SessionObjectManagerTests(ObjectManagerTestMixin, unittest.IsolatedAsyncio async def test_handle_object_update_events_two_subscribers(self): with self.session.objects.events.subscribe_async( - message_names=(ObjectUpdateType.OBJECT_UPDATE,), + message_names=(ObjectUpdateType.UPDATE,), ) as get_events: with self.session.objects.events.subscribe_async( - message_names=(ObjectUpdateType.OBJECT_UPDATE,), + message_names=(ObjectUpdateType.UPDATE,), ) as get_events2: self._create_object(local_id=999) evt = await asyncio.wait_for(get_events(), 1.0) @@ -697,10 +697,10 @@ class SessionObjectManagerTests(ObjectManagerTestMixin, unittest.IsolatedAsyncio async def test_handle_object_update_events_two_subscribers_timeout(self): with self.session.objects.events.subscribe_async( - message_names=(ObjectUpdateType.OBJECT_UPDATE,), + message_names=(ObjectUpdateType.UPDATE,), ) as get_events: with self.session.objects.events.subscribe_async( - message_names=(ObjectUpdateType.OBJECT_UPDATE,), + message_names=(ObjectUpdateType.UPDATE,), ) as get_events2: self._create_object(local_id=999) evt = asyncio.wait_for(get_events(), 0.01)