void Start() { string path = Path.Combine(Application.streamingAssetsPath, fileName); bert = new Bert(path, vocabTable.text); dataSets = JsonUtility.FromJson <QASetCollection>(qaJson.text).contents; // Init UIs sentenceDropdown.ClearOptions(); sentenceDropdown.AddOptions(dataSets.Select(o => o.title).ToList()); sentenceDropdown.value = 0; sentenceDropdown.onValueChanged.AddListener((value) => { Debug.Log($"sentence dropdown: {value}"); SelectData(dataSets[value]); }); SelectData(dataSets[0]); templetesDropdown.onValueChanged.AddListener((value) => { questionInput.text = templetesDropdown.captionText.text; }); askButton.onClick.AddListener(() => { var question = questionInput.text; if (string.IsNullOrWhiteSpace(question)) { return; } Invoke(CurrentQASet, question); }); }
private static byte[] SerializeWithFilbert(Bert bert) { using (var memStream = new MemoryStream()) { Filbert.Encoder.encode(bert, memStream); return(memStream.ToArray()); } }
private static Bert GetSimpleObjectBert(int id) { return(Bert.NewTuple(new[] { Bert.NewTuple(new[] { Bert.NewAtom("Name"), Bert.NewAtom("Simple") }), Bert.NewTuple(new[] { Bert.NewAtom("Id"), Bert.NewInteger(100000) }), Bert.NewTuple(new[] { Bert.NewAtom("Address"), Bert.NewByteList(System.Text.Encoding.ASCII.GetBytes("Planet Earth")) }), Bert.NewTuple(new[] { Bert.NewAtom("Scores"), Bert.NewList(Enumerable.Range(0, 10).Select(Bert.NewInteger).ToArray()) }) })); }
/// <summary> /// Encode a bert and then decode it /// </summary> public static void Main() { // create a new BERT var mysterWord = new byte[] { 131, 107, 0, 8, 104, 97, 122, 101, 108, 110, 117, 116 }; var dict = new Dictionary <Bert, Bert> { { Bert.NewAtom("Filbert"), Bert.NewAtom("means") }, { Bert.NewByteList(mysterWord), Bert.NewAtom("!") } }; var bert = Bert.FromDict(dict); using (var memStream = new MemoryStream()) { // encode the BERT Filbert.Encoder.encode(bert, memStream); Console.WriteLine("{0} bytes encoded...", memStream.Length); memStream.Position = 0; var bertClone = Filbert.Decoder.decode(memStream); if (bert.Equals(bertClone)) { Console.WriteLine("decoded successfully, they're a match!"); } else { Console.WriteLine("back to work YC *cracks whip*"); } } Console.WriteLine("Making synchronous RPC call"); var client = BertRpcClient.Start("localhost", 9997); var result = client.CallAsTask("nat", "add", Bert.NewInteger(1), Bert.NewInteger(100)) .Result; Console.WriteLine("Got {0}", result); Console.WriteLine("Making asynchronous RPC call"); client.CastAsTask("nat", "die", Bert.NewInteger(666)).Wait(); Console.WriteLine("Press any key to exit.."); Console.ReadKey(); }