Scripts/Runtime/Data/Traits/WitTrait.cs (37 lines of code) (raw):

/* * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the license found in the * LICENSE file in the root directory of this source tree. */ using System; using Facebook.WitAi.Configuration; using Facebook.WitAi.Lib; using UnityEngine; namespace Facebook.WitAi.Data.Traits { [Serializable] public class WitTrait : WitConfigurationData { [SerializeField] public string id; [SerializeField] public string name; [SerializeField] public WitTraitValue[] values; #if UNITY_EDITOR protected override WitRequest OnCreateRequest() { return witConfiguration.GetTraitRequest(name); } public override void UpdateData(WitResponseNode traitWitResponse) { id = traitWitResponse["id"].Value; name = traitWitResponse["name"].Value; var valueArray = traitWitResponse["values"].AsArray; var n = valueArray.Count; values = new WitTraitValue[n]; for (int i = 0; i < n; i++) { values[i] = WitTraitValue.FromJson(valueArray[i]); } } public static WitTrait FromJson(WitResponseNode traitWitResponse) { var trait = new WitTrait(); trait.UpdateData(traitWitResponse); return trait; } #endif } }