public async Task HandOverItems() { var slots = InventoryManager.FilledSlots.Where(i => i.RawItemId == TurnInItemId).OrderByDescending(i => i.HqFlag); foreach (var slot in slots) { if (slot != null) { AgentHandIn.Instance.HandIn(slot); //await Coroutine.Sleep(500); await Coroutine.Wait(5000, () => InputNumeric.IsOpen); if (InputNumeric.IsOpen) { InputNumeric.Ok((uint)InputNumeric.Field.CurrentValue); } await Coroutine.Sleep(700); } } await Coroutine.Sleep(500); Deliver(); await Coroutine.Wait(5000, () => Talk.DialogOpen); while (Talk.DialogOpen) { Talk.Next(); await Coroutine.Sleep(1000); } }
private static async Task WaitForInputNumeric(uint qty) { await Coroutine.Wait(5000, () => InputNumeric.IsOpen); await Coroutine.Sleep(200); if (InputNumeric.IsOpen) { InputNumeric.Ok(qty); } else { LogCritical("InputNumeric never opened!"); } }