public static void Postfix(KeypadDoorConsole __instance) { NitroxId id = NitroxEntity.GetId(__instance.gameObject); KeypadMetadata keypadMetadata = new(__instance.unlocked); Entities entities = NitroxServiceLocator.LocateService <Entities>(); entities.BroadcastMetadataUpdate(id, keypadMetadata); }
public override void ProcessMetadata(GameObject gameObject, KeypadMetadata metadata) { Log.Info($"Received keypad metadata change for {gameObject.name} with data of {metadata}"); KeypadDoorConsole keypad = gameObject.GetComponent <KeypadDoorConsole>(); keypad.unlocked = metadata.Unlocked; if (metadata.Unlocked) { if (keypad.root) { keypad.root.BroadcastMessage("UnlockDoor"); } else { keypad.BroadcastMessage("UnlockDoor"); } keypad.UnlockDoor(); } }