private static List <UnityEngine.Object> CollectUsedAssetsForObjectPath(USTimelineObjectPath timelineObjectPath) { var usedAssets = new List <UnityEngine.Object>(); foreach (var splineKeyframe in timelineObjectPath.Keyframes) { usedAssets.Add(splineKeyframe); } return(usedAssets); }
public static void ProcessObjectPathTimeline(USTimelineObjectPath objectPathTimeline) { var keyframes = new List <SplineKeyframe>(); foreach (var keyframe in objectPathTimeline.Keyframes) { keyframes.Add(Instantiate(keyframe) as SplineKeyframe); } objectPathTimeline.SetKeyframes(keyframes); }
private void Start() { USTimelineContainer[] array = this.TimelineContainers; for (int i = 0; i < array.Length; i++) { USTimelineContainer uSTimelineContainer = array[i]; if (uSTimelineContainer) { USTimelineBase[] timelines = uSTimelineContainer.Timelines; for (int j = 0; j < timelines.Length; j++) { USTimelineBase uSTimelineBase = timelines[j]; USTimelineEvent uSTimelineEvent = uSTimelineBase as USTimelineEvent; if (uSTimelineEvent) { USEventBase[] events = uSTimelineEvent.Events; for (int k = 0; k < events.Length; k++) { USEventBase uSEventBase = events[k]; uSEventBase.FixupAdditionalObjects(); } } USTimelineObserver uSTimelineObserver = uSTimelineBase as USTimelineObserver; if (uSTimelineObserver) { foreach (USObserverKeyframe current in uSTimelineObserver.observerKeyframes) { if (!(current.cameraPath == string.Empty)) { GameObject gameObject = GameObject.Find(current.cameraPath); if (gameObject) { Camera component = gameObject.GetComponent <Camera>(); if (component) { current.KeyframeCamera = component; } } } } } USTimelineObjectPath uSTimelineObjectPath = uSTimelineBase as USTimelineObjectPath; if (uSTimelineObjectPath) { uSTimelineObjectPath.FixupAdditionalObjects(); } } } } }
private static void HandlePrefabRecordObjectPath(USTimelineObjectPath timelineObjectPath, string relativeScriptableObjectPath) { EditorUtility.SetDirty(timelineObjectPath); timelineObjectPath.RecordAdditionalObjects(); foreach (var splineKeyframe in timelineObjectPath.Keyframes) { if (!AssetDatabase.Contains(splineKeyframe.GetInstanceID())) { var assetName = AssetDatabase.GenerateUniqueAssetPath(string.Format("{0}/{1}.asset", relativeScriptableObjectPath, splineKeyframe.GetInstanceID())); AssetDatabase.CreateAsset(splineKeyframe, assetName); } EditorUtility.SetDirty(splineKeyframe); } }