protected void UpdateCandinates() { bool bShouldResetNull = true; if (arguments != null) { // try auto complete arguments int Index = arguments.Length - 1; var ArgumentTypes = CurrentCommand.argumentsTypes; if (ArgumentTypes != null && Index < ArgumentTypes.Length) { var ArgumentType = ArgumentTypes[Index]; IArgumentDescription ArgDescInterface = ArgumentDescriptionRepository.instance.GetDescription(ArgumentType.argumentType); DebugHelper.Assert(ArgDescInterface != null); List <String> Results = ArgDescInterface.FilteredCandinates(ArgumentType.argumentType, arguments[Index]); ResetCandinates(Results); bShouldResetNull = false; } } if (bShouldResetNull) { CandinatesList.Reset(null); } }
public override void OnGUI() { if (CandinatesList != null) { UpdateCandinates(); var LastRect = GUILayoutUtility.GetLastRect(); CandinatesList.OnGUI(LastRect); } CheckCandinateState(); }
public override void OnGUI() { if (!CheckCandinateState(CurrentCommand)) { return; } DebugHelper.Assert(CurrentCommand != null); UpdateCandinates(); CandinatesList.OnGUI(GUILayoutUtility.GetLastRect()); }
protected void ResetCandinates(List <string> InValues) { if (InValues != null && InValues.Count > 0) { DebugHelper.Assert(arguments.Length > 0); // string ArgInput = arguments[arguments.Length - 1]; List <IListItem> Items = new List <IListItem>(InValues.Count); for (int i = 0; i < InValues.Count; ++i) { Items.Add(new StringItem(InValues[i])); } CandinatesList.Reset(Items); } else { CandinatesList.Reset(null); } }
public void UpdateCandinates() { var InputText = inputText; string[] SplitedParts = LinqS.Where(InputText.Split(' '), x => !string.IsNullOrEmpty(x.Trim())); List <IListItem> Candinates = new List <IListItem>(); if (SplitedParts == null || SplitedParts.Length <= 0) { // no any valid input. var GeneralRepositories = CheatCommandsRepository.instance.generalRepositories; var Iter = GeneralRepositories.Commands.GetEnumerator(); while (Iter.MoveNext()) { Candinates.Add(new CheatCommandItem(Iter.Current.Value)); } CandinatesList.Reset(Candinates); } else { var BaseCommand = SplitedParts[0]; var FilteredCommands = CheatCommandsRepository.instance.FilterByString(BaseCommand); for (int i = 0; i < FilteredCommands.Count; ++i) { Candinates.Add(new CheatCommandItem(FilteredCommands[i])); } CandinatesList.Reset(Candinates); } }