EasyFarm.Classes.Executor.EnsureCast C# (CSharp) Method

EnsureCast() private method

private EnsureCast ( string command ) : bool
command string
return bool
        private bool EnsureCast(string command)
        {
            var previous = _fface.Player.CastPercentEx;
            var startTime = DateTime.Now;
            var interval = startTime.AddSeconds(3);

            while (DateTime.Now < interval)
            {
                while(Player.Instance.IsMoving)
                {
                    Player.StopRunning(_fface);
                }

                if (_fface.Player.Status == Status.Healing)
                {
                    Player.Stand(_fface);
                }

                if (_fface.Player.StatusEffects.Contains(StatusEffect.Chainspell))
                {
                    _fface.Windower.SendString(command);
                    return true;
                }

                if (Math.Abs(previous - _fface.Player.CastPercentEx) > .5) return true;
                _fface.Windower.SendString(command);
                Thread.Sleep(500);
            }

            return false;
        }