public override Playable CreatePlayable(PlayableGraph graph, GameObject owner) { var playable = ScriptPlayable <MyPlayableBehaviour> .Create(graph, template); MyPlayableBehaviour clone = playable.GetBehaviour(); clone.am = am.Resolve(graph.GetResolver()); return(playable); }
public override Playable CreatePlayable(PlayableGraph graph, GameObject owner) { //Debug.Log("Create playable"); var playable = ScriptPlayable <MyPlayableBehaviour> .Create(graph, template); MyPlayableBehaviour clone = playable.GetBehaviour(); //am.exposedName = GetInstanceID().ToString(); clone.am = am.Resolve(graph.GetResolver()); return(playable); }
public void ProcessFrame(Playable playable, FrameData info, object playerData) { int inputCount = playable.GetInputCount(); float time = (float)playable.GetGraph().GetRootPlayable(0).GetTime(); for (int i = 0; i < inputCount; i++) { ScriptPlayable <MyPlayableBehaviour> inputPlayable = (ScriptPlayable <MyPlayableBehaviour>)playable.GetInput(i); MyPlayableBehaviour inout = inputPlayable.GetBehaviour(); inout.UpdateBehaviour(time, i, inputCount); } }
// NOTE: This function is called at runtime and edit time. Keep that in mind when setting the values of properties. public override void ProcessFrame(Playable playable, FrameData info, object playerData) { ActorManager trackBinding = playerData as ActorManager; if (!trackBinding) { return; } int inputCount = playable.GetInputCount(); for (int i = 0; i < inputCount; i++) { float inputWeight = playable.GetInputWeight(i); ScriptPlayable <MyPlayableBehaviour> inputPlayable = (ScriptPlayable <MyPlayableBehaviour>)playable.GetInput(i); MyPlayableBehaviour input = inputPlayable.GetBehaviour(); // Use the above variables to process each frame of this playable. } }
public void PlayFrontStab(string timelineName, ActorManager attcker, ActorManager victim) { if (timelineName == "frontStab") { pd.playableAsset = Instantiate(frontStab); TimelineAsset timeline = (TimelineAsset)pd.playableAsset; foreach (var track in timeline.GetOutputTracks()) { if (track.name == "Attacker Scipt") { pd.SetGenericBinding(track, attacker); foreach (var clip in track.GetClips()) { MyPlayableClip myclip = (MyPlayableClip)clip.asset; MyPlayableBehaviour mybehav = myclip.template; myclip.am.exposedName = System.Guid.NewGuid().ToString(); pd.SetReferenceValue(myclip.am.exposedName, attacker); } } else if (track.name == "Victim Scipt") { pd.SetGenericBinding(track, victim); foreach (var clip in track.GetClips()) { MyPlayableClip myclip = (MyPlayableClip)clip.asset; MyPlayableBehaviour mybehav = myclip.template; myclip.am.exposedName = System.Guid.NewGuid().ToString(); pd.SetReferenceValue(myclip.am.exposedName, victim); } } else if (track.name == "Attacker Animator") { pd.SetGenericBinding(track, attacker.ac.anim); } else if (track.name == "Victim Animator") { pd.SetGenericBinding(track, victim.ac.anim); } } pd.Evaluate(); pd.Play(); } else if (timelineName == "openBox") { pd.playableAsset = Instantiate(openBox); TimelineAsset timeline = (TimelineAsset)pd.playableAsset; foreach (var track in timeline.GetOutputTracks()) { if (track.name == "Player Scipt") { pd.SetGenericBinding(track, attacker); foreach (var clip in track.GetClips()) { MyPlayableClip myclip = (MyPlayableClip)clip.asset; MyPlayableBehaviour mybehav = myclip.template; myclip.am.exposedName = System.Guid.NewGuid().ToString(); pd.SetReferenceValue(myclip.am.exposedName, attacker); } } else if (track.name == "Box Scipt") { pd.SetGenericBinding(track, victim); foreach (var clip in track.GetClips()) { MyPlayableClip myclip = (MyPlayableClip)clip.asset; MyPlayableBehaviour mybehav = myclip.template; myclip.am.exposedName = System.Guid.NewGuid().ToString(); pd.SetReferenceValue(myclip.am.exposedName, victim); } } else if (track.name == "Player Animation") { pd.SetGenericBinding(track, attacker.ac.anim); } else if (track.name == "Box Animation") { pd.SetGenericBinding(track, victim.ac.anim); } } pd.Evaluate(); pd.Play(); } else if (timelineName == "leverUp") { pd.playableAsset = Instantiate(leverUp); TimelineAsset timeline = (TimelineAsset)pd.playableAsset; foreach (var track in timeline.GetOutputTracks()) { if (track.name == "Player Scipt") { pd.SetGenericBinding(track, attacker); foreach (var clip in track.GetClips()) { MyPlayableClip myclip = (MyPlayableClip)clip.asset; MyPlayableBehaviour mybehav = myclip.template; myclip.am.exposedName = System.Guid.NewGuid().ToString(); pd.SetReferenceValue(myclip.am.exposedName, attacker); } } else if (track.name == "Lever Scipt") { pd.SetGenericBinding(track, victim); foreach (var clip in track.GetClips()) { MyPlayableClip myclip = (MyPlayableClip)clip.asset; MyPlayableBehaviour mybehav = myclip.template; myclip.am.exposedName = System.Guid.NewGuid().ToString(); pd.SetReferenceValue(myclip.am.exposedName, victim); } } else if (track.name == "Player Animation") { pd.SetGenericBinding(track, attacker.ac.anim); } else if (track.name == "Lever Animation") { pd.SetGenericBinding(track, victim.ac.anim); } } pd.Evaluate(); pd.Play(); } }