public static void Prefix(IncubatorActivationTerminal __instance) { if (!__instance.incubator.powered && Inventory.main.container.Contains(TechType.PrecursorIonCrystal)) { // the server only knows about the main incubator platform which is the direct parent GameObject platform = __instance.gameObject.transform.parent.gameObject; NitroxId id = NitroxEntity.GetId(platform); IncubatorMetadata metadata = new IncubatorMetadata(true, false); Entities entities = NitroxServiceLocator.LocateService <Entities>(); entities.BroadcastMetadataUpdate(id, metadata); } }
private static void ReceivedSimulationLockResponse(NitroxId id, bool lockAquired, HandInteraction <Incubator> context) { if (lockAquired) { IncubatorMetadata metadata = new IncubatorMetadata(true, true); Entities entities = NitroxServiceLocator.LocateService <Entities>(); entities.BroadcastMetadataUpdate(id, metadata); skipPrefix = true; TARGET_METHOD.Invoke(context.Target, new[] { context.GuiHand }); skipPrefix = false; } else { context.Target.gameObject.AddComponent <DenyOwnershipHand>(); } }