예제 #1
0
    public override Playable CreatePlayable(PlayableGraph graph, GameObject owner)
    {
        var playable = ScriptPlayable <CutsceneScriptControlBehaviour> .Create(graph, template);

        CutsceneScriptControlBehaviour clone = playable.GetBehaviour();

        clone.playerInput = playerInput.Resolve(graph.GetResolver());
        return(playable);
    }
    public override void ProcessFrame(Playable playable, FrameData info, object playerData)
    {
        int inputCount = playable.GetInputCount();

        for (int i = 0; i < inputCount; i++)
        {
            float inputWeight = playable.GetInputWeight(i);

            if (!Mathf.Approximately(inputWeight, 1f))
            {
                continue;
            }

            ScriptPlayable <CutsceneScriptControlBehaviour> inputPlayable = (ScriptPlayable <CutsceneScriptControlBehaviour>)playable.GetInput(i);
            CutsceneScriptControlBehaviour input = inputPlayable.GetBehaviour();

            input.playerInput.enabled = input.playerInputEnabled;
        }
    }