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);
    }
Beispiel #2
0
    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);
    }
Beispiel #3
0
    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));
                    }
                }
            }
        }
    }