[System.Serializable]publicclassSetDialogPlayableAsset:PlayableAsset{public ExposedReference<Text> talkText;publicstring talkStr;// Factory method that generates a playable based on this assetpublicoverridePlayableCreatePlayable(PlayableGraph graph,GameObject go){SetDialogPlayableBehaviour talkPlayable =newSetDialogPlayableBehaviour();
talkPlayable.talkText1 = talkText.Resolve(graph.GetResolver());
talkPlayable.talkStr1 = talkStr;return ScriptPlayable<SetDialogPlayableBehaviour>.Create(graph, talkPlayable);}}
publicclassSetDialogPlayableBehaviour:PlayableBehaviour{publicText talkText1;publicstring talkStr1;// Called when the state of the playable is set to PlaypublicoverridevoidOnBehaviourPlay(Playable playable,FrameData info){
talkText1.text = talkStr1;}}