public override void Reset() { _lastGenericBountySubroutine = null; _currentStep = null; BotMain.SetCurrentStatusTextProvider(null); base.Reset(); }
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); }
private static void OnStop(IBot bot) { BotMain.SetCurrentStatusTextProvider(null); }