public override void AddToScript(Script s) { UserData.RegisterProxyType <HanoiApiProxy, HanoiApiType>(r => new HanoiApiProxy(r)); string base_name = "Chandeliers"; s.Globals[base_name] = new HanoiApiType(); var suggest = new List <(List <string> name, string type)>(); var chandeliers = new List <string>(); chandeliers.Add(base_name); suggest.Add((chandeliers, "class")); var move = new List <string>(); move.Add(base_name); move.Add("MoveChandelier"); suggest.Add((move, "method")); var numFittings = new List <string>(); numFittings.Add(base_name); numFittings.Add("NumFittings"); suggest.Add((numFittings, "method")); var numChandeliers = new List <string>(); numChandeliers.Add(base_name); numChandeliers.Add("NumChandeliers"); suggest.Add((numChandeliers, "method")); CodeStyler.AddSuggestions(suggest); }
public static IEnumerator LoadAPI(APILoadingOptions options) { var api = GetApi(options.api); var g = GameObject.Find("ApiPanel"); foreach (Transform child in g.transform) { GameObject.Destroy(child.gameObject); } yield return(api.Initialise(g)); yield return(api.Load(options.args)); ScriptRunner.instance.Initialise(); var defaultSuggest = new List <(List <string> name, string type)>(); foreach (var keyword in "and|break|do|else|elseif|end|false|for|function|if|in|local|nil|not|or|repeat|return|then|true|until|while".Split('|')) { var l = new List <string>(); l.Add(keyword); defaultSuggest.Add((l, "keyword")); } CodeStyler.SetSuggestions(defaultSuggest); api.AddToScript(ScriptRunner.instance.script); }
public IEnumerator setTextCoroutine(string t) { stringText = t; var info = text.textInfo; var oldCount = info.characterCount; CodeStyler.SetString(t); text.SetText(CodeStyler.GetStyle()); while (info.characterCount == oldCount) { yield return(null); } var suggest = CodeStyler.GetSuggestions(inputField.caretPosition); if (suggest.Count == 0) { Tooltip.Hide(); } int i = 0; foreach (var c in info.characterInfo) { if (c.bottomRight.x != 0 || c.bottomRight.y != 0) { i++; if (i == inputField.caretPosition) { List <(int, string)> s = new List <(int, string)>(); foreach (var x in suggest) { s.Add((x.toRemove, x.namePath[x.namePath.Count - 1])); } if (s.Count == 0) { Tooltip.Hide(); } else { Tooltip.SetTooltip(s, transform.TransformPoint(c.bottomRight)); } } } } }