public override IEnumerator Execute(ScriptableActionPlayer player) { if (!isWaiting) { setup(player); isBaseValidationDone = false; } if (string.IsNullOrEmpty(inputString)) { HasError = false; yield break; } ILocalUser localUser = Service.Get <SessionManager>().LocalUser; localUser.FindUser(inputString, onValidationComplete); isWaiting = true; sw = new Stopwatch(); sw.Start(); maxTime = 30000; while (!isBaseValidationDone && sw.ElapsedMilliseconds < maxTime) { yield return(null); } if (!isBaseValidationDone) { HasError = false; } isWaiting = false; }
public void FindUser(string displayName, ILocalUser localUser) { if (string.IsNullOrEmpty(displayName)) { throw new ArgumentNullException("displayName"); } localUser.FindUser(displayName, onFindUserSent); }