这是第一个 Unity 开放项目的repo,是 Unity 和社区合作创建的一个小型开源游戏演示,第一款游戏是一款名为 Chop Chop 的动作冒险游戏。
您最多选择25个主题 主题必须以中文或者字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

43 行
1.1 KiB

using UnityEngine;
using UnityEngine.Playables;
public class TimelineBinder : MonoBehaviour
{
[SerializeField] private PlayableDirector _playableDirector;
[SerializeField] private GameObject[] _objectsToBind;
public string[] objectsToBindTags;
public string[] trackNames;
[SerializeField] private TransformEventChannelSO _playerInstantiatedChannel = default;
private void OnEnable()
{
_playerInstantiatedChannel.OnEventRaised += BindObjects;
}
private void OnDisable()
{
_playerInstantiatedChannel.OnEventRaised -= BindObjects;
}
private void BindObjects(Transform playerTransform)
{
_objectsToBind = new GameObject[objectsToBindTags.Length];
for (int i = 0; i < objectsToBindTags.Length; ++i)
{
_objectsToBind[i] = GameObject.FindGameObjectWithTag(objectsToBindTags[i]);
}
foreach (var playableAssetOutput in _playableDirector.playableAsset.outputs)
{
for (int i = 0; i < objectsToBindTags.Length; ++i)
{
if (playableAssetOutput.streamName == trackNames[i])
{
_playableDirector.SetGenericBinding(playableAssetOutput.sourceObject, _objectsToBind[i]);
}
}
}
}
}