示例#1
0
        /// <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;
        }
示例#2
0
 internal static void OnNameTagRefreshed(EnemyNameTag nameTag, string ownerPlayfabID)
 {
     MultiplayerPlayerInfoManager.Instance.TryGetDisplayName(ownerPlayfabID, delegate(string displayName)
     {
         nameTag.NameText.text = displayName;
     });
 }
示例#3
0
            /// <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);
 }