/// <summary> /// Inits the component with the appropriate values /// </summary> /// <param name="owner"></param> /// <param name="nameTag"></param> public void Init(Character owner, EnemyNameTag nameTag) { _owner = owner; _nameTag = nameTag; MultiplayerPlayerNameManager.RefreshNameTags += multiplayerNamePrefixManager_RefreshNameTags; }
internal static void OnNameTagRefreshed(EnemyNameTag nameTag, string ownerPlayfabID) { MultiplayerPlayerInfoManager.Instance.TryGetDisplayName(ownerPlayfabID, delegate(string displayName) { nameTag.NameText.text = displayName; }); }
/// <summary> /// Adds a name tag the the specified Character /// </summary> /// <param name="character"></param> /// <param name="DisplayName"></param> /// <param name="ColorIsRed">false: Red, true: Green</param> /// <param name="OverrideOld"></param> public static void AddNameTag(Character character, string DisplayName = "Ally", bool ColorIsRed = false, bool OverrideOld = false) { if (character.HasNameTag() && !OverrideOld) { return; } Transform nameTag = TwitchEnemySpawnManager.Instance.TwitchEnemyNameTagPool.InstantiateNewObject(false); nameTag.SetParent(GameUIRoot.Instance.transform, false); nameTag.SetAsFirstSibling(); EnemyNameTag enemyNameTag = nameTag.GetComponent <EnemyNameTag>(); EnemyNameTagConfig enemyNameTagConfig = new EnemyNameTagConfig { ForceEnemyColor = ColorIsRed, HideAtDistance = CharacterNameTagManager.Instance.HideNameTagsAtDistance, HideIfNotVisible = true }; enemyNameTag.Initialize(character, DisplayName, enemyNameTagConfig); character.SetHasNameTag(); }
public static void EnemyNameTag_OnDestroy_Postfix(EnemyNameTag __instance) { NameTagRefreshListener nameTagRefreshListener = __instance.GetComponent <NameTagRefreshListener>(); Destroy(nameTagRefreshListener); }
public static void EnemyNameTag_Initialize_Postfix(EnemyNameTag __instance, Character character) { __instance.gameObject.AddComponent <NameTagRefreshListener>().Init(character, __instance); }