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);
            }
        }
Ejemplo n.º 2
0
        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>();
            }
        }