public static void EnableFollow(bool enabled) { FollowTarget follow = Camera.main.GetComponent <FollowTarget>(); if (follow != null) { follow.followActive = enabled; } }
public void InitPlayback(string filePath) { gameplayRecording = ParseRecordingV2(filePath); //Hiding all the exisiting objects foreach (Transform child in transform) { if (child.GetComponent <Camera>() == null) { child.gameObject.SetActive(false); } else // spcial things to do for the camera and its child { FollowTarget follow = child.GetComponent <FollowTarget>(); if (follow != null) { follow.enabled = false; } foreach (Transform t in child) { t.gameObject.SetActive(false); } } } // Destroying all the spriteRenderers previously created for playback if (srPlayback != null) { foreach (SpriteRenderer sr in srPlayback) { Destroy(sr.gameObject); } } // We create as many sr as the frame that needs the most int spriteRenderersNeeded = 0; for (int i = 0; i < gameplayRecording.frames.Count; i++) { if (gameplayRecording.frames[i].spriteRenderers.Count > spriteRenderersNeeded) { spriteRenderersNeeded = gameplayRecording.frames[i].spriteRenderers.Count; } } srPlayback = new SpriteRenderer[spriteRenderersNeeded]; for (int i = 0; i < spriteRenderersNeeded; i++) { // Create a game object for each sprite renderer recorded GameObject go = new GameObject(i.ToString()); go.transform.SetParent(transform); srPlayback[i] = go.AddComponent <SpriteRenderer>(); srPlayback[i].gameObject.SetActive(false); } }