public void Say(long code) { SayDataSet.SayItem item = SayDataSet.Instance.GetSayItem(code); Head.ShowSay(item.text); string path = item.sound; int idx = path.IndexOf('.'); if (idx != -1) { path = path.Remove(idx); } idx = path.LastIndexOf('/'); string name = string.Empty; for (int i = idx + 1; i < path.Length; i++) { name += path[i]; } path.Remove(idx); AudioClip clip = ABLoader.current.LoadAsset <AudioClip>(path, name); SoundMgr.current.PlaySound(gameObject, clip); }
// Use this for initialization void Start() { Transform pa = _Page.transform.Find("Viewport").Find("Content"); var data = SayDataSet.Instance.GetSays(); foreach (var kv in data) { SayDataSet.SayItem item = kv.Value; //ResourceManager.Instance.LoadAssetAsync<GameObject>("Prefabs/UI/ChatItem.prefab", "ChatItem", (GameObject go) => { // GameObject inst = Instantiate<GameObject>(go); // inst.GetComponent<ChatItem>().Init(item.code, item.text); // inst.transform.SetParent(pa); //}); ABLoader.current.LoadAssetAsync <GameObject>("Prefabs/UI", "ChatItem", (GameObject go) => { GameObject inst = Instantiate <GameObject>(go); inst.GetComponent <ChatItem>().Init((int)item.code, item.text); inst.transform.SetParent(pa); }); } }