/// <summary> /// Update and Draw the inspector /// </summary> public override void OnInspectorGUI() { visualTrack.Update(); EditorGUILayout.Foldout(shotFoldout, "Shot List"); ShotTrack track = base.serializedObject.targetObject as ShotTrack; { var __array1 = track.TimelineItems; var __arrayLength1 = __array1.Length; for (int __i1 = 0; __i1 < __arrayLength1; ++__i1) { var shot = (CinemaShot)__array1[__i1]; { shot.name = EditorGUILayout.TextField(new GUIContent("Shot Name"), shot.name); EditorGUI.indentLevel++; shot.shotCamera = EditorGUILayout.ObjectField(new GUIContent("Camera"), shot.shotCamera, typeof(Camera), true) as Camera; shot.CutTime = EditorGUILayout.FloatField(new GUIContent("Cut Time"), shot.CutTime); shot.ShotLength = EditorGUILayout.FloatField(new GUIContent("Shot Length"), shot.ShotLength); EditorGUI.indentLevel--; } } } if (GUILayout.Button("Add New Shot")) { CutsceneItemFactory.CreateNewShot(track); } visualTrack.ApplyModifiedProperties(); }
/// <summary> /// Add a new track /// </summary> /// <param name="userData">TrackContextData for the track to be created.</param> private static void addTrack(object userData) { TrackContextData trackData = userData as TrackContextData; if (trackData != null) { GameObject item = CutsceneItemFactory.CreateTimelineTrack(trackData.TrackGroup, trackData.Type, trackData.Label).gameObject; Undo.RegisterCreatedObjectUndo(item, string.Format("Create {0}", item.name)); } }
/// <summary> /// Add a new track group to the current cutscene. /// </summary> /// <param name="userData">TrackGroupContextData containing track group label and type</param> private void AddTrackGroup(object userData) { TrackGroupContextData data = userData as TrackGroupContextData; if (data != null) { GameObject item = CutsceneItemFactory.CreateTrackGroup(cutscene, data.Type, data.Label).gameObject; Undo.RegisterCreatedObjectUndo(item, string.Format("Create {0}", item.name)); } }
private void addSubGroup(object userData) { TrackContextData trackData = userData as TrackContextData; if (trackData != null) { GameObject item = CutsceneItemFactory.CreateSubTrackGroup(trackData.TrackGroup, trackData.Type, trackData.Label).gameObject; this.isExpanded = true; Undo.RegisterCreatedObjectUndo(item, string.Format("Create {0}", item.name)); } }
private void handleDragInteraction(Rect position, AudioTrack track, Vector2 translation, Vector2 scale) { Rect controlBackground = new Rect(0, 0, position.width, position.height); switch (Event.current.type) { case EventType.DragUpdated: if (controlBackground.Contains(Event.current.mousePosition)) { bool audioFound = false; Object[] objRefs = DragAndDrop.objectReferences; for (int i = 0; i < objRefs.Length; i++) { AudioClip clip = objRefs[i] as AudioClip; if (clip != null) { audioFound = true; break; } } if (audioFound) { DragAndDrop.visualMode = DragAndDropVisualMode.Link; Event.current.Use(); } } break; case EventType.DragPerform: if (controlBackground.Contains(Event.current.mousePosition)) { AudioClip clip = null; Object[] objRefs = DragAndDrop.objectReferences; for (int i = 0; i < objRefs.Length; i++) { AudioClip audioClip = objRefs[i] as AudioClip; if (audioClip != null) { clip = audioClip; break; } } if (clip != null) { float fireTime = (Event.current.mousePosition.x - translation.x) / scale.x; CinemaAudio ca = CutsceneItemFactory.CreateCinemaAudio(track, clip, fireTime); Undo.RegisterCreatedObjectUndo(ca, string.Format("Created {0}", ca.name)); Event.current.Use(); } } break; } }
private void AddActorAction(object userData) { ContextData data = userData as ContextData; if (data != null) { string name = DirectorHelper.getCutsceneItemName(data.Label, data.Type); GameObject item = CutsceneItemFactory.CreateActorAction((TargetTrack.Behaviour as ActorItemTrack), data.Type, name, state.ScrubberPosition).gameObject; Undo.RegisterCreatedObjectUndo(item, string.Format("Created {0}", item.name)); } }
private void AddGlobalEvent(object userData) { TrackItemInfoContextData data = userData as TrackItemInfoContextData; if (data != null) { string name = DirectorHelper.getCutsceneItemName(data.Label, data.Type); float firetime = state.IsInPreviewMode ? state.ScrubberPosition : 0f; GameObject item = CutsceneItemFactory.CreateGlobalEvent((TargetTrack.Behaviour as GlobalItemTrack), data.Type, name, firetime).gameObject; Undo.RegisterCreatedObjectUndo(item, string.Format("Created {0}", item.name)); } }
/// <summary> /// Update and Draw the inspector /// </summary> public override void OnInspectorGUI() { curveTrack.Update(); foreach (CinemaActorClipCurve clip in (target as CurveTrack).TimelineItems) { EditorGUILayout.ObjectField(clip.name, clip, typeof(CinemaActorClipCurve), true); } if (GUILayout.Button(addClip)) { Undo.RegisterCreatedObjectUndo(CutsceneItemFactory.CreateActorClipCurve((target as CurveTrack)).gameObject, "Create Curve Clip"); } curveTrack.ApplyModifiedProperties(); }
/// <summary> /// Update and Draw the inspector /// </summary> public override void OnInspectorGUI() { curveTrack.Update(); TimelineItem[] items = (target as CurveTrack).TimelineItems; for (int i = 0; i < items.Length; i++) { CinemaActorClipCurve clip = items[i] as CinemaActorClipCurve; EditorGUILayout.ObjectField(clip.name, clip, typeof(CinemaActorClipCurve), true); } if (GUILayout.Button(addClip)) { Undo.RegisterCreatedObjectUndo(CutsceneItemFactory.CreateActorClipCurve((target as CurveTrack)).gameObject, "Create Curve Clip"); } curveTrack.ApplyModifiedProperties(); }
private void addCutsceneItem(object userData) { ContextData data = userData as ContextData; if (data != null) { if (data.PairedType == null) { GameObject item = CutsceneItemFactory.CreateCutsceneItem(data.Track, data.Type, data.Label, data.Firetime).gameObject; Undo.RegisterCreatedObjectUndo(item, string.Format("Create {0}", item.name)); } else { showObjectPicker(data); } } }
/// <summary> /// Update and Draw the inspector /// </summary> public override void OnInspectorGUI() { curveTrack.Update(); { var __array1 = (target as MultiCurveTrack).TimelineItems; var __arrayLength1 = __array1.Length; for (int __i1 = 0; __i1 < __arrayLength1; ++__i1) { var clip = (CinemaMultiActorCurveClip)__array1[__i1]; { EditorGUILayout.ObjectField(clip.name, clip, typeof(CinemaMultiActorCurveClip), true); } } } if (GUILayout.Button(addClip)) { Undo.RegisterCreatedObjectUndo(CutsceneItemFactory.CreateMultiActorClipCurve((target as MultiCurveTrack)).gameObject, "Create Curve Clip"); } curveTrack.ApplyModifiedProperties(); }
void directorControl_DragPerformed(object sender, CinemaDirectorDragArgs e) { Cutscene c = e.cutscene as Cutscene; if (c != null) { if (e.references != null) { if (e.references.Length == 1) { GameObject gameObject = e.references[0] as GameObject; if (gameObject != null) { ActorTrackGroup atg = CutsceneItemFactory.CreateTrackGroup(c, typeof(ActorTrackGroup), string.Format("{0} Track Group", gameObject.name)) as ActorTrackGroup; atg.Actor = gameObject.GetComponent <Transform>(); Undo.RegisterCreatedObjectUndo(atg.gameObject, string.Format("Created {0}", atg.gameObject.name)); } } } } }
/// <summary> /// Update and Draw the inspector /// </summary> public override void OnInspectorGUI() { visualTrack.Update(); EditorGUILayout.Foldout(shotFoldout, "Shot List"); ShotTrack track = base.serializedObject.targetObject as ShotTrack; TimelineItem[] items = track.TimelineItems; for (int i = 0; i < items.Length; i++) { CinemaGlobalAction shot = items[i] as CinemaGlobalAction; shot.name = EditorGUILayout.TextField(new GUIContent("Shot Name"), shot.name); EditorGUI.indentLevel++; // Check if it is an actor event. CinemaShot cinemaShot = shot as CinemaShot; if (cinemaShot != null) { cinemaShot.shotCamera = EditorGUILayout.ObjectField(new GUIContent("Camera"), cinemaShot.shotCamera, typeof(Camera), true) as Camera; } else { // Display something for non-default shots } shot.Firetime = EditorGUILayout.FloatField(new GUIContent("Cut Time"), shot.Firetime); shot.Duration = EditorGUILayout.FloatField(new GUIContent("Shot Length"), shot.Duration); EditorGUI.indentLevel--; } if (GUILayout.Button("Add New Shot")) { CutsceneItemFactory.CreateNewShot(track); } visualTrack.ApplyModifiedProperties(); }
protected override void updateHeaderControl3(UnityEngine.Rect position) { AudioTrack track = TargetTrack.Behaviour as AudioTrack; if (track == null) { return; } Color temp = GUI.color; GUI.color = (track.AudioClips.Length > 0) ? Color.green : Color.red; int controlID = GUIUtility.GetControlID(track.GetInstanceID(), FocusType.Passive, position); if (GUI.Button(position, string.Empty, TrackGroupControl.styles.addIcon)) { EditorGUIUtility.ShowObjectPicker <AudioClip>(null, false, string.Empty, controlID); } if (Event.current.type == EventType.ExecuteCommand && Event.current.commandName == "ObjectSelectorClosed") { if (EditorGUIUtility.GetObjectPickerControlID() == controlID) { Object pickedObject = EditorGUIUtility.GetObjectPickerObject(); AudioClip clip = (pickedObject as AudioClip); if (clip != null) { CinemaAudio ca = CutsceneItemFactory.CreateCinemaAudio(track, clip, state.ScrubberPosition); Undo.RegisterCreatedObjectUndo(ca, string.Format("Created {0}", ca.name)); } Event.current.Use(); } } GUI.color = temp; }
/// <summary> /// Update and Draw the inspector /// </summary> public override void OnInspectorGUI() { visualTrack.Update(); EditorGUILayout.Foldout(shotFoldout, "Shot List"); ShotTrack track = base.serializedObject.targetObject as ShotTrack; foreach (CinemaShot shot in track.Shots) { shot.name = EditorGUILayout.TextField(new GUIContent("Shot Name"), shot.name); EditorGUI.indentLevel++; shot.shotCamera = EditorGUILayout.ObjectField(new GUIContent("Camera"), shot.shotCamera, typeof(Camera), true) as Camera; shot.CutTime = EditorGUILayout.FloatField(new GUIContent("Cut Time"), shot.CutTime); shot.ShotLength = EditorGUILayout.FloatField(new GUIContent("Shot Length"), shot.ShotLength); EditorGUI.indentLevel--; } if (GUILayout.Button("Add New Shot")) { CutsceneItemFactory.CreateNewShot(track); } visualTrack.ApplyModifiedProperties(); }
/// <summary> /// Add an empty multi actor group to the current cutscene. /// </summary> private void addMultiActorGroup() { Undo.RegisterCreatedObjectUndo(CutsceneItemFactory.CreateMultiActorTrackGroup(cutscene).gameObject, "Create Multi-Actor Group"); }
private void addNewShot(ShotTrack shotTrack) { GameObject shot = CutsceneItemFactory.CreateNewShot(shotTrack).gameObject; Undo.RegisterCreatedObjectUndo(shot, string.Format("Create {0}", shot.name)); }
private void addNewCurveItem(CurveTrack track) { Undo.RegisterCreatedObjectUndo(CutsceneItemFactory.CreateActorClipCurve(track), "Created Actor Clip Curve"); }
/// <summary> /// Add a director group to the current cutscene. /// </summary> private void addDirectorGroup() { Undo.RegisterCreatedObjectUndo(CutsceneItemFactory.CreateDirectorGroup(cutscene).gameObject, "Create Director Group"); }
private void addShotTrack() { DirectorGroup dg = TrackGroup.Behaviour as DirectorGroup; Undo.RegisterCreatedObjectUndo(CutsceneItemFactory.CreateShotTrack(dg), "Create Shot Track"); }
internal void addGlobalItemTrack() { DirectorGroup directorGroup = base.serializedObject.targetObject as DirectorGroup; Undo.RegisterCreatedObjectUndo(CutsceneItemFactory.CreateGlobalItemTrack(directorGroup), "Create Global Track"); }
private void addEventTrack() { MultiActorTrackGroup actorTrackGroup = base.serializedObject.targetObject as MultiActorTrackGroup; Undo.RegisterCreatedObjectUndo(CutsceneItemFactory.CreateActorItemTrack(actorTrackGroup).gameObject, "Create Actor Track"); }
public static void CreateCutscene(List <Sequence.FrameInfo> Frames, float DurationPerFrame) { string cutsceneName = DirectorHelper.getCutsceneItemName("New Cutscene", typeof(Cutscene)); GameObject cutsceneGO = new GameObject(cutsceneName); Cutscene cutscene = cutsceneGO.AddComponent <Cutscene>(); GameObject framesGO = new GameObject("Frames"); framesGO.transform.SetParent(cutsceneGO.transform); GameObject triggersGO = new GameObject("Triggers"); triggersGO.transform.SetParent(cutsceneGO.transform); List <Transform> frameTransforms = new List <Transform>(); float time = 0; for (int i = 0; i < Frames.Count; i++) { if (Frames[i].m_Source == null) { time += DurationPerFrame * Frames[i].Duration; continue; } var frameGO = GameObject.Instantiate(Frames[i].m_Source) as GameObject; frameGO.name = Frames[i].m_Source.name; frameGO.transform.SetParent(framesGO.transform); frameGO.transform.localPosition = Vector3.zero; frameGO.transform.localEulerAngles = Vector3.zero; frameGO.transform.localScale = Vector3.one; frameGO.SetActive(false); frameTransforms.Add(frameGO.transform); var group = CutsceneItemFactory.CreateActorTrackGroup(cutscene, frameGO.transform) as ActorTrackGroup; group.transform.SetParent(triggersGO.transform); var track = CutsceneItemFactory.CreateActorItemTrack(group); var action = CutsceneItemFactory.CreateActorAction(track, typeof(EnableGameObjectAction), "Temporary Enable", time) as EnableGameObjectAction; action.Firetime = time; action.Duration = DurationPerFrame * Frames[i].Duration; time += action.Duration; CutsceneItemFactory.CreateActorEvent(track, typeof(DisableGameObject), "Disable", 0); } cutscene.Duration = time; cutscene.IsLooping = true; cutscene.IsSkippable = false; // Cutscene trigger GameObject cutsceneTriggerGO = new GameObject("Cutscene Trigger"); cutsceneTriggerGO.transform.SetParent(cutsceneGO.transform); CutsceneTrigger cutsceneTrigger = cutsceneTriggerGO.AddComponent <CutsceneTrigger>(); cutsceneTrigger.StartMethod = StartMethod.OnStart; cutsceneTrigger.Cutscene = cutscene; int undoIndex = Undo.GetCurrentGroup(); Undo.RegisterCreatedObjectUndo(cutsceneGO, "Created New Cutscene"); Undo.CollapseUndoOperations(undoIndex); Selection.activeTransform = cutsceneGO.transform; // Open director DirectorWindow window = EditorWindow.GetWindow(typeof(DirectorWindow)) as DirectorWindow; window.FocusCutscene(cutscene); }
/// <summary> /// Draws the Director GUI /// </summary> protected void OnGUI() { scrollPosition = EditorGUILayout.BeginScrollView(scrollPosition); { txtCutsceneName = EditorGUILayout.TextField(NameContentCutscene, txtCutsceneName); EditorGUILayout.BeginHorizontal(); txtDuration = EditorGUILayout.FloatField(DurationContentCutscene, txtDuration); timeEnum = (DirectorHelper.TimeEnum)EditorGUILayout.EnumPopup(timeEnum); EditorGUILayout.EndHorizontal(); isLooping = EditorGUILayout.Toggle(LoopingContentCutscene, isLooping); isSkippable = EditorGUILayout.Toggle(SkippableContentCutscene, isSkippable); StartMethod = (StartMethod)EditorGUILayout.EnumPopup(new GUIContent("开始方法"), StartMethod); EditorGUILayout.Space(); EditorGUILayout.LabelField("轨道组", EditorStyles.boldLabel); // Director Group directorTrackGroupsSelection = EditorGUILayout.Popup(AddDirectorGroupContent, directorTrackGroupsSelection, intValues1.ToArray()); if (directorTrackGroupsSelection > 0) { EditorGUI.indentLevel++; // Shot Tracks shotTrackSelection = EditorGUILayout.Popup(AddShotTracksContent, shotTrackSelection, intValues1.ToArray()); // Audio Tracks audioTrackSelection = EditorGUILayout.Popup(AddAudioTracksContent, audioTrackSelection, intValues4.ToArray()); // Global Item Tracks globalItemTrackSelection = EditorGUILayout.Popup(AddGlobalTracksContent, globalItemTrackSelection, intValues10.ToArray()); EditorGUI.indentLevel--; } EditorGUILayout.Space(); // Actor Track Groups int actorCount = EditorGUILayout.Popup(new GUIContent("主角轨道群组"), actorTrackGroupsSelection, intValues10.ToArray()); if (actorCount != actorTrackGroupsSelection) { actorTrackGroupsSelection = actorCount; Transform[] tempActors = new Transform[actors.Length]; Array.Copy(actors, tempActors, actors.Length); actors = new Transform[actorCount]; int amount = Math.Min(actorCount, tempActors.Length); Array.Copy(tempActors, actors, amount); } EditorGUI.indentLevel++; for (int i = 1; i <= actorTrackGroupsSelection; i++) { actors[i - 1] = EditorGUILayout.ObjectField(new GUIContent(string.Format("主角 {0}", i)), actors[i - 1], typeof(Transform), true) as Transform; } EditorGUI.indentLevel--; EditorGUILayout.Space(); // Multi Actor Track Groups multiActorTrackGroupsSelection = EditorGUILayout.Popup(new GUIContent("多主角轨道群组"), multiActorTrackGroupsSelection, intValues10.ToArray()); EditorGUI.indentLevel++; EditorGUI.indentLevel--; Add(ref characters, ref characterTrackGroupsSelection, "ActorTrackGroups"); for (int i = 1; i <= characterTrackGroupsSelection; i++) { characters[i - 1] = EditorGUILayout.ObjectField(new GUIContent(string.Format("角色 {0}", i)), characters[i - 1], typeof(Transform), true) as Transform; } EditorGUI.indentLevel--; } EditorGUILayout.EndScrollView(); EditorGUILayout.BeginHorizontal(); { if (GUILayout.Button("I'm Feeling Lucky")) { List <Transform> interestingActors = UnitySceneEvaluator.GetHighestRankedGameObjects(10); actorTrackGroupsSelection = interestingActors.Count; actors = interestingActors.ToArray(); } if (GUILayout.Button("创建剧情")) { string cutsceneName = DirectorHelper.getCutsceneItemName(txtCutsceneName, typeof(Cutscene)); GameObject cutsceneGO = new GameObject(cutsceneName); Cutscene cutscene = cutsceneGO.AddComponent <Cutscene>(); for (int i = 0; i < directorTrackGroupsSelection; i++) { DirectorGroup dg = CutsceneItemFactory.CreateDirectorGroup(cutscene); dg.Ordinal = 0; for (int j = 0; j < shotTrackSelection; j++) { CutsceneItemFactory.CreateShotTrack(dg); } for (int j = 0; j < audioTrackSelection; j++) { CutsceneItemFactory.CreateAudioTrack(dg); } for (int j = 0; j < globalItemTrackSelection; j++) { CutsceneItemFactory.CreateGlobalItemTrack(dg); } } for (int i = 0; i < actorTrackGroupsSelection; i++) { CutsceneItemFactory.CreateActorTrackGroup(cutscene, actors[i]); } for (int i = 0; i < multiActorTrackGroupsSelection; i++) { CutsceneItemFactory.CreateMultiActorTrackGroup(cutscene); } for (int i = 0; i < characterTrackGroupsSelection; i++) { CutsceneItemFactory.CreateCharacterTrackGroup(cutscene, characters[i]); } float duration = txtDuration; if (timeEnum == DirectorHelper.TimeEnum.Minutes) { duration *= 60; } cutscene.Duration = duration; int undoIndex = Undo.GetCurrentGroup(); if (StartMethod != StartMethod.None) { GameObject cutsceneTriggerGO = new GameObject("Cutscene Trigger"); CutsceneTrigger cutsceneTrigger = cutsceneTriggerGO.AddComponent <CutsceneTrigger>(); if (StartMethod == StartMethod.OnTrigger) { cutsceneTriggerGO.AddComponent <BoxCollider>(); } cutsceneTrigger.StartMethod = StartMethod; cutsceneTrigger.Cutscene = cutscene; Undo.RegisterCreatedObjectUndo(cutsceneTriggerGO, string.Format("Created {0}", txtCutsceneName)); } Undo.RegisterCreatedObjectUndo(cutsceneGO, string.Format("Created {0}", txtCutsceneName)); Undo.CollapseUndoOperations(undoIndex); Selection.activeTransform = cutsceneGO.transform; } } EditorGUILayout.EndHorizontal(); }
internal void addCurveTrack() { ActorTrackGroup actorTrackGroup = base.serializedObject.targetObject as ActorTrackGroup; Undo.RegisterCreatedObjectUndo(CutsceneItemFactory.CreateCurveTrack(actorTrackGroup).gameObject, "Create Curve Track"); }
private void handleDragInteraction(Rect position, AudioTrack track, Vector2 translation, Vector2 scale) { Rect controlBackground = new Rect(0, 0, position.width, position.height); switch (Event.current.type) { case EventType.DragUpdated: if (controlBackground.Contains(Event.current.mousePosition)) { bool audioFound = false; { // foreach(var objectReference in DragAndDrop.objectReferences) var __enumerator1 = (DragAndDrop.objectReferences).GetEnumerator(); while (__enumerator1.MoveNext()) { var objectReference = (Object)__enumerator1.Current; { AudioClip clip = objectReference as AudioClip; if (clip != null) { audioFound = true; break; } } } } if (audioFound) { DragAndDrop.visualMode = DragAndDropVisualMode.Link; Event.current.Use(); } } break; case EventType.DragPerform: if (controlBackground.Contains(Event.current.mousePosition)) { AudioClip clip = null; { // foreach(var objectReference in DragAndDrop.objectReferences) var __enumerator2 = (DragAndDrop.objectReferences).GetEnumerator(); while (__enumerator2.MoveNext()) { var objectReference = (Object)__enumerator2.Current; { AudioClip audioClip = objectReference as AudioClip; if (audioClip != null) { clip = audioClip; break; } } } } if (clip != null) { float fireTime = (Event.current.mousePosition.x - translation.x) / scale.x; CinemaAudio ca = CutsceneItemFactory.CreateCinemaAudio(track, clip, fireTime); Undo.RegisterCreatedObjectUndo(ca, string.Format("Created {0}", ca.name)); Event.current.Use(); } } break; } }
public Cutscene CreateCutscene() { string cutsceneName = DirectorHelper.getCutsceneItemName(txtCutsceneName, typeof(Cutscene)); GameObject cutsceneGO = new GameObject(cutsceneName); Cutscene cutscene = cutsceneGO.AddComponent <Cutscene>(); for (int i = 0; i < directorTrackGroupsSelection; i++) { DirectorGroup dg = CutsceneItemFactory.CreateDirectorGroup(cutscene); dg.Ordinal = 0; for (int j = 0; j < shotTrackSelection; j++) { CutsceneItemFactory.CreateShotTrack(dg); } for (int j = 0; j < audioTrackSelection; j++) { CutsceneItemFactory.CreateAudioTrack(dg); } for (int j = 0; j < globalItemTrackSelection; j++) { CutsceneItemFactory.CreateGlobalItemTrack(dg); } } for (int i = 0; i < actorTrackGroupsSelection; i++) { CutsceneItemFactory.CreateActorTrackGroup(cutscene, actors[i]); } for (int i = 0; i < multiActorTrackGroupsSelection; i++) { CutsceneItemFactory.CreateMultiActorTrackGroup(cutscene); } for (int i = 0; i < characterTrackGroupsSelection; i++) { CutsceneItemFactory.CreateCharacterTrackGroup(cutscene, characters[i]); } float duration = txtDuration; if (timeEnum == DirectorHelper.TimeEnum.Minutes) { duration *= 60; } cutscene.Duration = duration; cutscene.IsLooping = isLooping; cutscene.IsSkippable = isSkippable; int undoIndex = Undo.GetCurrentGroup(); if (StartMethod != StartMethod.None) { CreateCutsceneTrigger(cutscene); } Undo.RegisterCreatedObjectUndo(cutsceneGO, string.Format("Created {0}", txtCutsceneName)); Undo.CollapseUndoOperations(undoIndex); Selection.activeTransform = cutsceneGO.transform; return(cutscene); }
private void addCurveTrack() { ActorTrackGroup atg = TrackGroup.Behaviour as ActorTrackGroup; Undo.RegisterCreatedObjectUndo(CutsceneItemFactory.CreateCurveTrack(atg).gameObject, "Create Curve Track"); }
private void addCutsceneItem(ContextData data, UnityEngine.Object pickedObject) { GameObject item = CutsceneItemFactory.CreateCutsceneItem(data.Track, data.Type, data.Label, pickedObject, data.Firetime).gameObject; Undo.RegisterCreatedObjectUndo(item, string.Format("Create {0}", item.name)); }
private void addActorTrack() { MultiActorTrackGroup matg = TrackGroup.Behaviour as MultiActorTrackGroup; Undo.RegisterCreatedObjectUndo(CutsceneItemFactory.CreateActorItemTrack(matg).gameObject, "Create Actor Track"); }