public bool TryTracking(int npcIndex)
        {
            if (npcIndex < 0 || npcIndex > 200)
            {
                return(false);
            }
            NPC nPC = Main.npc[npcIndex];

            if (!nPC.active)
            {
                return(false);
            }
            BigProgressBarInfo bigProgressBarInfo = default(BigProgressBarInfo);

            bigProgressBarInfo.npcIndexToAimAt = npcIndex;
            BigProgressBarInfo info           = bigProgressBarInfo;
            IBigProgressBar    bigProgressBar = _bossBar;

            if (_bossBarsByNpcNetId.TryGetValue(nPC.netID, out var value))
            {
                bigProgressBar = value;
            }
            if (!bigProgressBar.ValidateAndCollectNecessaryInfo(info))
            {
                return(false);
            }
            _currentBar = bigProgressBar;
            _info       = info;
            return(true);
        }
Example #2
0
        public bool TryTracking(int npcIndex)
        {
            if (npcIndex < 0 || npcIndex > 200)
            {
                return(false);
            }
            NPC npc = Main.npc[npcIndex];

            if (!npc.active)
            {
                return(false);
            }
            BigProgressBarInfo info = new BigProgressBarInfo()
            {
                npcIndexToAimAt = npcIndex
            };
            IBigProgressBar bigProgressBar1 = (IBigProgressBar)this._bossBar;
            IBigProgressBar bigProgressBar2;

            if (this._bossBarsByNpcNetId.TryGetValue(npc.netID, out bigProgressBar2))
            {
                bigProgressBar1 = bigProgressBar2;
            }
            if (!bigProgressBar1.ValidateAndCollectNecessaryInfo(ref info))
            {
                return(false);
            }
            this._currentBar = bigProgressBar1;
            this._info       = info;
            return(true);
        }
 public void Update()
 {
     if (_currentBar == null)
     {
         TryFindingNPCToTrack();
     }
     if (_currentBar != null && !_currentBar.ValidateAndCollectNecessaryInfo(_info))
     {
         _currentBar = null;
     }
 }