Пример #1
0
 public override void Reset()
 {
     _lastGenericBountySubroutine = null;
     _currentStep = null;
     BotMain.SetCurrentStatusTextProvider(null);
     base.Reset();
 }
Пример #2
0
        private async Task <bool> InProgress()
        {
            _currentStep = Bounty.Coroutines.FirstOrDefault(b => !b.IsDone);
            if (_currentStep == null)
            {
                //TODO if boss bounty and completed run this
                //new MoveToObjectCoroutine(347558,AdvDia.CurrentWorldSnoId,433670),
                //new InteractWithGizmoCoroutine(347558,AdvDia.CurrentWorldSnoId,433670,0,5),
                _lastGenericBountySubroutine = null;
                State = BountyData.IsAvailable ? States.Failed : States.Completed;
                return(false);
            }
            //if (step is EnterLevelAreaCoroutine)
            //{
            //    var enterLevelAreaStep = step as EnterLevelAreaCoroutine;
            //    if (enterLevelAreaStep.SourceWorldId != AdvDia.CurrentWorldSnoId ||
            //        enterLevelAreaStep.DestinationWorldId != AdvDia.CurrentWorldSnoId)
            //    {
            //        Bounty.Reset();
            //        Reset();
            //        base.State = BountyCoroutine.States.TakingWaypoint;
            //        return false;
            //    }
            //}

            _lastGenericBountySubroutine = _currentStep;
            BotMain.SetCurrentStatusTextProvider(() =>
            {
                if (_lastGenericBountySubroutine != null)
                {
                    return(_lastGenericBountySubroutine.StatusText);
                }
                return(string.Empty);
            });

            await _currentStep.GetCoroutine();

            return(false);
        }
Пример #3
0
 private static void OnStop(IBot bot)
 {
     BotMain.SetCurrentStatusTextProvider(null);
 }