public static bool CharacterNameTagManager_updateNameTag_Prefix(Character character) { if (!GameModeManager.ShouldCreateNameTagsForOtherPlayers()) { return(false); } MultiplayerPlayerInfoManager.Instance.TryGetDisplayName(character.state.PlayFabID, delegate(string displayName) { if (displayName != null && !character.HasNameTag()) { displayName = MultiplayerPlayerNameManager.GetFullPrefixForPlayfabID(character.state.PlayFabID) + MultiplayerPlayerNameManager.GetNameForPlayfabID(character.state.PlayFabID, displayName); CharacterNameTagManager.Instance.StartCoroutine(Accessor.CallPrivateMethod <CharacterNameTagManager, IEnumerator>("addNameTagWithDelay", CharacterNameTagManager.Instance, new object[] { character, displayName })); } }); return(false); }
public static bool MultiplayerPlayerInfoState_GetOrPrepareSafeDisplayName_Prefix(MultiplayerPlayerInfoState __instance, Action <string> onSafeDisplayNameReceived, ref bool ____isSafeDisplayNameBeingPrepared) { if (string.IsNullOrEmpty(Accessor.GetPrivateProperty <MultiplayerPlayerInfoState, string>("SafeDisplayName", __instance))) { Action <string> singleCallback = null; singleCallback = delegate(string safeDisplayName) { __instance.OnSafeDisplayNamePrepared -= singleCallback; Action <string> onSafeDisplayNameReceived3 = onSafeDisplayNameReceived; if (onSafeDisplayNameReceived3 != null) { onSafeDisplayNameReceived3(MultiplayerPlayerNameManager.GetFullPrefixForPlayfabID(__instance.state.PlayFabID) + MultiplayerPlayerNameManager.GetNameForPlayfabID(__instance.state.PlayFabID, safeDisplayName)); } }; __instance.OnSafeDisplayNamePrepared += singleCallback; if (____isSafeDisplayNameBeingPrepared) { return(false); } ____isSafeDisplayNameBeingPrepared = true; ProfanityChecker.FilterForProfanities(__instance.state.DisplayName, delegate(string preparedName) { Accessor.SetPrivateProperty("SafeDisplayName", __instance, preparedName); Accessor.SetPrivateField("_isSafeDisplayNameBeingPrepared", __instance, false); EventInfo safeDisplayNamePreparedEvent = typeof(MultiplayerPlayerInfoState).GetEvent("OnSafeDisplayNamePrepared", BindingFlags.Public | BindingFlags.Instance); if (safeDisplayNamePreparedEvent.RaiseMethod != null) { safeDisplayNamePreparedEvent.RaiseMethod.Invoke(__instance, new object[] { Accessor.GetPrivateProperty <MultiplayerPlayerInfoState, string>("SafeDisplayName", __instance) }); } }); } else { Action <string> onSafeDisplayNameReceived2 = onSafeDisplayNameReceived; if (onSafeDisplayNameReceived2 != null) { onSafeDisplayNameReceived2(MultiplayerPlayerNameManager.GetFullPrefixForPlayfabID(__instance.state.PlayFabID) + MultiplayerPlayerNameManager.GetNameForPlayfabID(__instance.state.PlayFabID, Accessor.GetPrivateProperty <MultiplayerPlayerInfoState, string>("SafeDisplayName", __instance))); } } return(false); }