Ejemplo n.º 1
0
    public override Playable CreatePlayable(PlayableGraph graph, GameObject owner)
    {
        var playable = ScriptPlayable <MySuperPlayableBehaviour> .Create(graph, template);

        MySuperPlayableBehaviour clone = playable.GetBehaviour();

        clone.actorManager = actorManager.Resolve(graph.GetResolver());
        return(playable);
    }
Ejemplo n.º 2
0
    public override Playable CreatePlayable(PlayableGraph graph, GameObject owner)
    {
        var playable = ScriptPlayable <MySuperPlayableBehaviour> .Create(graph, template);

        MySuperPlayableBehaviour clone = playable.GetBehaviour();

        myActor.exposedName = GetInstanceID().ToString();
        clone.myActor       = myActor.Resolve(graph.GetResolver());
        return(playable);
    }
Ejemplo n.º 3
0
    // 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 <MySuperPlayableBehaviour> inputPlayable = (ScriptPlayable <MySuperPlayableBehaviour>)playable.GetInput(i);
            MySuperPlayableBehaviour input = inputPlayable.GetBehaviour();

            // Use the above variables to process each frame of this playable.
        }
    }
Ejemplo n.º 4
0
    public void PlayTimeline(string timelineName, ActorManager attacker, ActorManager victim)
    {
        if (playableDirector.state == PlayState.Playing)
        {
            return;
        }
        if (timelineName == "frontStab")
        {
            playableDirector.playableAsset = Instantiate(frontStab);
            //找到相应的timeline给导演
            TimelineAsset timeline = (TimelineAsset)playableDirector.playableAsset;
            foreach (var track in timeline.GetOutputTracks())
            {
                if (track.name == "Attacker Script")
                {
                    playableDirector.SetGenericBinding(track, attacker);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myClip  = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour myBehav = myClip.template;
                        myBehav.myFloat = 111;
                        myClip.actorManager.exposedName = System.Guid.NewGuid().ToString();
                        playableDirector.SetReferenceValue(myClip.actorManager.exposedName, attacker);
                    }
                }
                else if (track.name == "Victim Script")
                {
                    playableDirector.SetGenericBinding(track, victim);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myClip  = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour myBehav = myClip.template;
                        myBehav.myFloat = 222;
                        myClip.actorManager.exposedName = System.Guid.NewGuid().ToString();
                        playableDirector.SetReferenceValue(myClip.actorManager.exposedName, victim);
                    }
                }
                else if (track.name == "Attacker Animation")
                {
                    playableDirector.SetGenericBinding(track, attacker.actorController.animator);
                }
                else if (track.name == "Victim Animation")
                {
                    playableDirector.SetGenericBinding(track, victim.actorController.animator);
                }
            }

            playableDirector.Evaluate();

            playableDirector.Play();
        }
        else if (timelineName == "openBox")
        {
            playableDirector.playableAsset = Instantiate(openBox);
            //找到相应的timeline给导演
            TimelineAsset timeline = (TimelineAsset)playableDirector.playableAsset;
            foreach (var track in timeline.GetOutputTracks())
            {
                if (track.name == "Player Script")
                {
                    playableDirector.SetGenericBinding(track, attacker);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myClip  = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour myBehav = myClip.template;
                        myClip.actorManager.exposedName = System.Guid.NewGuid().ToString();
                        playableDirector.SetReferenceValue(myClip.actorManager.exposedName, attacker);
                    }
                }
                else if (track.name == "Box Script")
                {
                    playableDirector.SetGenericBinding(track, victim);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myClip  = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour myBehav = myClip.template;
                        myClip.actorManager.exposedName = System.Guid.NewGuid().ToString();
                        playableDirector.SetReferenceValue(myClip.actorManager.exposedName, victim);
                    }
                }
                else if (track.name == "Player Animation")
                {
                    playableDirector.SetGenericBinding(track, attacker.actorController.animator);
                }
                else if (track.name == "Box Animation")
                {
                    playableDirector.SetGenericBinding(track, victim.actorController.animator);
                }
            }

            playableDirector.Evaluate();

            playableDirector.Play();
        }
        else if (timelineName == "leverUp")
        {
            playableDirector.playableAsset = Instantiate(leverUp);
            //找到相应的timeline给导演
            TimelineAsset timeline = (TimelineAsset)playableDirector.playableAsset;
            foreach (var track in timeline.GetOutputTracks())
            {
                if (track.name == "Player Script")
                {
                    playableDirector.SetGenericBinding(track, attacker);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myClip  = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour myBehav = myClip.template;
                        myClip.actorManager.exposedName = System.Guid.NewGuid().ToString();
                        playableDirector.SetReferenceValue(myClip.actorManager.exposedName, attacker);
                    }
                }
                else if (track.name == "Lever Script")
                {
                    playableDirector.SetGenericBinding(track, victim);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myClip  = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour myBehav = myClip.template;
                        myClip.actorManager.exposedName = System.Guid.NewGuid().ToString();
                        playableDirector.SetReferenceValue(myClip.actorManager.exposedName, victim);
                    }
                }
                else if (track.name == "Player Animation")
                {
                    playableDirector.SetGenericBinding(track, attacker.actorController.animator);
                }
                else if (track.name == "Lever Animation")
                {
                    playableDirector.SetGenericBinding(track, victim.actorController.animator);
                }
            }

            playableDirector.Evaluate();

            playableDirector.Play();
        }
    }
Ejemplo n.º 5
0
    public void PlayFrontStab(string timelineName, ActorManager attacker, ActorManager victim)
    {
        if (timelineName == "frontStab")
        {
            pd.playableAsset = Instantiate(frontStab);

            TimelineAsset timeline = (TimelineAsset)pd.playableAsset;


            foreach (var track in timeline.GetOutputTracks())
            {
                if (track.name == "Attacker Script")
                {
                    pd.SetGenericBinding(track, attacker);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myclip   = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour mybehave = myclip.template;
                        pd.SetReferenceValue(myclip.myActor.exposedName, attacker);
                    }
                }
                else if (track.name == "Victim Script")
                {
                    pd.SetGenericBinding(track, victim);
                    pd.SetGenericBinding(track, attacker);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myclip   = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour mybehave = myclip.template;
                        pd.SetReferenceValue(myclip.myActor.exposedName, victim);
                    }
                }
                else if (track.name == "Attacker Animation")
                {
                    pd.SetGenericBinding(track, attacker.ac.anim);
                }
                else if (track.name == "Victim Animation")
                {
                    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 Script")
                {
                    pd.SetGenericBinding(track, attacker);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myclip   = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour mybehave = myclip.template;
                        pd.SetReferenceValue(myclip.myActor.exposedName, attacker);
                    }
                }
                else if (track.name == "Box Script")
                {
                    pd.SetGenericBinding(track, victim);
                    pd.SetGenericBinding(track, attacker);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myclip   = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour mybehave = myclip.template;
                        pd.SetReferenceValue(myclip.myActor.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 Script")
                {
                    pd.SetGenericBinding(track, attacker);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myclip   = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour mybehave = myclip.template;
                        pd.SetReferenceValue(myclip.myActor.exposedName, attacker);
                    }
                }
                else if (track.name == "Lever Script")
                {
                    pd.SetGenericBinding(track, victim);
                    pd.SetGenericBinding(track, attacker);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myclip   = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour mybehave = myclip.template;
                        pd.SetReferenceValue(myclip.myActor.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();
        }
    }
    public void PlayFrontStab(ActorManager attacker, ActorManager victim)
    {
        if (IsPlaying)
        {
            return;
        }

        pd.playableAsset = Instantiate(frontStab);

        TimelineAsset timeline = (TimelineAsset)pd.playableAsset;



        foreach (var track in timeline.GetOutputTracks())
        {
            Object obj = null;

            switch (track.name)
            {
            case "Attacker Animation":
                obj = attacker.actorController.anim;
                break;

            case "Attacker Script":
                obj = attacker;
                foreach (var clip in track.GetClips())
                {
                    MySuperPlayableClip      myClip  = clip.asset as MySuperPlayableClip;
                    MySuperPlayableBehaviour myBehav = myClip.template;
                    myBehav.myFloat = 777;
                    //给他一个单独的KEY 防止地址重复
                    myClip.actorManager.exposedName = System.Guid.NewGuid().ToString();
                    pd.SetReferenceValue(myClip.actorManager.exposedName, attacker);
                }
                break;

            case "Victim Animation":
                obj = victim.actorController.anim;
                break;

            case "Victim Script":
                foreach (var clip in track.GetClips())
                {
                    MySuperPlayableClip      myClip  = clip.asset as MySuperPlayableClip;
                    MySuperPlayableBehaviour myBehav = myClip.template;
                    myBehav.myFloat = 6666;
                    myClip.actorManager.exposedName = System.Guid.NewGuid().ToString();
                    pd.SetReferenceValue(myClip.actorManager.exposedName, victim);
                }
                break;
            }

            if (obj != null)
            {
                pd.SetGenericBinding(track, obj);
            }
        }

        // 强行执行一次插值 , 把值初始一次
        pd.Evaluate();

        pd.Play();
    }
Ejemplo n.º 7
0
    public void PlayFrontStab(string timelineName, ActorMgr attacker, ActorMgr Victim)
    {
        //if(playDir.state == PlayState.Playing)
        //{
        //    return;
        //}

        if (timelineName == "frontStab")
        {
            playDir.playableAsset = Instantiate(frontStab);

            TimelineAsset timeline = (TimelineAsset)playDir.playableAsset;

            foreach (var track in timeline.GetOutputTracks())
            {
                if (track.name == "Attacker Script")
                {
                    playDir.SetGenericBinding(track, attacker);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myClips = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour myBehav = myClips.template;
                        myBehav.myFloat = 666;
                        //myClips._actMgr.exposedName = GetInstanceID().ToString();//18年版本官方没有初始化,也暂时忘记跟Operator讲述
                        myClips._actMgr.exposedName = System.Guid.NewGuid().ToString();//这种不会同一获得同一东西
                        playDir.SetReferenceValue(myClips._actMgr.exposedName, attacker);
                        Debug.Log(myClips._actMgr.exposedName);
                        //不支持加载固件,只能加载资源
                    }
                }
                else if (track.name == "Victim Script")
                {
                    playDir.SetGenericBinding(track, victim);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myClips = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour myBehav = myClips.template;
                        myBehav.myFloat             = 777;
                        myClips._actMgr.exposedName = System.Guid.NewGuid().ToString();//这种不会同一获得同一东西
                        playDir.SetReferenceValue(myClips._actMgr.exposedName, victim);
                        Debug.Log(myClips._actMgr.exposedName);
                        //不支持加载固件,只能加载资源
                    }
                }
                else if (track.name == "Attacker Animation")
                {
                    playDir.SetGenericBinding(track, attacker.actCtrl.anim);
                }
                else if (track.name == "Victim Animation")
                {
                    playDir.SetGenericBinding(track, victim.actCtrl.anim);
                }
            }
            playDir.Evaluate();//在MySuperPlayableClip的类里,要加入物体数值的初始化,先前官方没有添加
            playDir.Play();
        }

        else if (timelineName == "openBox")
        {
            playDir.playableAsset = Instantiate(openBox);

            TimelineAsset timeline = (TimelineAsset)playDir.playableAsset;

            foreach (var track in timeline.GetOutputTracks())
            {
                if (track.name == "Player Script")
                {
                    playDir.SetGenericBinding(track, attacker);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myClips = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour myBehav = myClips.template;
                        myClips._actMgr.exposedName = System.Guid.NewGuid().ToString();//这种不会同一获得同一东西
                        playDir.SetReferenceValue(myClips._actMgr.exposedName, attacker);
                        Debug.Log(myClips._actMgr.exposedName);
                    }
                }
                else if (track.name == "Box Script")
                {
                    playDir.SetGenericBinding(track, victim);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myClips = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour myBehav = myClips.template;
                        myClips._actMgr.exposedName = System.Guid.NewGuid().ToString();
                        playDir.SetReferenceValue(myClips._actMgr.exposedName, victim);
                        Debug.Log(myClips._actMgr.exposedName);
                    }
                }
                else if (track.name == "Player Animation")
                {
                    playDir.SetGenericBinding(track, attacker.actCtrl.anim);
                }
                else if (track.name == "Box Animation")
                {
                    Debug.Log("this is 123pre on DirectorMgr :" + victim.actCtrl.anim.name);
                    playDir.SetGenericBinding(track, victim.actCtrl.anim);
                }
            }
            playDir.Evaluate();//在MySuperPlayableClip的类里,要加入物体数值的初始化,先前官方没有添加
            playDir.Play();
        }

        else if (timelineName == "leverUp")
        {
            playDir.playableAsset = Instantiate(leverUp);

            TimelineAsset timeline = (TimelineAsset)playDir.playableAsset;

            foreach (var track in timeline.GetOutputTracks())
            {
                if (track.name == "Player Script")
                {
                    playDir.SetGenericBinding(track, attacker);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myClips = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour myBehav = myClips.template;
                        myClips._actMgr.exposedName = System.Guid.NewGuid().ToString();//这种不会同一获得同一东西
                        playDir.SetReferenceValue(myClips._actMgr.exposedName, attacker);
                        //Debug.Log(myClips._actMgr.exposedName);
                    }
                }
                else if (track.name == "Lever Script")
                {
                    playDir.SetGenericBinding(track, victim);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myClips = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour myBehav = myClips.template;
                        myClips._actMgr.exposedName = System.Guid.NewGuid().ToString();
                        playDir.SetReferenceValue(myClips._actMgr.exposedName, victim);
                    }
                }
                else if (track.name == "Player Animation")
                {
                    playDir.SetGenericBinding(track, attacker.actCtrl.anim);
                    //Debug.Log(attacker.actCtrl.anim);
                }
                else if (track.name == "Lever Animation")
                {
                    playDir.SetGenericBinding(track, victim.actCtrl.anim);
                }
            }
            playDir.Evaluate();//在MySuperPlayableClip的类里,要加入物体数值的初始化,先前官方没有添加
            playDir.Play();
        }
    }
Ejemplo n.º 8
0
    public void PlayFrontStab(string timelineName, ActorManager attacker, ActorManager victim)
    {
        // if(pd.playableAsset != null)
        // {
        //     return;
        // }


        // if(pd.state == PlayState.Playing)
        // {
        //     return;
        // }


        if (timelineName == "frontStab")
        {
            pd.playableAsset = Instantiate(frontStab);

            TimelineAsset timeline = (TimelineAsset)pd.playableAsset;



            foreach (var track in timeline.GetOutputTracks())
            {
                if (track.name == "Attacker Script")
                {
                    pd.SetGenericBinding(track, attacker);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myclip  = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour mybehav = myclip.template;
                        myclip.am.exposedName = System.Guid.NewGuid().ToString();
                        pd.SetReferenceValue(myclip.am.exposedName, attacker);
                    }
                }
                else if (track.name == "Victim Script")
                {
                    pd.SetGenericBinding(track, victim);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myclip  = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour mybehav = myclip.template;
                        myclip.am.exposedName = System.Guid.NewGuid().ToString();
                        pd.SetReferenceValue(myclip.am.exposedName, victim);
                    }
                }
                else if (track.name == "Attacker Animation")
                {
                    pd.SetGenericBinding(track, attacker.ac.anim);
                }
                else if (track.name == "Victim Animation")
                {
                    pd.SetGenericBinding(track, victim.ac.anim);
                }
            }

            pd.Evaluate();
            pd.Play();
            // foreach (var trackBinding in pd.playableAsset.outputs)
            // {
            //     if (trackBinding.streamName == "Attacker Script")
            //     {
            //         pd.SetGenericBinding(trackBinding.sourceObject, attacker);
            //     }
            //     else if (trackBinding.streamName == "Victim Script")
            //     {
            //         pd.SetGenericBinding(trackBinding.sourceObject, victim);
            //     }
            //     else if (trackBinding.streamName == "Attacker Animation")
            //     {
            //         pd.SetGenericBinding(trackBinding.sourceObject, attacker.ac.anim);
            //     }
            //     else if (trackBinding.streamName == "Victim Animation")
            //     {
            //         pd.SetGenericBinding(trackBinding.sourceObject, victim.ac.anim);
            //     }
            // }
        }
        else if (timelineName == "openBox")
        {
            pd.playableAsset = Instantiate(openBox);

            TimelineAsset timeline = (TimelineAsset)pd.playableAsset;



            foreach (var track in timeline.GetOutputTracks())
            {
                if (track.name == "Player Script")
                {
                    pd.SetGenericBinding(track, attacker);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myclip  = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour mybehav = myclip.template;
                        myclip.am.exposedName = System.Guid.NewGuid().ToString();
                        pd.SetReferenceValue(myclip.am.exposedName, attacker);
                    }
                }
                else if (track.name == "Box Script")
                {
                    pd.SetGenericBinding(track, victim);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myclip  = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour 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 Script")
                {
                    pd.SetGenericBinding(track, attacker);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myclip  = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour mybehav = myclip.template;
                        myclip.am.exposedName = System.Guid.NewGuid().ToString();
                        pd.SetReferenceValue(myclip.am.exposedName, attacker);
                    }
                }
                else if (track.name == "Lever Script")
                {
                    pd.SetGenericBinding(track, victim);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myclip  = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour 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();
        }
    }
Ejemplo n.º 9
0
    public void PlayFrontStab(string timelineName, ActorManager attacker, ActorManager victim)
    {
        if (pd.state == PlayState.Playing)
        {
            return;
        }
        if (timelineName == "StabTimeline")
        {
            pd.playableAsset = frontStab;

            TimelineAsset timeline = (TimelineAsset)pd.playableAsset;
            foreach (var track in timeline.GetOutputTracks())
            {
                if (track.name == "Attacker Track")
                {
                    pd.SetGenericBinding(track, attacker);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myClip  = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour myBehav = myClip.template;
                        myClip.myAM.exposedName = System.Guid.NewGuid().ToString();
                        myBehav.myFloat         = 777;
                        pd.SetReferenceValue(myClip.myAM.exposedName, attacker);
                    }
                }
                else if (track.name == "Victim Track")
                {
                    pd.SetGenericBinding(track, victim);
                    foreach (var clip in track.GetClips())
                    {
                        MySuperPlayableClip      myClip  = (MySuperPlayableClip)clip.asset;
                        MySuperPlayableBehaviour myBehav = myClip.template;
                        myClip.myAM.exposedName = System.Guid.NewGuid().ToString();
                        myBehav.myFloat         = 888;
                        pd.SetReferenceValue(myClip.myAM.exposedName, victim);
                    }
                }
                else if (track.name == "Attacker Animation")
                {
                    pd.SetGenericBinding(track, attacker.ac.anim);
                }
                else if (track.name == "Victim Animation")
                {
                    pd.SetGenericBinding(track, victim.ac.anim);
                }
            }

            //foreach (var trackBinding in pd.playableAsset.outputs)
            //{
            //    if (trackBinding.streamName == "Attacker Track")
            //    {
            //        pd.SetGenericBinding(trackBinding.sourceObject, attacker);
            //    }
            //    else if (trackBinding.streamName == "Victim Track")
            //    {
            //        pd.SetGenericBinding(trackBinding.sourceObject, victim);
            //    }
            //    else if (trackBinding.streamName == "Attacker Animation")
            //    {
            //        pd.SetGenericBinding(trackBinding.sourceObject, attacker.ac.anim);
            //    }
            //    else if (trackBinding.streamName == "Victim Animation")
            //    {
            //        pd.SetGenericBinding(trackBinding.sourceObject, victim.ac.anim);
            //    }
            //}
            pd.Play();
        }
    }